[Wien] undefined function calls when linking to BLAS/LAPACK
Peer Kruse
peer.kruse at lem.uni-karlsruhe.de
Fri May 14 15:16:25 CEST 2004
Hello,
I found a little hint on the ATLAS errata Page, but I didn't solve the
problem up to now. It reads
/I'm linking with C, and getting missing symbols (such as
w_wsfe,do_fio,w_esfe or s_stop.
These kinds of symbols are Fortran library calls. The problem is that
the C linker does not automatically find the Fortran libraries. The most
common fix is to either link using your fortran linker, or to rewrite
your code so that Fortran routines are not called. If you know where
they are, you can also choose to link in the Fortran libraries explicitly
/
I thought the linking would be done with -llapack -lf77blas -lcblas
-latlas -lguide -lpthread
Obviously this is not the case for this problem. It doesn't help to link
the complete libXXX.a files of atlas as well. Does anyone know if these
libraries are the fortran libraries or are they
C libraries (you surely noticed I am coming from the C-side of the world)?
kind regards
Peer
kjharris wrote:
>I hope someone can give me a hand with the problem I'm having when attempting
>to compile WIEN. I can compile with the given unoptimized lapack/blas
>libraries
>when I use the flags with the intel version 8.0 compilers and specify the
>libraries twice:
>
> O Compiler options: -FR -mp -w
> L Linker Flags: -L../SRC_lib
> P Preprocessor flags '-DParallel'
> R R_LIB (LAPACK+BLAS): -llapack_lapw -lblas_lapw -lguide -lpthread
>-llapack_lapw -lblas_lapw -lguide -lpthread
>
>
>
>
>but when I try to link in instead a compiled version of atlas via the flags:
>
> O Compiler options: -FR -mp -w
> L Linker Flags:
>-L/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1
> P Preprocessor flags '-DParallel'
> R R_LIB (LAPACK+BLAS): -llapack -lf77blas -lcblas -latlas -lguide
>-lpthread -llapack -lf77blas -lcblas -latlas -lguide -lpthread
>
>
>I get errors in SRC_lapw1, SRC_lapw2, SRC_lapwdm, SRC_lapwso, SRC_qtl that
>look like:
>
>.
>.
>.
>rm pzher2m_tmp_.F
>ifort -o ./lapw1 abc.o atpar.o bandv1.o calkpt.o cbcomb.o coors.o cputim.o
>dblr
>2k.o dgeqrl.o dgewy.o dgewyg.o dlbrfg.o dsbein1.o dscgst.o dstebz2.o dsyevx2.o
>d
>symm2.o dsyr2m.o dsyrb4.o dsyrb5l.o dsyrdt4.o dsytrd2.o dsywyv.o dsyxev4.o
>dvbes
>1.o eisps.o errclr.o errflg.o forfhs.o gaunt1.o gaunt2.o gbass.o gtfnam.o
>hamilt
>.o hns.o horb.o inikpt.o inilpw.o lapw1.o latgen.o lmsort.o locdef.o lohns.o
>lop
>w.o matmm.o modules.o nn.o outerr.o outwin.o pdsyevx16.o prtkpt.o prtres.o
>pzhee
>vx16.o rdswar.o rint13.o rotate.o rotdef.o seclit.o seclr4.o seclr5.o select.o
>s
>ervice.o setkpt.o setwar.o sphbes.o stern.o tapewf.o ustphx.o vectf.o warpin.o
>w
>fpnt.o wfpnt1.o ylm.o zhcgst.o zheevx2.o zhemm2.o zher2m.o zhetrd2.o pdsyr2m.o
>p
>zher2m.o -L/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1 -llapack -lf77blas
>-lcb
>las -latlas -lguide -lpthread -llapack -lf77blas -lcblas -latlas -lguide
>-lpthre
>ad
>bandv1.o(.text+0xcdc): In function `bandv1_':
>: undefined reference to `dlarnv_'
>dgeqrl.o(.text+0x124): In function `dgeqrl_':
>: undefined reference to `dlarf_'
>dgeqrl.o(.text+0x269): In function `dgeqrl_':
>: undefined reference to `dlarf_'
>dlbrfg.o(.text+0x94): In function `dlbrfg_':
>: undefined reference to `dlapy2_'
>dlbrfg.o(.text+0xf5): In function `dlbrfg_':
>: undefined reference to `dlamch_'
>dlbrfg.o(.text+0x105): In function `dlbrfg_':
>: undefined reference to `dlamch_'
>dlbrfg.o(.text+0x1d7): In function `dlbrfg_':
>: undefined reference to `dlapy2_'
>dsbein1.o(.text+0x551): In function `dsbein1_':
>: undefined reference to `dstein_'
>dscgst.o(.text+0x278): In function `dscgst_':
>: undefined reference to `dsygs2_'
>dstebz2.o(.text+0x157): In function `dstebz2_':
>: undefined reference to `dlamch_'
>dstebz2.o(.text+0x16a): In function `dstebz2_':
>: undefined reference to `dlamch_'
>dstebz2.o(.text+0x95d): In function `dstebz2_':
>: undefined reference to `dlaebz_'
>dstebz2.o(.text+0xae9): In function `dstebz2_':
>: undefined reference to `dlaebz_'
>dstebz2.o(.text+0x14bb): In function `dstebz2_':
>: undefined reference to `dlaebz_'
>dsyevx2.o(.text+0x3ab): In function `dsyevx2_':
>: undefined reference to `dlamch_'
>dsyevx2.o(.text+0x3be): In function `dsyevx2_':
>: undefined reference to `dlamch_'
>dsyevx2.o(.text+0x4b8): In function `dsyevx2_':
>: undefined reference to `dlansy_'
>dsyevx2.o(.text+0x83b): In function `dsyevx2_':
>: undefined reference to `dsterf_'
>dsyevx2.o(.text+0xc9e): In function `dsyevx2_':
>: undefined reference to `dlacpy_'
>dsyevx2.o(.text+0xcd1): In function `dsyevx2_':
>: undefined reference to `dorgtr_'
>dsyevx2.o(.text+0xd3d): In function `dsyevx2_':
>: undefined reference to `dsteqr_'
>dsyevx2.o(.text+0xe78): In function `dsyevx2_':
>: undefined reference to `dstein_'
>dsyevx2.o(.text+0xed6): In function `dsyevx2_':
>: undefined reference to `dormtr_'
>dsyrdt4.o(.text+0x2b5): In function `dsyrdt4_':
>: undefined reference to `dsbtrd_'
>dsytrd2.o(.text+0x216): In function `dsytrd2_':
>: undefined reference to `dlatrd_'
>dsytrd2.o(.text+0x427): In function `dsytrd2_':
>: undefined reference to `dsytd2_'
>dsytrd2.o(.text+0x500): In function `dsytrd2_':
>: undefined reference to `dlatrd_'
>dsytrd2.o(.text+0x756): In function `dsytrd2_':
>: undefined reference to `dsytd2_'
>dsyxev4.o(.text+0x340): In function `dsyxev4_':
>: undefined reference to `dlamch_'
>dsyxev4.o(.text+0x353): In function `dsyxev4_':
>: undefined reference to `dlamch_'
>dsyxev4.o(.text+0x44d): In function `dsyxev4_':
>: undefined reference to `dlansy_'
>dsyxev4.o(.text+0x998): In function `dsyxev4_':
>: undefined reference to `dormtr_'
>seclit.o(.text+0x2329): In function `seclit_':
>: undefined reference to `dsygst_'
>seclit.o(.text+0x24f8): In function `seclit_':
>: undefined reference to `dsyevx_'
>zhcgst.o(.text+0x280): In function `zhcgst_':
>: undefined reference to `zhegs2_'
>zheevx2.o(.text+0x3e4): In function `zheevx2_':
>: undefined reference to `dlamch_'
>zheevx2.o(.text+0x3f7): In function `zheevx2_':
>: undefined reference to `dlamch_'
>zheevx2.o(.text+0x4f1): In function `zheevx2_':
>: undefined reference to `zlanhe_'
>zheevx2.o(.text+0x83c): In function `zheevx2_':
>: undefined reference to `dsterf_'
>zheevx2.o(.text+0xca1): In function `zheevx2_':
>: undefined reference to `zlacpy_'
>zheevx2.o(.text+0xcd4): In function `zheevx2_':
>: undefined reference to `zungtr_'
>zheevx2.o(.text+0xd5b): In function `zheevx2_':
>: undefined reference to `zsteqr_'
>zheevx2.o(.text+0xe89): In function `zheevx2_':
>: undefined reference to `zstein_'
>zheevx2.o(.text+0xee4): In function `zheevx2_':
>: undefined reference to `zunmtr_'
>zhetrd2.o(.text+0x232): In function `zhetrd2_':
>: undefined reference to `zlatrd_'
>zhetrd2.o(.text+0x48b): In function `zhetrd2_':
>: undefined reference to `zhetd2_'
>zhetrd2.o(.text+0x56a): In function `zhetrd2_':
>: undefined reference to `zlatrd_'
>zhetrd2.o(.text+0x806): In function `zhetrd2_':
>: undefined reference to `zhetd2_'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x10
>b):
> In function `ilaenv_':
>: undefined reference to `s_copy'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x16
>7):
> In function `ilaenv_':
>: undefined reference to `s_copy'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x1d
>0):
> In function `ilaenv_':
>: undefined reference to `s_copy'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x1f
>4):
> In function `ilaenv_':
>: undefined reference to `s_copy'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x21
>8):
> In function `ilaenv_':
>: undefined reference to `s_copy'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x2b
>9):
> In function `ilaenv_':
>: undefined reference to `s_cmp'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x2e
>5):
> In function `ilaenv_':
>: undefined reference to `s_cmp'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x30
>d):
> In function `ilaenv_':
>: undefined reference to `s_cmp'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x33
>5):
> In function `ilaenv_':
>: undefined reference to `s_cmp'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x35
>d):
> In function `ilaenv_':
>: undefined reference to `s_cmp'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/liblapack.a(ilaenv.o)(.text+0x38
>9):
> more undefined references to `s_cmp' follow
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/libf77blas.a(xerbla.o)(.text+0xb
>):
>In function `xerbla_':
>: undefined reference to `s_wsfe'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/libf77blas.a(xerbla.o)(.text+0x2
>7):
> In function `xerbla_':
>: undefined reference to `do_fio'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/libf77blas.a(xerbla.o)(.text+0x4
>3):
> In function `xerbla_':
>: undefined reference to `do_fio'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/libf77blas.a(xerbla.o)(.text+0x4
>8):
> In function `xerbla_':
>: undefined reference to `e_wsfe'
>/home/softinstalls/ATLAS/lib/Linux_ATHLONSSE1/libf77blas.a(xerbla.o)(.text+0x5
>c):
> In function `xerbla_':
>: undefined reference to `s_stop'
>make[1]: *** [lapw1] Error 1
>make[1]: Leaving directory `/home/softinstalls/wien/SRC_lapw1'
>make: *** [real] Error 2
>
>
>I thought perhaps I had built atlas/blas wrong so I downloaded a pre-compiled
>version
>from the atlas website and ran it with the flags:
>
> O Compiler options: -FR -mp -w
> L Linker Flags: -L/home/softinstalls/Linux_ATHLON/lib
> P Preprocessor flags '-DParallel'
> R R_LIB (LAPACK+BLAS): -llapack -lf77blas -lcblas -latlas -lguide
>-lpthread -llapack -lf77blas -lcblas -latlas -lguide -lpthread
>
>only to find the same errors as with the ATLAS that I built.
>
>
>-------------------
>
>Which of the ATLAS libraries are necessary to link to?
>Any suggestions for a fix?
>
>
>
>p.s.
>Does anyone run one of the intel compilers on amd athlon-XP architecture? does
>it work at all? speed compared to ATLAS?
>
>
>_______________________________________________
>Wien mailing list
>Wien at zeus.theochem.tuwien.ac.at
>http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20040514/1be53825/attachment.html
More information about the Wien
mailing list