Date: Mon, 9 Nov 2009 20:26:15 +0000 From: "b. f." <bf1783@googlemail.com> To: Scott Bennett <bennett@cs.niu.edu> Cc: maho@freebsd.org, freebsd-questions@freebsd.org Subject: Re: math/py-numpy vs. math/atlas-devel Message-ID: <d873d5be0911091226x206ea98cxb3c65c456183d10c@mail.gmail.com> In-Reply-To: <200911091037.nA9Abq9b021278@mp.cs.niu.edu> References: <200911091037.nA9Abq9b021278@mp.cs.niu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/9/09, Scott Bennett <bennett@cs.niu.edu> wrote: > On Sun, 08 Nov 2009 23:59:29 -0800 Doug Barton <dougb@FreeBSD.org> > wrote: ... > Anyway, the math/py-numpy port now proceeds to build without bothering > with math/atlas. It quickly goes astray when it doesn't recognize that any > of gfortran4[345] has been installed--I guess there no longer is a FORTRAN > compiler included in the base system--and instead tries to use lang/g95, > which has also been installed. Of course, this won't work because the ATLAS > library needs to have been compiled with the same compiler as the programs > that use it. > > ===> Configuring for py26-numpy-1.3.0_2,1 > Running from numpy source directory. > [39mF2PY Version 2 [0m > [39mblas_opt_info: [0m > [39mblas_mkl_info: [0m > [39m libraries mkl,vml,guide not found in /usr/lib [0m > [39m libraries mkl,vml,guide not found in /usr/local/lib [0m > [39m libraries mkl,vml,guide not found in > /usr/local/lib/gcc44/gcc/i386-portbld-freebsd7.2/4.4.3/../../../ [0m > [39m NOT AVAILABLE [0m > [39m [0m > [39matlas_blas_threads_info: [0m > [39mSetting PTATLAS=ATLAS [0m > [39mSetting PTATLAS=ATLAS [0m > [39mSetting PTATLAS=ATLAS [0m > [39m FOUND: [0m > [39m libraries = ['alapack_r', 'f77blas_r', 'cblas_r', 'atlas_r'] [0m > [39m library_dirs = ['/usr/local/lib'] [0m > [39m language = c [0m > [39m include_dirs = ['/usr/local/include'] [0m > [39m [0m > /usr/ports/math/py-numpy/work/numpy-1.3.0/numpy/distutils/command/config.py:361: > DeprecationWarning: > +++++++++++++++++++++++++++++++++++++++++++++++++ > Usage of get_output is deprecated: please do not > use it anymore, and avoid configuration checks > involving running executable on the target machine. > +++++++++++++++++++++++++++++++++++++++++++++++++ > > DeprecationWarning) > [39mcustomize GnuFCompiler [0m > [32mFound executable /usr/local/bin/gfortran44 [0m > [31mgnu: no Fortran 90 compiler found [0m > [31mgnu: no Fortran 90 compiler found [0m > [39mcustomize Gnu95FCompiler [0m > [39mcustomize Gnu95FCompiler [0m > [39mcustomize Gnu95FCompiler using config [0m > compiling '_configtest.c': > > /* This file is generated from numpy/distutils/system_info.py */ > void ATL_buildinfo(void); > int main(void) { > ATL_buildinfo(); > return 0; > } > [39mC compiler: gcc44 -DNDEBUG -O2 -fno-strict-aliasing -pipe > -march=prescott -D__wchar_t=wchar_t -DTHREAD_STACK_SIZE=0x100000 -O2 > -fno-strict-aliasing -pipe -march=prescott -Wl,-rpath=/usr/local/lib/gcc44 > -fPIC > [0m > [39mcompile options: '-c' [0m > [39mgcc44: _configtest.c [0m > [39mgcc44 _configtest.o -L/usr/local/lib -lalapack_r -lf77blas_r -lcblas_r > -latlas_r -o _configtest [0m > /usr/bin/ld: _configtest: hidden symbol `__powisf2' in > /usr/local/lib/gcc44/gcc/i386-portbld-freebsd7.2/4.4.3/libgcc.a(_powisf2.o) > is referenced by DSO > collect2: ld returned 1 exit status > /usr/bin/ld: _configtest: hidden symbol `__powisf2' in > /usr/local/lib/gcc44/gcc/i386-portbld-freebsd7.2/4.4.3/libgcc.a(_powisf2.o) > is referenced by DSO > collect2: ld returned 1 exit status > [39mfailure. [0m > [39mremoving: _configtest.c _configtest.o [0m > [39mStatus: 255 [0m > [39mOutput: [0m > [39m FOUND: [0m > [39m libraries = ['alapack_r', 'f77blas_r', 'cblas_r', 'atlas_r'] [0m > [39m library_dirs = ['/usr/local/lib'] [0m > [39m language = c [0m > [39m define_macros = [('NO_ATLAS_INFO', 2)] [0m > [39m include_dirs = ['/usr/local/include'] [0m > [39m [0m > [39mlapack_opt_info: [0m > [39mlapack_mkl_info: [0m > [39mmkl_info: [0m > [39m libraries mkl,vml,guide not found in /usr/lib [0m > [39m libraries mkl,vml,guide not found in /usr/local/lib [0m > [39m libraries mkl,vml,guide not found in > /usr/local/lib/gcc44/gcc/i386-portbld-freebsd7.2/4.4.3/../../../ [0m > [39m NOT AVAILABLE [0m > [39m [0m > [39m NOT AVAILABLE [0m > [39m [0m > [39matlas_threads_info: [0m > [39mSetting PTATLAS=ATLAS [0m > [39m libraries lapack_atlas not found in /usr/local/lib [0m > [39mnumpy.distutils.system_info.atlas_threads_info [0m > [39mSetting PTATLAS=ATLAS [0m > /usr/ports/math/py-numpy/work/numpy-1.3.0/numpy/distutils/system_info.py:999: > UserWarning: > ********************************************************************* > Lapack library (from ATLAS) is probably incomplete: > size of /usr/local/lib/libalapack_r.so is 3832k (expected >4000k) > > Follow the instructions in the KNOWN PROBLEMS section of the file > numpy/INSTALL.txt. > ********************************************************************* > > warnings.warn(message) > > > The above sequence gets more or less repeated several more times, and > after much compiling, running of python26, and other activities, the > process runs aground as follows. > > > [39mcreating build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/fft [0m > [39mcompile options: '-Inumpy/core/include > -Ibuild/src.freebsd-7.2-STABLE-i386-2.6/numpy/core/include/numpy > -Inumpy/core/src -Inumpy/core/include -I/usr/local/include/python2.6 -c' [0m > [39mgcc44: numpy/fft/fftpack_litemodule.c [0m > [39mgcc44: numpy/fft/fftpack.c [0m > [39mcc -shared -pthread -O2 -fno-strict-aliasing -pipe -march=prescott > -Wl,-rpath=/usr/local/lib/gcc44 > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/fft/fftpack_litemodule.o > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/fft/fftpack.o > -Lbuild/temp.freebsd-7.2-STABLE-i386-2.6 -o > build/lib.freebsd-7.2-STABLE-i386-2.6/numpy/fft/fftpack_lite.so [0m > [39mbuilding 'numpy.linalg.lapack_lite' extension [0m > [39mcompiling C sources [0m > [39mC compiler: gcc44 -DNDEBUG -O2 -fno-strict-aliasing -pipe > -march=prescott -D__wchar_t=wchar_t -DTHREAD_STACK_SIZE=0x100000 -O2 > -fno-strict-aliasing -pipe -march=prescott -Wl,-rpath=/usr/local/lib/gcc44 > -fPIC > [0m > [39mcreating build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/linalg [0m > [39mcompile options: '-DATLAS_INFO="\"3.9.11\"" -I/usr/local/include > -Inumpy/core/include > -Ibuild/src.freebsd-7.2-STABLE-i386-2.6/numpy/core/include/numpy > -Inumpy/core/src -Inumpy/core/include -I/usr/local/include/python2.6 -c' [0m > [39mgcc44: numpy/linalg/lapack_litemodule.c [0m > [39mgcc44: numpy/linalg/python_xerbla.c [0m > [39mcc -shared -pthread -O2 -fno-strict-aliasing -pipe -march=prescott > -Wl,-rpath=/usr/local/lib/gcc44 > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/lapack_litemodule.o > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/python_xerbla.o > -L/usr/local/lib -Lbuild/temp.freebsd-7.2-STABLE-i386-2.6 -lalapack_r > -lalapack_r -lf77blas_r -lcblas_r -latlas_r -lgfortran -lm -lpthread -o > build/lib.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/lapack_lite.so [0m > /usr/bin/ld: cannot find -lgfortran > /usr/bin/ld: cannot find -lgfortran > error: Command "cc -shared -pthread -O2 -fno-strict-aliasing -pipe > -march=prescott -Wl,-rpath=/usr/local/lib/gcc44 > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/lapack_litemodule.o > build/temp.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/python_xerbla.o > -L/usr/local/lib -Lbuild/temp.freebsd-7.2-STABLE-i386-2.6 -lalapack_r > -lalapack_r -lf77blas_r -lcblas_r -latlas_r -lgfortran -lm -lpthread -o > build/lib.freebsd-7.2-STABLE-i386-2.6/numpy/linalg/lapack_lite.so" failed > with exit status 1 > *** Error code 1 > > Stop in /usr/ports/math/py-numpy. > > ===>>> make failed for math/py-numpy > ===>>> Aborting update > > I looked in /usr/local/lib and didn't spot libraries by name for > gfortran[345], so I assume they have either been renamed or included in > with the corresponding gcc libraries. What is the best way to proceed? > Will simply deleting the instances of "-lgfortran" do the job? Or do I > need to specify the library explicitly? > The port is broken WITH_ATLAS=yes on your system: it reverts to using the base system C compiler, cc, when it should be using gcc44. You trimmed off some relevant parts, so it is difficult to tell at a glance whether this is because something is wrong with your system, or with the port itself, although the port has a history of problems with this non-default option. If I have some time later, I may play with it, but at the moment, I don't have atlas installed. You should send a full build transcript to me and the math/py-numpy maintainer via private email. The libraries in question should be in /usr/local/lib/gcc44. When searching for registered shared libraries, it is easier to do something like: ldconfig -vr | grep -ie fortran and for static libraries or unregistered shared libraries, locate(1) and find(1) are your friends. b.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d873d5be0911091226x206ea98cxb3c65c456183d10c>