New to pyMPI and python. Am trying to install pyMPI on a Linux system. The configure step went without a hitch, as far as I can tell. Make died, giving several errors in the compilation of pyMPI_util.c. First among them and, I suspect, the root error was:
"numpy/arrayobject.h" No such file or directory
I do have numpy installed. make went through several C codes before it finally crashed on this one, so it seems my path names are *generally* OK, though somehow insuffucient for this one piece of code.
Any ideas? Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Much obliged! You help me make it through compiling. And now there's linking. I have an object that is multiply defined, apparently:_
$ make
make all-am
make: Entering directory `/home/scable/epdfree/pyMPI-2.5b0'
/opt/openmpiPGI/bin/mpicc -g -O2 -g -O2 -o pyMPI pyMPI.o -L. libpyMPI.a -lm -L/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config -lpython2.7 -g -Xlinker -export-dynamic -lpthread -ldl -lutil
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(getversion.o): In function `Py_GetVersion':
/home/builder/work/Python-2.7.3/Python/getversion.c:62: multiple definition of `Py_GetVersion'
libpyMPI.a(pyMPI_sysmods.o):/home/scable/epdfree/pyMPI-2.5b0/pyMPI_sysmods.c:60: first defined _here
My first thought was to double-check that my epdfree distribution had a Py_GetVersion with the same functionality as the pyMPI Py_GetVersion, then, if that checked out, comment Py_GetVersion out of the pyMPI source code. Dangerous I guess, but no matter because it didn't check out. My python dist references Py_GetVersion, but I can't see that it defines it anywhere. So now I'm stuck. Any ideas would be much appreciated.
I also get some warnings:_
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tmpnam':
/home/builder/work/Python-2.7.3/./Modules/posixmodule.c:7432: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tempnam':
/home/builder/work/Python-2.7.3/./Modules/posixmodule.c:7379: warning: the use of `tempnam' is dangerous, better use `mkstemp'
collect2: ld returned 1 exit status
make: *** Error 1
make: Leaving directory `/home/scable/epdfree/pyMPI-2.5b0'
make: *** Error 2_
Will these cause problems? Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
New to pyMPI and python. Am trying to install pyMPI on a Linux system. The configure step went without a hitch, as far as I can tell. Make died, giving several errors in the compilation of pyMPI_util.c. First among them and, I suspect, the root error was:
"numpy/arrayobject.h" No such file or directory
I do have numpy installed. make went through several C codes before it finally crashed on this one, so it seems my path names are *generally* OK, though somehow insuffucient for this one piece of code.
Any ideas? Thanks.
check the -I flags in the compile line that dies. should show where numpy is installed
some rpm installations do not include the headers, so you may need an optional package to get those
Pat
Much obliged! You help me make it through compiling. And now there's linking. I have an object that is multiply defined, apparently:_
$ make
make all-am
make: Entering directory `/home/scable/epdfree/pyMPI-2.5b0'
/opt/openmpiPGI/bin/mpicc -g -O2 -g -O2 -o pyMPI pyMPI.o -L. libpyMPI.a -lm -L/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config -lpython2.7 -g -Xlinker -export-dynamic -lpthread -ldl -lutil
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(getversion.o): In function `Py_GetVersion':
/home/builder/work/Python-2.7.3/Python/getversion.c:62: multiple definition of `Py_GetVersion'
libpyMPI.a(pyMPI_sysmods.o):/home/scable/epdfree/pyMPI-2.5b0/pyMPI_sysmods.c:60: first defined _here
My first thought was to double-check that my epdfree distribution had a Py_GetVersion with the same functionality as the pyMPI Py_GetVersion, then, if that checked out, comment Py_GetVersion out of the pyMPI source code. Dangerous I guess, but no matter because it didn't check out. My python dist references Py_GetVersion, but I can't see that it defines it anywhere. So now I'm stuck. Any ideas would be much appreciated.
I also get some warnings:_
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tmpnam':
/home/builder/work/Python-2.7.3/./Modules/posixmodule.c:7432: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/home/scable/epdfree/epd_free-7.3-1-rh5-x86_64/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tempnam':
/home/builder/work/Python-2.7.3/./Modules/posixmodule.c:7379: warning: the use of `tempnam' is dangerous, better use `mkstemp'
collect2: ld returned 1 exit status
make: *** Error 1
make: Leaving directory `/home/scable/epdfree/pyMPI-2.5b0'
make: *** Error 2_
Will these cause problems? Thanks!
don't worry too much about the tempnam waarnings… you get them building Python too.
feel free to comment out the py_getversion. I think it was a temporary fix anyway