You are not logged in.

#1 2008-09-14 16:13:37

Demind
Member
Registered: 2007-07-10
Posts: 111

[SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

Hi guys, hope this is the right section to post this problem. I'm trying to compile (and install) Suitesparse but everytime i obtain this strange error i have never seen before...any idea to solve it?Thanks


cholmod_super_numeric.c:(.text+0x117d): undefined reference to `dsyrk_'
cholmod_super_numeric.c:(.text+0x125c): undefined reference to `dgemm_'
cholmod_super_numeric.c:(.text+0x184d): undefined reference to `dtrsm_'
cholmod_super_numeric.c:(.text+0x2401): undefined reference to `zherk_'
cholmod_super_numeric.c:(.text+0x24e5): undefined reference to `zgemm_'
cholmod_super_numeric.c:(.text+0x2a08): undefined reference to `ztrsm_'
cholmod_super_numeric.c:(.text+0x35c1): undefined reference to `zherk_'
cholmod_super_numeric.c:(.text+0x36a5): undefined reference to `zgemm_'
cholmod_super_numeric.c:(.text+0x3c17): undefined reference to `ztrsm_'
../Lib/libcholmod.a(cholmod_super_solve.o): In function `cholmod_super_ltsolve':
cholmod_super_solve.c:(.text+0x715): undefined reference to `zgemm_'
cholmod_super_solve.c:(.text+0x7b2): undefined reference to `ztrsm_'
cholmod_super_solve.c:(.text+0xa37): undefined reference to `zgemv_'
cholmod_super_solve.c:(.text+0xaa1): undefined reference to `ztrsv_'
cholmod_super_solve.c:(.text+0xde7): undefined reference to `dgemm_'
cholmod_super_solve.c:(.text+0xe7b): undefined reference to `dtrsm_'
cholmod_super_solve.c:(.text+0x10c8): undefined reference to `dgemv_'
cholmod_super_solve.c:(.text+0x112c): undefined reference to `dtrsv_'
../Lib/libcholmod.a(cholmod_super_solve.o): In function `cholmod_super_lsolve':
cholmod_super_solve.c:(.text+0x182c): undefined reference to `ztrsm_'
cholmod_super_solve.c:(.text+0x18fc): undefined reference to `zgemm_'
cholmod_super_solve.c:(.text+0x1a46): undefined reference to `ztrsm_'
cholmod_super_solve.c:(.text+0x1bea): undefined reference to `ztrsv_'
cholmod_super_solve.c:(.text+0x1c94): undefined reference to `zgemv_'
cholmod_super_solve.c:(.text+0x1fb5): undefined reference to `dtrsm_'
cholmod_super_solve.c:(.text+0x2080): undefined reference to `dgemm_'
cholmod_super_solve.c:(.text+0x219b): undefined reference to `dtrsm_'
cholmod_super_solve.c:(.text+0x231f): undefined reference to `dtrsv_'
cholmod_super_solve.c:(.text+0x23c6): undefined reference to `dgemv_'
/usr/bin/ld: cholmod_demo: hidden symbol `__powidf2' in /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/libgcc.a(_powidf2.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [cholmod_demo] Error 1

Last edited by Demind (2008-09-15 11:09:07)

Offline

#2 2008-09-14 17:35:53

Garns
Member
Registered: 2008-05-28
Posts: 239

Re: [SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

Do you have all of these installed?

Other packages required:

    * METIS 4.0.1: graph partitioning and sparse matrix ordering. Used by CHOLMOD and KLU, but optional. You can compile CHOLMOD and KLU without it, but to do so requires that you edit the CHOLMOD makefile. Place a copy of the metis-4.0 directory in the SuiteSparse directory, compile metis, and then type "make" in the SuiteSparse directory to compile all of the SuiteSparse.
    * LAPACK: linear algebra package. Required by CHOLMOD.
    * BLAS: basic linear algebra subprograms. This is the standard reference BLAS. You should use optimized BLAS whenever possible. Used by CHOLMOD and UMFPACK.
    * Goto BLAS: typically the fastest BLAS available. Highly recommended for CHOLMOD and UMFPACK.

If I read google correctly all of these slightly cryptic functions should be defined in some blas library.

Offline

#3 2008-09-14 18:17:44

Demind
Member
Registered: 2007-07-10
Posts: 111

Re: [SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

* METIS 4.0.1: graph partitioning and sparse matrix ordering. Used by CHOLMOD and KLU, but optional. You can compile CHOLMOD and KLU without it, but to do so requires that you edit the CHOLMOD makefile. Place a copy of the metis-4.0 directory in the SuiteSparse directory, compile metis, and then type "make" in the SuiteSparse directory to compile all of the SuiteSparse.

I have placed a copy of metis-4.0 directory and compiled metis

* LAPACK: linear algebra package. Required by CHOLMOD.

pacman -Q | grep lapack
atlas-lapack 3.8.2-1

pacman -Qi atlas-lapack
Name           : atlas-lapack
Version        : 3.8.2-1
URL            : http://math-atlas.sourceforge.net/
Licenses       : custom:atlas  custom:lapack  
Groups         : None
Provides       : blas  lapack  atlas  
Depends On     : None
Optional Deps  : None
Required By    : None
Conflicts With : lapack  blasf77  blas  
Replaces       : None
Installed Size : 34513.57 K
Packager       : Demind <demind@gmail.com>
Architecture   : x86_64
Build Date     : Wed Jul 2 11:14:32 2008
Install Date   : Wed Jul 2 14:27:50 2008
Install Reason : Explicitly installed
Install Script : Yes
Description    : Complete LAPACK implementation using optimised ATLAS routines

* BLAS: basic linear algebra subprograms. This is the standard reference BLAS. You should use optimized BLAS whenever possible. Used by CHOLMOD and UMFPACK.

provided by the package above

* Goto BLAS: typically the fastest BLAS available. Highly recommended for CHOLMOD and UMFPACK.

It replaces standard BLAS.

So i have everything it's needed...could it be a problem related to gcc version?

Offline

#4 2008-09-14 20:34:48

Garns
Member
Registered: 2008-05-28
Posts: 239

Re: [SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

Does your atlas package contain libblas.a or does the blas library have another name? I scanned the atlas makefile and I couldn't find a reference to libblas.a, only libf77blas.a and libcblas.a. Are the libs installed to /usr/libs/ or to some subdir? If one of this is the case you might have to edit UFconfig/UFconfig.mk accordingly.

Offline

#5 2008-09-15 07:13:26

Demind
Member
Registered: 2007-07-10
Posts: 111

Re: [SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

Garns wrote:

Does your atlas package contain libblas.a or does the blas library have another name? I scanned the atlas makefile and I couldn't find a reference to libblas.a, only libf77blas.a and libcblas.a. Are the libs installed to /usr/libs/ or to some subdir? If one of this is the case you might have to edit UFconfig/UFconfig.mk accordingly.

Sorry this problem is so frustrating that i have pasted the wrong error...actually i had a UFconfig/UFconfig.mk edited and that gave me the same problem, I don't have libblas.a on my system but the reason is that this is substitued by libatlas.a!

I paste here the "final" result:

make[2]: Leaving directory `/home/marco/Desktop/SuiteSparse/CCOLAMD'
gcc -O3 -fexceptions -m64  -o cholmod_demo -I../Include -I../../UFconfig cholmod_demo.c ../Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a ../../metis-4.0/libmetis.a -llapack -lgfortran -lgfortran -lpthread -Lusr/lib -lf77blas -latlas   -lm
/usr/bin/ld: cholmod_demo: hidden symbol `__powidf2' in /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/libgcc.a(_powidf2.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [cholmod_demo] Error 1

Obviously the "undefined reference" statements are gone but the main problem, the hidden symbol, is always there...and now i'm sure this is the error i hope to solve, the first one (and i apologize for that) was a build with wrong flag...
And when i wrote about a possible gcc version problem was because this line says:

/usr/bin/ld: cholmod_demo: hidden symbol `__powidf2' in /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.2/libgcc.a(_powidf2.o) is referenced by DSO

what do you think about it?

p.s. i can compile UMFPACK without problems...the whole Suite on the contrary gives me this

Offline

#6 2008-09-15 11:10:22

Demind
Member
Registered: 2007-07-10
Posts: 111

Re: [SOLVED] Problem compiling Suitesparse: hidden symbol `__powidf2'

I solved the problem uninistalling atlas-lapack and compiling against plain Fortran reference BLAS.
I'm trying now with GotoBLAS to improve performance but my problem is solved. Thanks for your help

Offline

Board footer

Powered by FluxBB