help me: compile undefined reference ...

Luca bellu... at unisi.it
Tue Dec 29 12:56:30 UTC 2009


Hi Zhang,
you have an inconsistency in appending underscores to the fortran name
entities,
it seems to be only  for the scalapack library.
You may check your scalapack config file (SLmake.in):
#  (-DNoChange, -DAdd_, -DUpCase, or -Df77IsF2C)
CDEFS         =-DAdd_  $(USEMPI)
This problem may depend on the compiler options (in gnu compiler : -
fno-second-underscore,-fno-underscoring ).
Search for similar topics in the mailing list.
Luca

On Dec 28, 10:45 pm, netscape <yshzh... at gmail.com> wrote:
> Dear *,*
>
> I am trying to compile the latest CP2K on our linux cluster, Dual-Core
> AMD Opteron x86_64 GNU/Linux. Using Intel Fortran compiler ifort
> (version 10.1), the serial CP2K version was successfully installed
> using Linux-x86-64-intel.sopt. But when I come to the MPI parallel
> version, it has tortured me for several days, and no lucky at all. I
> first installed the mpich2, all binary files like mpicc and mpif90 are
> appeared. Under the help of scalapack_installer_0.96, I compiled BLAS,
> BLACS, lapack-3.2.1 and scalapck-1.8.0 by mpicc and mpif90 without any
> error. A ifort64_mp ACML was downloaded from  website.
>
> In my  Linux-x86-64-intel.popt file:
>
> CC       = /home/zhang/software/cp2k/intel/mpich2-ifort/bin/mpicc
> CPP      =
> FC       = /home/zhang/software/cp2k/intel/mpich2-ifort/bin/mpif90
> LD       = /home/zhang/software/cp2k/intel/mpich2-ifort/bin/mpif90
> AR       = ar -r
> DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -
> D__FFTW3
> CPPFLAGS =
> FCFLAGS  = $(DFLAGS) -I /home/zhang/software/cp2k/intel/include -I /
> home/zhang/software/cp2k/intel/acml4.3.0/ifort64_mp/include -mp -O3 -
> xW -heap-arrays 64 -funroll-loops -fpp -free
> FCFLAGS2 = $(DFLAGS) -I /home/zhang/software/cp2k/intel/include -I /
> home/zhang/software/cp2k/intel/acml4.3.0/ifort64_mp/include -mp -O1 -
> xW -heap-arrays 64 -fpp -free
> LDFLAGS  = $(FCFLAGS) -I /home/zhang/software/cp2k/intel/include -I /
> home/zhang/software/cp2k/intel/acml4.3.0/ifort64_mp/include
> LIBS     = /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a \
>            /home/zhang/software/cp2k/intel/lib/lib/blacsF77.a \
>            /home/zhang/software/cp2k/intel/lib/lib/blacs.a \
>            /home/zhang/software/cp2k/intel/acml4.3.0/ifort64_mp/lib/
> libacml.a \
>            /home/zhang/software/cp2k/intel/acml4.3.0/ifort64_mp/lib/
> libacml_mv.a \
>            /home/zhang/software/cp2k/intel/lib/libfftw3.a
>
> OBJECTS_ARCHITECTURE = machine_intel.o
>
> graphcon.o: graphcon.F
>   $(FC) -c $(FCFLAGS2) $<
>
> With this script file, it generates lots of undefined reference error
> messages when it's trying to use libscapack.a. For example,
>
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (pdelget.o):pdelget.f:(.text+0x2cb): more undefined references to
> `lsame_'
> follow
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (PB_Cstypeset.o): In function `PB_Cstypeset':
> PB_Cstypeset.c:(.text+0x176): undefined reference to
> `saxpy_'
> PB_Cstypeset.c:(.text+0x181): undefined reference to
> `scopy_'
> PB_Cstypeset.c:(.text+0x18c): undefined reference to
> `sswap_'
> PB_Cstypeset.c:(.text+0x197): undefined reference to
> `sgemv_'
> PB_Cstypeset.c:(.text+0x1a2): undefined reference to
> `ssymv_'
> PB_Cstypeset.c:(.text+0x1ad): undefined reference to
> `ssymv_'
> PB_Cstypeset.c:(.text+0x1b8): undefined reference to
> `strmv_'
> PB_Cstypeset.c:(.text+0x1c3): undefined reference to
> `strsv_'
> PB_Cstypeset.c:(.text+0x1fa): undefined reference to
> `sger_'
> PB_Cstypeset.c:(.text+0x205): undefined reference to
> `sger_'
> PB_Cstypeset.c:(.text+0x210): undefined reference to
> `ssyr_'
> PB_Cstypeset.c:(.text+0x21b): undefined reference to
> `ssyr_'
> PB_Cstypeset.c:(.text+0x226): undefined reference to
> `ssyr2_'
> PB_Cstypeset.c:(.text+0x231): undefined reference to
> `ssyr2_'
> PB_Cstypeset.c:(.text+0x23c): undefined reference to
> `sgemm_'
> PB_Cstypeset.c:(.text+0x247): undefined reference to
> `ssymm_'
> PB_Cstypeset.c:(.text+0x252): undefined reference to
> `ssymm_'
> PB_Cstypeset.c:(.text+0x25d): undefined reference to
> `ssyrk_'
> PB_Cstypeset.c:(.text+0x268): undefined reference to
> `ssyrk_'
> PB_Cstypeset.c:(.text+0x273): undefined reference to
> `ssyr2k_'
> PB_Cstypeset.c:(.text+0x27e): undefined reference to
> `ssyr2k_'
> PB_Cstypeset.c:(.text+0x289): undefined reference to
> `strmm_'
> PB_Cstypeset.c:(.text+0x294): undefined reference to
> `strsm_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtran.o): In
> function `pbdtran_':
> pbdtran.f:(.text+0xc0): undefined reference to
> `lsame_'
> pbdtran.f:(.text+0xe5): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtran.o): In
> function `pbdtr2af_':
> pbdtran.f:(.text+0x1f86): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtran.o): In
> function `pbdtr2bt_':
> pbdtran.f:(.text+0x22d8): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtran.o): In
> function `pbdtr2at_':
> pbdtran.f:(.text+0x25f9): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (pbdmatadd.o):pbdmatadd.f:(.text+0xd9): more undefined references to
> `lsame_'
> follow
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdmatadd.o):
> In function `pbdmatadd_':
> pbdmatadd.f:(.text+0x34f1): undefined reference to
> `daxpy_'
> pbdmatadd.f:(.text+0x351c): undefined reference to
> `lsame_'
> pbdmatadd.f:(.text+0x358d): undefined reference to
> `daxpy_'
> pbdmatadd.f:(.text+0x3d13): undefined reference to
> `dcopy_'
> pbdmatadd.f:(.text+0x3d3e): undefined reference to
> `lsame_'
> pbdmatadd.f:(.text+0x3da3): undefined reference to
> `dcopy_'
> pbdmatadd.f:(.text+0x4045): undefined reference to
> `dscal_'
> pbdmatadd.f:(.text+0x4070): undefined reference to
> `lsame_'
> pbdmatadd.f:(.text+0x40bb): undefined reference to
> `dscal_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtrsrt.o): In
> function `pbdtrsrt_':
> pbdtrsrt.f:(.text+0x62): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbdtrget.o): In
> function `pbdtrget_':
> pbdtrget.f:(.text+0x49): undefined reference to
> `lsame_'
> pbdtrget.f:(.text+0x28f): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (PB_Cdtypeset.o): In function `PB_Cdtypeset':
> PB_Cdtypeset.c:(.text+0x185): undefined reference to
> `daxpy_'
> PB_Cdtypeset.c:(.text+0x190): undefined reference to
> `dcopy_'
> PB_Cdtypeset.c:(.text+0x19b): undefined reference to
> `dswap_'
> PB_Cdtypeset.c:(.text+0x1a6): undefined reference to
> `dgemv_'
> PB_Cdtypeset.c:(.text+0x1b1): undefined reference to
> `dsymv_'
> PB_Cdtypeset.c:(.text+0x1bc): undefined reference to
> `dsymv_'
> PB_Cdtypeset.c:(.text+0x1c7): undefined reference to
> `dtrmv_'
> PB_Cdtypeset.c:(.text+0x1d2): undefined reference to
> `dtrsv_'
> PB_Cdtypeset.c:(.text+0x209): undefined reference to
> `dger_'
> PB_Cdtypeset.c:(.text+0x214): undefined reference to
> `dger_'
> PB_Cdtypeset.c:(.text+0x21f): undefined reference to
> `dsyr_'
> PB_Cdtypeset.c:(.text+0x22a): undefined reference to
> `dsyr_'
> PB_Cdtypeset.c:(.text+0x235): undefined reference to
> `dsyr2_'
> PB_Cdtypeset.c:(.text+0x240): undefined reference to
> `dsyr2_'
> PB_Cdtypeset.c:(.text+0x24b): undefined reference to
> `dgemm_'
> PB_Cdtypeset.c:(.text+0x256): undefined reference to
> `dsymm_'
> PB_Cdtypeset.c:(.text+0x261): undefined reference to
> `dsymm_'
> PB_Cdtypeset.c:(.text+0x26c): undefined reference to
> `dsyrk_'
> PB_Cdtypeset.c:(.text+0x277): undefined reference to
> `dsyrk_'
> PB_Cdtypeset.c:(.text+0x282): undefined reference to
> `dsyr2k_'
> PB_Cdtypeset.c:(.text+0x28d): undefined reference to
> `dsyr2k_'
> PB_Cdtypeset.c:(.text+0x298): undefined reference to
> `dtrmm_'
> PB_Cdtypeset.c:(.text+0x2a3): undefined reference to
> `dtrsm_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pdswap_.o): In
> function `pdswap_':
> pdswap_.c:(.text+0x1505): undefined reference to
> `dcopy_'
> pdswap_.c:(.text+0x1ab2): undefined reference to
> `dswap_'
> pdswap_.c:(.text+0x1d68): undefined reference to
> `dcopy_'
> pdswap_.c:(.text+0x23b3): undefined reference to
> `dswap_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbztrnv.o): In
> function `pbztrnv_':
> pbztrnv.f:(.text+0x6d): undefined reference to
> `lsame_'
> pbztrnv.f:(.text+0x8d): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbzvecadd.o):
> In function `pbzvecadd_':
> pbzvecadd.f:(.text+0x191): undefined reference to
> `lsame_'
> pbzvecadd.f:(.text+0x31c): undefined reference to
> `lsame_'
> pbzvecadd.f:(.text+0x730): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (pbzvecadd.o):pbzvecadd.f:(.text+0xabb): more undefined references to
> `lsame_'
> follow
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbzvecadd.o):
> In function `pbzvecadd_':
> pbzvecadd.f:(.text+0x138f): undefined reference to
> `zcopy_'
> pbzvecadd.f:(.text+0x1909): undefined reference to
> `zaxpy_'
> pbzvecadd.f:(.text+0x1bd7): undefined reference to
> `zscal_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pbztrst1.o): In
> function `pbztrst1_':
> pbztrst1.f:(.text+0x51): undefined reference to
> `lsame_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a
> (PB_Cztypeset.o): In function `PB_Cztypeset':
> PB_Cztypeset.c:(.text+0x198): undefined reference to
> `zaxpy_'
> PB_Cztypeset.c:(.text+0x1a3): undefined reference to
> `zcopy_'
> PB_Cztypeset.c:(.text+0x1ae): undefined reference to
> `zswap_'
> PB_Cztypeset.c:(.text+0x1b9): undefined reference to
> `zgemv_'
> PB_Cztypeset.c:(.text+0x1cf): undefined reference to
> `zhemv_'
> PB_Cztypeset.c:(.text+0x1da): undefined reference to
> `ztrmv_'
> PB_Cztypeset.c:(.text+0x1e5): undefined reference to
> `ztrsv_'
> PB_Cztypeset.c:(.text+0x21c): undefined reference to
> `zgerc_'
> PB_Cztypeset.c:(.text+0x227): undefined reference to
> `zgeru_'
> PB_Cztypeset.c:(.text+0x23d): undefined reference to
> `zher_'
> PB_Cztypeset.c:(.text+0x253): undefined reference to
> `zher2_'
> PB_Cztypeset.c:(.text+0x25e): undefined reference to
> `zgemm_'
> PB_Cztypeset.c:(.text+0x269): undefined reference to
> `zsymm_'
> PB_Cztypeset.c:(.text+0x274): undefined reference to
> `zhemm_'
> PB_Cztypeset.c:(.text+0x27f): undefined reference to
> `zsyrk_'
> PB_Cztypeset.c:(.text+0x28a): undefined reference to
> `zherk_'
> PB_Cztypeset.c:(.text+0x295): undefined reference to
> `zsyr2k_'
> PB_Cztypeset.c:(.text+0x2a0): undefined reference to
> `zher2k_'
> PB_Cztypeset.c:(.text+0x2ab): undefined reference to
> `ztrmm_'
> PB_Cztypeset.c:(.text+0x2b6): undefined reference to
> `ztrsm_'
> /home/zhang/software/cp2k/intel/lib/lib/libscalapack.a(pzswap_.o): In
> function `pzswap_':
> pzswap_.c:(.text+0x1505): undefined reference to
> `zcopy_'
> pzswap_.c:(.text+0x1ab2): undefined reference to
> `zswap_' ...
>
> read more »



More information about the CP2K-user mailing list