[SciPy-user] ATLAS and gcc v4.0.2

Hanno Klemm klemm at phys.ethz.ch
Tue Feb 28 12:49:06 EST 2006


Hi Christian,

you output looks like a problem I had: 

On my 64bit architecture I had to modify the make file for atlas and
append an -fPIC at the compiler flags (I tired that at the
architecture flags, the g77 and the c flags. That did the job).
Otherwise it seems not possible to use the libraries with scipy.

Good luck,
Hanno

Christian Kristukat <ckkart at hoc.net> said:

> Nils Wagner wrote:
> > On Tue, 28 Feb 2006 19:20:55 +0900
> >   Christian Kristukat <ckkart at hoc.net> wrote:
> >> Nils Wagner wrote:
> >>>>> SuSE 10.0 comes with gcc-fortran
> >>>>>
> >>>>> Name        : gcc-fortran                  Relocations: 
> >>>> You're right. But the executable is called 'gfortran'. I 
> >>>> mixed that up.
> >>>>
> >>> I have already build blas and lapack libraries using g77 
> >>> according to the installation hints.
> >>>
> >>> Can I use them or must I recompile blas and lapack with 
> >>> gfortran ?
> >> I'm not an expert on this subject, just sharing my 
> >> experiences. If you're using
> >> ATLAS you don't need BLAS as far as I understood. I 
> >> followed the instructions in
> >> the link I posted before. Compared to the compilation 
> >> time of ATLAS, LAPACK
> >> builds almost instantaneously, so it doesn't hurt to 
> >> rebuild LAPACK, I just
> >> don't know wether g77 built LAPACK works together with 
> >> gfortran ATLAS.
> >> At least I know, that if you're using gfrotran all the 
> >> time, everything works
> >> fine on SuSE 10.0.
> >>
> >> Good luck, Christian
> >>
> >> _______________________________________________
> >> SciPy-user mailing list
> >> SciPy-user at scipy.net
> >> http://www.scipy.net/mailman/listinfo/scipy-user
> > 
> >   
> >   
> > I followed your advice and rebuilt blas and lapack using
> > gfortran. Compilation of ATLAS seems to work. Also
> > I have build a complete lapack
> > http://math-atlas.sourceforge.net/errata.html#completelp
> > 
> > I am on SuSE 10.0 x86_64 GNU/Linux
> > 
> > However
> > 
> > python setup.py build failed
> > 
> > Running from numpy source directory.
> > Warning: not existing path in numpy/distutils: site.cfg
> > No module named __svn_version__
> > F2PY Version 2_2179
> > blas_opt_info:
> > blas_mkl_info:
> > /usr/local/svn/numpy/numpy/distutils/system_info.py:531: 
> > UserWarning: Library error: libs=['mkl', 'vml', 'guide'] 
> > found_libs=[]
> >    warnings.warn("Library error: libs=%s found_libs=%s" % 
> > \
> >    NOT AVAILABLE
> > 
> > atlas_blas_threads_info:
> > Setting PTATLAS=ATLAS
> > /usr/local/svn/numpy/numpy/distutils/system_info.py:531: 
> > UserWarning: Library error: libs=['ptf77blas', 'ptcblas', 
> > 'atlas'] found_libs=[]
> >    warnings.warn("Library error: libs=%s found_libs=%s" % 
> > \
> > /usr/local/svn/numpy/numpy/distutils/system_info.py:531: 
> > UserWarning: Library error: libs=['ptf77blas', 'ptcblas', 
> > 'atlas'] found_libs=['/usr/local/lib/atlas/libatlas.a']
> >    warnings.warn("Library error: libs=%s found_libs=%s" % 
> > \
> >    NOT AVAILABLE
> > 
> > atlas_blas_info:
> > /usr/local/svn/numpy/numpy/distutils/system_info.py:531: 
> > UserWarning: Library error: libs=['f77blas', 'cblas', 
> > 'atlas'] found_libs=[]
> >    warnings.warn("Library error: libs=%s found_libs=%s" % 
> > \
> >    FOUND:
> >      libraries = ['f77blas', 'cblas', 'atlas']
> >      library_dirs = ['/usr/local/lib/atlas']
> >      language = c
> > 
> > running build_src
> > building extension "atlas_version" sources
> > creating build
> > creating build/src
> >    adding 'build/src/atlas_version_0x5b360788cdd9eddc.c' 
> > to sources.
> > running build_ext
> > customize UnixCCompiler
> > customize UnixCCompiler using build_ext
> > building 'atlas_version' extension
> > compiling C sources
> > gcc options: '-pthread -fno-strict-aliasing -DNDEBUG -O2 
> > -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fPIC'
> > creating build/temp.linux-x86_64-2.4
> > creating build/temp.linux-x86_64-2.4/build
> > creating build/temp.linux-x86_64-2.4/build/src
> > compile options: '-Inumpy/core/include 
> > -I/usr/include/python2.4 -c'
> > gcc: build/src/atlas_version_0x5b360788cdd9eddc.c
> > gcc -pthread -shared 
> >
build/temp.linux-x86_64-2.4/build/src/atlas_version_0x5b360788cdd9eddc.o 
> > -L/usr/local/lib/atlas -lf77blas -lcblas -latlas -o 
> > build/temp.linux-x86_64-2.4/atlas_version.so
> >
/usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-linux/bin/ld:

> > /usr/local/lib/atlas/libatlas.a(ATL_buildinfo.o): 
> > relocation R_X86_64_32 against `a local symbol' can not be 
> > used when making a shared object; recompile with -fPIC
> > /usr/local/lib/atlas/libatlas.a: could not read symbols: 
> > Bad value
> > collect2: ld returned 1 exit status
> >
/usr/lib64/gcc/x86_64-suse-linux/4.0.2/../../../../x86_64-suse-linux/bin/ld:

> > /usr/local/lib/atlas/libatlas.a(ATL_buildinfo.o): 
> > relocation R_X86_64_32 against `a local symbol' can not be 
> > used when making a shared object; recompile with -fPIC
> > /usr/local/lib/atlas/libatlas.a: could not read symbols: 
> > Bad value
> > collect2: ld returned 1 exit status
> > ##### msg: error: Command "gcc -pthread -shared 
> >
build/temp.linux-x86_64-2.4/build/src/atlas_version_0x5b360788cdd9eddc.o 
> > -L/usr/local/lib/atlas -lf77blas -lcblas -latlas -o 
> > build/temp.linux-x86_64-2.4/atlas_version.so" failed with 
> > exit status 1
> > error: Command "gcc -pthread -shared 
> >
build/temp.linux-x86_64-2.4/build/src/atlas_version_0x5b360788cdd9eddc.o 
> > -L/usr/local/lib/atlas -lf77blas -lcblas -latlas -o 
> > build/temp.linux-x86_64-2.4/atlas_version.so" failed with 
> > exit status 1
> >    FOUND:
> >      libraries = ['f77blas', 'cblas', 'atlas']
> >      library_dirs = ['/usr/local/lib/atlas']
> >      language = c
> >      define_macros = [('NO_ATLAS_INFO', 2)]
> > 
> > Warning: distutils distribution has been initialized, it 
> > may be too late to add an extension _dotblas
> > Traceback (most recent call last):
> >    File "setup.py", line 76, in ?x86_64 GNU/Linux
> >      setup_package()
> >    File "setup.py", line 63, in setup_package
> >      config.add_subpackage('numpy')
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 592, in add_subpackage
> >      config_list = 
> > self.get_subpackage(subpackage_name,subpackage_path)
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 582, in get_subpackage
> >      subpackage_path)
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 539, in _get_configuration_from_setup_py
> >      config = setup_module.configuration(*args)
> >    File "/usr/local/svn/numpy/numpy/setup.py", line 10, in 
> > configuration
> >      config.add_subpackage('core')
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 592, in add_subpackage
> >      config_list = 
> > self.get_subpackage(subpackage_name,subpackage_path)
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 582, in get_subpackage
> >      subpackage_path)
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 539, in _get_configuration_from_setup_py
> >      config = setup_module.configuration(*args)
> >    File "numpy/core/setup.py", line 217, in configuration
> >      config.add_data_dir('tests')
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 636, in add_data_dir
> >      self.add_data_files((ds,filenames))
> >    File 
> > "/usr/local/svn/numpy/numpy/distutils/misc_util.py", line 
> > 702, in add_data_files
> >      dist.data_files.extend(data_dict.items())
> > AttributeError: 'NoneType' object has no attribute 
> > 'extend'
> > 
> 
> I can't say more than that I followed exactly the instructions here:
> http://pong.tamu.edu/tiki/tiki-view_blog_post.php?blogId=6&postId=97
> (the full LAPACK issue is covered there, too)
> and it worked.
> 
> Christian
> 
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.net
> http://www.scipy.net/mailman/listinfo/scipy-user
> 



-- 
Hanno Klemm
klemm at phys.ethz.ch





More information about the SciPy-User mailing list