[SciPy-user] ATLAS and gcc v4.0.2

Christian Kristukat ckkart at hoc.net
Tue Feb 28 07:11:51 CST 2006


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



More information about the SciPy-user mailing list