- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I try to compile GAMESS on x86-64 using ifort & MKL. When I try to link it, I get the following error message:
- undefined reference to 'pthread_atfork'
There have been many more undefined references until I added libguide.a to the libraries to be linked to. Do I have to specify any other library to resolve this problem? Thanks for any hints.
Regards,
Hannes
Code:
Thu Oct 27 15:34:17 CEST 2005 GAMESS will be linked into the executable image gamess.00.x. chdir object ifort -o ../gamess.00.x -Wl,-rpath=/opt/intel/mkl/8.0/lib/em64t gamess.o unport.o zunix.o aldeci.o algnci.o basccn.o basecp.o basext.o bashuz.o bashz2.o basn21.o basn31.o baspcn.o bassto.o ccaux.o ccqaux.o ccquad.o ccsdt.o chgpen.o cisgrd.o cosmo.o cphf.o cpmchf.o cprohf.o ddilib.o delocl.o demrpt.o dft.o dftaux.o dftexc.o dftfun.o dftgrd.o dftint.o dgeev.o dgesvd.o dmulti.o drc.o ecp.o ecpder.o ecplib.o ecppot.o efchtr.o efdrvr.o efgrda.o efgrdb.o efgrdc.o efgrd2.o efinp.o efinta.o efintb.o efelec.o efpaul.o efpcm.o efpcov.o eigen.o eomcc.o ffield.o fmo.o fmogrd.o fmoint.o fmoio.o fmolib.o fmoprp.o frfmt.o fsodci.o globop.o gradex.o guess.o grd1.o grd2a.o grd2b.o grd2c.o gugdga.o gugdgb.o gugdm.o gugdm2.o gugdrt.o gugem.o gugsrt.o gvb.o hess.o hss1a.o hss1b.o hss2a.o hss2b.o inputa.o inputb.o inputc.o int1.o int2a.o int2b.o int2c.o int2d.o int2f.o int2g.o int2r.o int2s.o int2t.o int2u.o int2v.o int2w.o int2x.o iolib.o lagran.o local.o loccd.o locpol.o mcpinp.o mcpint.o mcpl10.o mcpl20.o mcpl30.o mcpl40.o mcpl50.o mcpl60.o mcpl70.o mcpl80.o mccas.o mcjac.o mcqdpt.o mcqdwt.o mcqud.o mcscf.o mctwo.o mdefp.o mm23.o mp2.o mp2ddi.o mp2grd.o mpcdat.o mpcgrd.o mpcint.o mpcmol.o mpcmsc.o morokm.o mthlib.o nameio.o nmr.o ordint.o ormas1.o parley.o pcm.o pcmcav.o pcmcv2.o pcmder.o pcmdis.o pcmief.o pcmpol.o pcmvch.o prpel.o prplib.o prppop.o qeigen.o qfmm.o qmfm.o qrel.o raman.o rhfuhf.o rxncrd.o ryspol.o scflib.o scfmi.o scrf.o sobrt.o soffac.o solib.o sozeff.o statpt.o surf.o svpchg.o svpinp.o svpleb.o symorb.o symslc.o tdhf.o tdx.o tdxio.o tdxitr.o tdxni.o tdxprp.o trans.o trfdm2.o trnstn.o trudge.o umpddi.o vibanl.o vscf.o zapddi.o zheev.o zmatrx.o qmmm.o vbdum.o neostb.o ../ddi/libddi.a -lpthread /opt/intel/mkl/8.0/lib/em64t/libmkl_em64t.a /opt/intel/mkl/8.0/lib/em64t/libguide.a /opt/intel/mkl/8.0/lib/em64t/libguide.a(z_Linux_util.o)(.text+0x1555): In function `__kmp_register_atfork': : undefined reference to `pthread_atfork' unset echo 0.570u 0.315s 0:00.89 98.8% 0+0k 0+0io 0pf+0w
System Information:
- Dual Opteron
- Rocks 4.0 (based on CentOS 4.0)
- Intel CCE 9.0
- Intel FCE 9.0
- Intel MKL 8.0
- gcc 3.2.3
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Follow one of the examples which link against libguide and libpthreads, or use ifort -openmp to cover both of those.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I used this configuration with success :
#
# Define the options for the system loader 'ld'. These are
# LDR - the name of the loader (usually a compiler).
# LDOPTS - options, such as asking for a load map.
# LIBRARIES - extra system libraries which must be searched.
# BLAS - set to blas.o if not using system BLAS.
# set to blank if using system BLAS.
# VECTOR - set to vector.o on a vector processor.
# set to blank on a scalar processor.
# QUICHE - set to zunix.o if using true dynamic memory,
# possibly add other system specific objects.
# set to blank otherwise.
#
# --- start of machine specific options ---
#
if ($TARGET == amd64) then
set LDR = 'ifort'
set LDOPTS='-O2 -xP'
# set LDOPTS="$LDOPTS -fastsse -Mipa=fast,safe -Mprof=func"
set VECTOR=' '
# if (-e /usr/lib64/libblas.a) then
set LIBRARIES='-L/opt/intel/mkl/8.0/lib/em64t/ -lmkl_em64t -lguide -lpthread'
set BLAS=' '
# else
# set LIBRARIES=' '
# set BLAS='blas.o'
# endif
set QUICHE='zunix.o'
# endif
endif
If you compiled the rest of gamess with ifort, could you share with me the compilations options you used in the "comp" script?
#
# Define the options for the system loader 'ld'. These are
# LDR - the name of the loader (usually a compiler).
# LDOPTS - options, such as asking for a load map.
# LIBRARIES - extra system libraries which must be searched.
# BLAS - set to blas.o if not using system BLAS.
# set to blank if using system BLAS.
# VECTOR - set to vector.o on a vector processor.
# set to blank on a scalar processor.
# QUICHE - set to zunix.o if using true dynamic memory,
# possibly add other system specific objects.
# set to blank otherwise.
#
# --- start of machine specific options ---
#
if ($TARGET == amd64) then
set LDR = 'ifort'
set LDOPTS='-O2 -xP'
# set LDOPTS="$LDOPTS -fastsse -Mipa=fast,safe -Mprof=func"
set VECTOR=' '
# if (-e /usr/lib64/libblas.a) then
set LIBRARIES='-L/opt/intel/mkl/8.0/lib/em64t/ -lmkl_em64t -lguide -lpthread'
set BLAS=' '
# else
# set LIBRARIES=' '
# set BLAS='blas.o'
# endif
set QUICHE='zunix.o'
# endif
endif
If you compiled the rest of gamess with ifort, could you share with me the compilations options you used in the "comp" script?

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page