Thread: [Lapackpp-devel] Problem building lapackpp under SLES10SP2 (X86_64)
Status: Beta
Brought to you by:
cstim
|
From: Dr.Peer-Joachim K. <pk...@bg...> - 2010-11-04 09:44:19
Attachments:
smime.p7s
|
Hi,
I just downloaded the source set the comipler to gcc, g++ and gfortran
made a configure and try to build it.
The linking step fails.
Everything was build with "-fPIC".
Any idea what's wrong ?
Building with pgi (all compilers) "seems" to work, but there is now
shared lib created, just the static one.
Bye, Peer
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I.. -I../include -I../include -I../include -DLA_COMPLEX_SUPPORT
-DLinux -g -O2 -Wall -MT systime.lo -MD -MP -MF
".deps/systime.Tpo" -c -o systime.lo systime.c; \
then mv -f ".deps/systime.Tpo" ".deps/systime.Plo"; else rm -f
".deps/systime.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include
-I../include -DLA_COMPLEX_SUPPORT -DLinux -g -O2 -Wall -MT systime.lo
-MD -MP -MF .deps/systime.Tpo -c systime.c -fPIC -DPIC -o .libs/systime.o
/bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -Wall -o
liblapackpp.la -rpath /usr/local/apps/lapackpp/2.5.3/lib -no-undefined
-version-info 16:0:2 dopla.lo dtimmg.lo eigslv.lo genmd.lo laprefs.lo
lasvd.lo lautil.lo linslv.lo systime.lo ../matrix/src/liblamatrixpp.la
../blaspp/src/libblaspp.la -llapack -lblas
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.. -lgfortran -lm -lgcc_s
g++ -shared -nostdlib
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbeginS.o .libs/dopla.o
.libs/dtimmg.o .libs/eigslv.o .libs/genmd.o .libs/laprefs.o
.libs/lasvd.o .libs/lautil.o .libs/linslv.o .libs/systime.o
-Wl,--whole-archive ../matrix/src/.libs/liblamatrixpp.a
../blaspp/src/.libs/libblaspp.a -Wl,--no-whole-archive -Wl,--rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -Wl,--rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -llapack -lblas
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib
-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.. -lgfortran
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/libstdc++.so -lm -lc -lgcc_s
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtendS.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o
-Wl,-soname -Wl,liblapackpp.so.14 -o .libs/liblapackpp.so.14.2.0
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld:
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a(dgeev.i):
relocation R_X86_64_32 against `a local symbol' can not be used when
making a shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [liblapackpp.la] Fehler 1
make[2]: Leaving directory `/tmp/lapackpp-2.5.3/src'
--
Mit freundlichem Gruß
Peer-Joachim Koch
_________________________________________________________
Max-Planck-Institut fuer Biogeochemie
Dr. Peer-Joachim Koch
Hans-Knöll Str.10 Telefon: ++49 3641 57-6705
D-07745 Jena Telefax: ++49 3641 57-7705
|
|
From: Dr.Peer-Joachim K. <pk...@bg...> - 2010-11-04 10:10:15
|
Hi Christian,
thanks for the quick response !
First step was to install the SLES BLAS and LAPACK rpms.
rpm -ql lapack-3.0-939.4 blas-3.0-939.4
/usr/lib64/liblapack.a
/usr/lib64/liblapack.so.3.0.0
/usr/lib64/libtmglib.a
/usr/share/doc/packages/lapack
/usr/share/doc/packages/lapack/README
/usr/lib64/libblas.a
/usr/lib64/libblas.so
/usr/lib64/libblas.so.3
/usr/lib64/libblas.so.3.0.0
Then a "tar zxf lap..."; configure; make.
The configure normaly reclaims the missing blas lib.
So any other idea ?
Danke schöne Grüße zurück an meine alte (kurze) Heimat ;)
Ciao, Peer
Am 04.11.2010 10:49, schrieb Christian Stimming:
> Zitat von "Dr.Peer-Joachim Koch" <pk...@bg...>:
>> Building with pgi (all compilers) "seems" to work, but there is now
>> shared lib created, just the static one.
>
> The lapackpp (with pp) needs to link against an existing LAPACK (without
> pp) library. In your case, you seem to have the LAPACK library installed
> only in the static version:
>
>> /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a(dgeev.i):
>> relocation R_X86_64_32 against `a local symbol' can not be used when
>> making a shared object; recompile with -fPIC
>> /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a:
>> could not read symbols: Bad value
>
> You cannot build a shared lapackpp (with pp) unless you also have a
> shared LAPACK installed. Install the shared LAPACK (resulting in some
> file liblapack.so, potentially with additional suffixes) and try again
> configure and make.
>
> Does that fix the problem?
>
> Gruß aus Hamburg nach Jena!
>
> Christian
>
--
Mit freundlichem Gruß
Peer-Joachim Koch
_________________________________________________________
Max-Planck-Institut fuer Biogeochemie
Dr. Peer-Joachim Koch
Hans-Knöll Str.10 Telefon: ++49 3641 57-6705
D-07745 Jena Telefax: ++49 3641 57-7705
|
|
From: Christian S. <sti...@tu...> - 2010-11-04 10:26:52
|
Hi, Zitat von "Dr.Peer-Joachim Koch" <pk...@bg...>: > First step was to install the SLES BLAS and LAPACK rpms. > > rpm -ql lapack-3.0-939.4 blas-3.0-939.4 > /usr/lib64/liblapack.a > /usr/lib64/liblapack.so.3.0.0 > /usr/lib64/libtmglib.a > /usr/share/doc/packages/lapack > /usr/share/doc/packages/lapack/README > /usr/lib64/libblas.a > /usr/lib64/libblas.so > /usr/lib64/libblas.so.3 > /usr/lib64/libblas.so.3.0.0 ok, thanks, I see the shared liblapack.so is there. Then I would guess this might be due to the old ./configure shell script in the downloaded lapackpp.tar.gz - maybe the version of autoconf that created the ./configure script cannot recognize the shared lapack.so on your system (anymore). Can you try the SVN version? svn co https://lapackpp.svn.sourceforge.net/svnroot/lapackpp/lapackpp/trunk lapackpp cd lapackpp ./autogen.sh and then continue with ./configure;make as usual. Maybe the autotool versions on your system will then pick up the shared liblapack.so correctly and all is fine again. Having said that, I currently don't work with lapackpp anymore and I haven't been working with it for quite some time by now. http://www.cuvillier.de/flycms/de/html/30/-UickI3zKPS7zc0k=/Buchdetails.html Hence it is very well possible that the last released version doesn't immediately compile on the most recent distributions. I will happily assist to get it working again, or to add more developers to the sourceforge site so that others can commit bugfixes and improvements to SVN, but I have to say clearly that currently I'm not using this myself. (I used to use it heavily in 2006-2008, though.) Best Regards, Christian |
|
From: Dr.Peer-Joachim K. <pk...@bg...> - 2010-11-04 12:27:33
|
Hi, also svn stuff fails. I also tried to use the src.rpm+tarball. Same fault. You're rpm (opensuse) looks for blas.so.3.1.0 but we've only blas.so.3.0.0. I also tried to use the pgi compiler. Here everything seemed to be build. However the check fails, because the libla*.so is pointing to nowhere .... -rw-r--r-- 1 pkoch AG_DV 27400 2010-11-04 13:08 dopla.o -rw-r--r-- 1 pkoch AG_DV 19296 2010-11-04 13:08 dtimmg.o -rw-r--r-- 1 pkoch AG_DV 276168 2010-11-04 13:08 eigslv.o -rw-r--r-- 1 pkoch AG_DV 260864 2010-11-04 13:08 genmd.o -rw-r--r-- 1 pkoch AG_DV 5624 2010-11-04 13:08 laprefs.o -rw-r--r-- 1 pkoch AG_DV 402528 2010-11-04 13:08 lasvd.o -rw-r--r-- 1 pkoch AG_DV 227968 2010-11-04 13:08 lautil.o lrwxrwxrwx 1 pkoch AG_DV 17 2010-11-04 13:08 liblapackpp.la -> ../liblapackpp.la -rw-r--r-- 1 pkoch AG_DV 1091 2010-11-04 13:08 liblapackpp.lai lrwxrwxrwx 1 pkoch AG_DV 21 2010-11-04 13:08 liblapackpp.so -> liblapackpp.so.14.2.0 lrwxrwxrwx 1 pkoch AG_DV 21 2010-11-04 13:08 liblapackpp.so.14 -> liblapackpp.so.14.2.0 -rw-r--r-- 1 pkoch AG_DV 347560 2010-11-04 13:08 linslv.o -rw-r--r-- 1 pkoch AG_DV 3272 2010-11-04 13:08 systime.o The liblapackpp.so.14.2.0 is missing ... Thanks a lot for you help! Bye, Peer Am 04.11.2010 11:26, schrieb Christian Stimming: > Hi, > > Zitat von "Dr.Peer-Joachim Koch" <pk...@bg...>: >> First step was to install the SLES BLAS and LAPACK rpms. >> >> rpm -ql lapack-3.0-939.4 blas-3.0-939.4 >> /usr/lib64/liblapack.a >> /usr/lib64/liblapack.so.3.0.0 >> /usr/lib64/libtmglib.a >> /usr/share/doc/packages/lapack >> /usr/share/doc/packages/lapack/README >> /usr/lib64/libblas.a >> /usr/lib64/libblas.so >> /usr/lib64/libblas.so.3 >> /usr/lib64/libblas.so.3.0.0 > > ok, thanks, I see the shared liblapack.so is there. Then I would guess > this might be due to the old ./configure shell script in the downloaded > lapackpp.tar.gz - maybe the version of autoconf that created the > ./configure script cannot recognize the shared lapack.so on your system > (anymore). Can you try the SVN version? > > svn co > https://lapackpp.svn.sourceforge.net/svnroot/lapackpp/lapackpp/trunk > lapackpp > cd lapackpp > ./autogen.sh > > and then continue with ./configure;make as usual. Maybe the autotool > versions on your system will then pick up the shared liblapack.so > correctly and all is fine again. > > Having said that, I currently don't work with lapackpp anymore and I > haven't been working with it for quite some time by now. > http://www.cuvillier.de/flycms/de/html/30/-UickI3zKPS7zc0k=/Buchdetails.html > > Hence it is very well possible that the last released version doesn't > immediately compile on the most recent distributions. I will happily > assist to get it working again, or to add more developers to the > sourceforge site so that others can commit bugfixes and improvements to > SVN, but I have to say clearly that currently I'm not using this myself. > (I used to use it heavily in 2006-2008, though.) > > Best Regards, > > Christian > > -- Mit freundlichem Gruß Peer-Joachim Koch _________________________________________________________ Max-Planck-Institut fuer Biogeochemie Dr. Peer-Joachim Koch Hans-Knöll Str.10 Telefon: ++49 3641 57-6705 D-07745 Jena Telefax: ++49 3641 57-7705 |
|
From: Dr.Peer-Joachim K. <pk...@bg...> - 2010-11-08 08:26:16
|
Hi, I found the problem. I've installed the SLES blas and lapack packages. Finally I tried to build everything (blas, lapack,atlas). Now everything works ! Thanks and bye, Peer Am 04.11.2010 11:26, schrieb Christian Stimming: > Hi, > > Zitat von "Dr.Peer-Joachim Koch" <pk...@bg...>: >> First step was to install the SLES BLAS and LAPACK rpms. >> >> rpm -ql lapack-3.0-939.4 blas-3.0-939.4 >> /usr/lib64/liblapack.a >> /usr/lib64/liblapack.so.3.0.0 >> /usr/lib64/libtmglib.a >> /usr/share/doc/packages/lapack >> /usr/share/doc/packages/lapack/README >> /usr/lib64/libblas.a >> /usr/lib64/libblas.so >> /usr/lib64/libblas.so.3 >> /usr/lib64/libblas.so.3.0.0 > > ok, thanks, I see the shared liblapack.so is there. Then I would guess > this might be due to the old ./configure shell script in the downloaded > lapackpp.tar.gz - maybe the version of autoconf that created the > ./configure script cannot recognize the shared lapack.so on your system > (anymore). Can you try the SVN version? > > svn co > https://lapackpp.svn.sourceforge.net/svnroot/lapackpp/lapackpp/trunk > lapackpp > cd lapackpp > ./autogen.sh > > and then continue with ./configure;make as usual. Maybe the autotool > versions on your system will then pick up the shared liblapack.so > correctly and all is fine again. > > Having said that, I currently don't work with lapackpp anymore and I > haven't been working with it for quite some time by now. > http://www.cuvillier.de/flycms/de/html/30/-UickI3zKPS7zc0k=/Buchdetails.html > > Hence it is very well possible that the last released version doesn't > immediately compile on the most recent distributions. I will happily > assist to get it working again, or to add more developers to the > sourceforge site so that others can commit bugfixes and improvements to > SVN, but I have to say clearly that currently I'm not using this myself. > (I used to use it heavily in 2006-2008, though.) > > Best Regards, > > Christian > > -- Mit freundlichem Gruß Peer-Joachim Koch _________________________________________________________ Max-Planck-Institut fuer Biogeochemie Dr. Peer-Joachim Koch Hans-Knöll Str.10 Telefon: ++49 3641 57-6705 D-07745 Jena Telefax: ++49 3641 57-7705 |
|
From: Christian S. <sti...@tu...> - 2010-11-04 11:04:13
|
Zitat von "Dr.Peer-Joachim Koch" <pk...@bg...>: > Building with pgi (all compilers) "seems" to work, but there is now > shared lib created, just the static one. The lapackpp (with pp) needs to link against an existing LAPACK (without pp) library. In your case, you seem to have the LAPACK library installed only in the static version: > /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a(dgeev.i): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with > -fPIC > /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/liblapack.a: could > not read symbols: Bad value You cannot build a shared lapackpp (with pp) unless you also have a shared LAPACK installed. Install the shared LAPACK (resulting in some file liblapack.so, potentially with additional suffixes) and try again configure and make. Does that fix the problem? Gruß aus Hamburg nach Jena! Christian |