OpenMp and ld problems

I am trying to compile and link some Fortran. My current setup is

RHEL 5.3 64 bit with pgf90 9.0 and intel xeon procs.

I can compile a serial run fine, but my problem results in the linking stage with the -lpgc flag for OpenMp. When I also use the mcmodel=medium flag (I eventually want a 64 bit executable) the program will run without creating any output. Trying to compile without the mcmodel=medium flag gives me this error:

/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_lcpu3': barrier.c:(.text+0x31): multiple definition of _mp_lcpu3’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol _mp_lcpu3' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 43 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_lcpu2’:
barrier.c:(.text+0x5c): multiple definition of _mp_lcpu2' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0xb): first defined here /usr/bin/ld: Warning: size of symbol _mp_lcpu2’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 70 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_ncpus2': barrier.c:(.text+0xa2): multiple definition of _mp_ncpus2’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x16): first defined here
/usr/bin/ld: Warning: size of symbol _mp_ncpus2' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 65 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_ncpus3’:
barrier.c:(.text+0xe3): multiple definition of _mp_ncpus3' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x21): first defined here /usr/bin/ld: Warning: size of symbol _mp_ncpus3’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 19 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_init': barrier.c:(.text+0x1318): multiple definition of _mp_init’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x7d): first defined here
/usr/bin/ld: Warning: size of symbol _mp_init' changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 117 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_ncpus3p’:
barrier.c:(.text+0xf6): multiple definition of _mp_ncpus3p' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x2c): first defined here /usr/bin/ld: Warning: size of symbol _mp_ncpus3p’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_tcpus_max': barrier.c:(.text+0x114): multiple definition of _mp_get_tcpus_max’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x37): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_tcpus_max' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_tcpus’:
barrier.c:(.text+0x132): multiple definition of _mp_get_tcpus' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x42): first defined here /usr/bin/ld: Warning: size of symbol _mp_get_tcpus’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_par': barrier.c:(.text+0x150): multiple definition of _mp_get_par’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x4d): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_par' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_par3’:
barrier.c:(.text+0x15c): multiple definition of _mp_get_par3' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0xc9): first defined here /usr/bin/ld: Warning: size of symbol _mp_get_par3’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 34 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_parpar': barrier.c:(.text+0x17e): multiple definition of _mp_get_parpar’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x58): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_parpar' changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 21 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_stackz’:
barrier.c:(.text+0x235): multiple definition of _mp_get_stackz' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x83): first defined here /usr/bin/ld: Warning: size of symbol _mp_get_stackz’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 66 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_schedule': barrier.c:(.text+0x283): multiple definition of _mp_get_schedule’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x66): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_schedule' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 13 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_barrier’:
barrier.c:(.text+0x2b1): multiple definition of _mp_barrier' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x71): first defined here /usr/bin/ld: Warning: size of symbol _mp_barrier’ changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 911 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_barrier2': barrier.c:(.text+0xbe8): multiple definition of _mp_barrier2’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x77): first defined here
/usr/bin/ld: Warning: size of symbol _mp_barrier2' changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 93 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_set_stackz’:
barrier.c:(.text+0xc74): multiple definition of _mp_set_stackz' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x8e): first defined here /usr/bin/ld: Warning: size of symbol _mp_set_stackz’ changed from 9 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 162 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_nestlvl': barrier.c:(.text+0x1424): multiple definition of _mp_get_nestlvl’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0x97): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_nestlvl' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 53 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_actnestlvl’:
barrier.c:(.text+0x1459): multiple definition of _mp_get_actnestlvl' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0xa2): first defined here /usr/bin/ld: Warning: size of symbol _mp_get_actnestlvl’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 34 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_teamsz': barrier.c:(.text+0x147b): multiple definition of _mp_get_teamsz’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0xad): first defined here
/usr/bin/ld: Warning: size of symbol _mp_get_teamsz' changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 88 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o): In function _mp_get_anthrdnum’:
barrier.c:(.text+0x14d3): multiple definition of _mp_get_anthrdnum' /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o):barrier_ser.c:(.text+0xbb): first defined here /usr/bin/ld: Warning: size of symbol _mp_get_anthrdnum’ changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 83 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(setaff.o): In function _mp_malloc_local': setaff.c:(.text+0xd9): multiple definition of _mp_malloc_local’
/opt/pgi/linux86-64/9.0-2/lib/libpgc.a(init_dummy2.o):init_dummy2.c:(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol _mp_malloc_local' changed from 31 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(init_dummy2.o) to 85 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(setaff.o) make[1]: *** [swan.exe] Error 2 make[1]: Leaving directory /swan/source/swan4072’
make: *** [omp] Error 2


I am a new to this stuff, but after a day of googling and combing the PG webpage I have found a very similar error here for 32bit x86 pgf90.

https://forums.developer.nvidia.com/t/gaussian-03-compilation-pgi-8-04/131221/1


Has anyone else run across a Multiple Definition Error while linking? I’ve seen a patch available on the FAQ page for linking for the ld linker but it was for 32bit. http://www.pgroup.com/support/link.htm#mkl

Thanks for the help!

Hi Chase,

I have only seen this this type of error when a user is given a library that has been built to include the PGI runtime libraries (via the ld --whole-archive flag). The quick work arounds are not include the PGI MP runtime library (i.e. compile but not link with “-mp”) or add the linker flag “-Wl,–allow-multiple-definition”. Though, you run the risk of version incompatibilities.

The better solution is to determine where these references are coming from (‘nm libname.a | grep mp_lcpu’) and either rebuild the library without the PGI runtime or extract the library’s objects, remove the PGI runtime objects, and then re-archive the library.

Then again, this could be caused by something else. In this case, please post your link command using the verbose flag ("-v").

Thanks,
Mat

Mat, Thank you for your quick reply! After linking with the allow multiple definition flag the executable does not work. I haven’t yet tried to find where the references are coming from, but I did try linking with the --verbose flag…i wonder if it is something wrong with my gcc installation?

==================================================
attempt to open /usr/lib64/crt1.o succeeded
/usr/lib64/crt1.o
attempt to open /usr/lib64/crti.o succeeded
/usr/lib64/crti.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/trace_init.o succeeded
/opt/pgi/linux86-64/9.0-2/lib/trace_init.o
attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbegin.o succeeded
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbegin.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/initmp.o succeeded
/opt/pgi/linux86-64/9.0-2/lib/initmp.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/f90main.o succeeded
/opt/pgi/linux86-64/9.0-2/lib/f90main.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/pgi.ld succeeded
opened script file /opt/pgi/linux86-64/9.0-2/lib/pgi.ld
attempt to open swmod1.o succeeded
swmod1.o
attempt to open swmod2.o succeeded
swmod2.o
attempt to open m_constants.o succeeded
m_constants.o
attempt to open m_fileio.o succeeded
m_fileio.o
attempt to open serv_xnl4v5.o succeeded
serv_xnl4v5.o
attempt to open mod_xnl4v5.o succeeded
mod_xnl4v5.o
attempt to open SwanGriddata.o succeeded
SwanGriddata.o
attempt to open SwanGridobjects.o succeeded
SwanGridobjects.o
attempt to open SwanCompdata.o succeeded
SwanCompdata.o
attempt to open swanmain.o succeeded
swanmain.o
attempt to open swanpre1.o succeeded
swanpre1.o
attempt to open swanpre2.o succeeded
swanpre2.o
attempt to open swancom1.o succeeded
swancom1.o
attempt to open swancom2.o succeeded
swancom2.o
attempt to open swancom3.o succeeded
swancom3.o
attempt to open swancom4.o succeeded
swancom4.o
attempt to open swancom5.o succeeded
swancom5.o
attempt to open swanout1.o succeeded
swanout1.o
attempt to open swanout2.o succeeded
swanout2.o
attempt to open swanser.o succeeded
swanser.o
attempt to open swanparll.o succeeded
swanparll.o
attempt to open SwanReadGrid.o succeeded
SwanReadGrid.o
attempt to open SwanReadADCGrid.o succeeded
SwanReadADCGrid.o
attempt to open SwanReadTriangleGrid.o succeeded
SwanReadTriangleGrid.o
attempt to open SwanReadEasymeshGrid.o succeeded
SwanReadEasymeshGrid.o
attempt to open SwanInitCompGrid.o succeeded
SwanInitCompGrid.o
attempt to open SwanCheckGrid.o succeeded
SwanCheckGrid.o
attempt to open SwanCreateEdges.o succeeded
SwanCreateEdges.o
attempt to open SwanGridTopology.o succeeded
SwanGridTopology.o
attempt to open SwanGridVert.o succeeded
SwanGridVert.o
attempt to open SwanGridCell.o succeeded
SwanGridCell.o
attempt to open SwanGridFace.o succeeded
SwanGridFace.o
attempt to open SwanPrintGridInfo.o succeeded
SwanPrintGridInfo.o
attempt to open SwanFindPoint.o succeeded
SwanFindPoint.o
attempt to open SwanPointinMesh.o succeeded
SwanPointinMesh.o
attempt to open SwanBpntlist.o succeeded
SwanBpntlist.o
attempt to open SwanPrepComp.o succeeded
SwanPrepComp.o
attempt to open SwanVertlist.o succeeded
SwanVertlist.o
attempt to open SwanCompUnstruc.o succeeded
SwanCompUnstruc.o
attempt to open SwanDispParm.o succeeded
SwanDispParm.o
attempt to open SwanPropvelX.o succeeded
SwanPropvelX.o
attempt to open SwanSweepSel.o succeeded
SwanSweepSel.o
attempt to open SwanPropvelS.o succeeded
SwanPropvelS.o
attempt to open SwanTranspAc.o succeeded
SwanTranspAc.o
attempt to open SwanTranspX.o succeeded
SwanTranspX.o
attempt to open SwanInterpolatePoint.o succeeded
SwanInterpolatePoint.o
attempt to open SwanInterpolateAc.o succeeded
SwanInterpolateAc.o
attempt to open SwanInterpolateOutput.o succeeded
SwanInterpolateOutput.o
attempt to open SwanConvAccur.o succeeded
SwanConvAccur.o
attempt to open SwanConvStopc.o succeeded
SwanConvStopc.o
attempt to open SwanFindObstacles.o succeeded
SwanFindObstacles.o
attempt to open SwanCrossObstacle.o succeeded
SwanCrossObstacle.o
attempt to open SwanComputeForce.o succeeded
SwanComputeForce.o
attempt to open SwanIntgratSpc.o succeeded
SwanIntgratSpc.o
attempt to open ocpids.o succeeded
ocpids.o
attempt to open ocpcre.o succeeded
ocpcre.o
attempt to open ocpmix.o succeeded
ocpmix.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgc.so failed
attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgc.a succeeded
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)dpowi.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)ipowi.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)rpowi.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)nint.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)pgstdinit.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)pgargs.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)acosf.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)asinf.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)trace.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)tan.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)atan.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)atan2.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)datan2.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)cosh.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)sinh.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)tanh.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)fastmath.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)fastmod.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)trace_lin.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)barrier_ser.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)omp2.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)crit_dum.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)tp.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)init_dummy.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)init_dummy2.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)scheds2.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)alloca.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)cpuinfo.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)cpuid.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)sincos.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)dsincos.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)stkchk.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mpmalloc.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mxcsr.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)sincosp.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)dsincosp.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)omp.o
attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgmp.so failed
attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a succeeded
(/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a)par.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a)preinit.o
(/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a)barrier.o
/usr/bin/ld: Warning: size of symbol _mp_lcpu3' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 43 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_lcpu2’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 70 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_ncpus2' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 65 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_ncpus3’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 19 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_init' changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 117 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_ncpus3p’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_tcpus_max' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_get_tcpus’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_par' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 12 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_get_par3’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 34 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_parpar' changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 21 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_get_stackz’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 66 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_schedule' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 13 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_barrier’ changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 911 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_barrier2' changed from 6 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 93 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_set_stackz’ changed from 9 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 162 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_nestlvl' changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 53 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_get_actnestlvl’ changed from 11 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 34 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
/usr/bin/ld: Warning: size of symbol _mp_get_teamsz' changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 88 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o) /usr/bin/ld: Warning: size of symbol _mp_get_anthrdnum’ changed from 14 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(barrier_ser.o) to 83 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(barrier.o)
(/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a)setaff.o
/usr/bin/ld: Warning: size of symbol _mp_malloc_local' changed from 31 in /opt/pgi/linux86-64/9.0-2/lib/libpgc.a(init_dummy2.o) to 85 in /opt/pgi/linux86-64/9.0-2/lib/libpgmp.a(setaff.o) (/opt/pgi/linux86-64/9.0-2/lib/libpgmp.a)bar.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgbind.so succeeded -lpgbind (/opt/pgi/linux86-64/9.0-2/lib/libpgbind.so) attempt to open /opt/pgi/linux86-64/9.0-2/lib/libnuma.so succeeded -lnuma (/opt/pgi/linux86-64/9.0-2/lib/libnuma.so) attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpthread.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpthread.a failed attempt to open /usr/lib64/libpthread.so succeeded opened script file /usr/lib64/libpthread.so opened script file /usr/lib64/libpthread.so attempt to open /lib64/libpthread.so.0 succeeded /lib64/libpthread.so.0 attempt to open /usr/lib64/libpthread_nonshared.a succeeded attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)backspace.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)close.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)desc.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)encodefmt.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)error.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)fmtread.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)fmtwrite.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)ftnexit.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)inquire.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)ldread.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)ldwrite.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)open.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)pgifiodf.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)rewind.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)unf.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)utils.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)utilsi64.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)allo.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)dist.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)hpfio.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)hpfio_hpf.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)initpar.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)malloc.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)miscsup_com.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)ptr.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)rdst.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)red_minloc.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)reshape.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)rw.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)util.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)version.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)xfer.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)stat_linux.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)allo_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)red_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)reduct_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)rdst_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)util_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)assign.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)async.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)fmtconv.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)fmtgetnum.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)fpcvt.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)misc.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)atol.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)comm.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)copy.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)defs.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)entry.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)red.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)reduct.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)scal.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)scalar_copy.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)dist_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)scal_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)comm_i8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90.a)copy_i8.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90_rpm1.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90_rpm1.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgf90_rpm1.a)init_rpm1.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf90_rpm1.a)xfer_rpm1.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf902.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf902.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)cnfg.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)bcopy.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)bcopys.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)buffer.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)chn1t1.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)const.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)cprof.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)cprof2.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)genlist.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)hand.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)stat.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)trace.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)trace2.o (/opt/pgi/linux86-64/9.0-2/lib/libpgf902.a)xfer_heap_dum.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90rtl.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgf90rtl.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgf90rtl.a)ftncharsup.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)utils.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)pgifiodf.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)error.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)open.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)close.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)cnfg.o (/opt/pgi/linux86-64/9.0-2/lib/libpgftnrtl.a)pgdummy.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/libnspgc.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libnspgc.a succeeded attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgc.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpgc.a succeeded (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mcopy1.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mcopy2.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mcopy4.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mcopy8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mset1.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mset2.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mzero1.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mzero2.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mset4.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mset8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mzero4.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)mzero8.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)rtcrit.o (/opt/pgi/linux86-64/9.0-2/lib/libpgc.a)pgtempnam.o attempt to open /opt/pgi/linux86-64/9.0-2/lib/librt.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/librt.a failed attempt to open /usr/lib64/librt.so succeeded -lrt (/usr/lib64/librt.so) attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpthread.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libpthread.a failed attempt to open /usr/lib64/libpthread.so succeeded opened script file /usr/lib64/libpthread.so opened script file /usr/lib64/libpthread.so attempt to open /lib64/libpthread.so.0 succeeded /lib64/libpthread.so.0 attempt to open /usr/lib64/libpthread_nonshared.a succeeded attempt to open /opt/pgi/linux86-64/9.0-2/lib/libm.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libm.a failed attempt to open /usr/lib64/libm.so succeeded -lm (/usr/lib64/libm.so) attempt to open /opt/pgi/linux86-64/9.0-2/lib/libgcc.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libgcc.a failed attempt to open /usr/lib64/libgcc.so failed attempt to open /usr/lib64/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.a succeeded attempt to open /opt/pgi/linux86-64/9.0-2/lib/libc.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libc.a failed attempt to open /usr/lib64/libc.so succeeded opened script file /usr/lib64/libc.so opened script file /usr/lib64/libc.so attempt to open /lib64/libc.so.6 succeeded /lib64/libc.so.6 attempt to open /usr/lib64/libc_nonshared.a succeeded (/usr/lib64/libc_nonshared.a)elf-init.oS (/usr/lib64/libc_nonshared.a)atexit.oS (/usr/lib64/libc_nonshared.a)fstat.oS attempt to open /lib64/ld-linux-x86-64.so.2 succeeded /lib64/ld-linux-x86-64.so.2 attempt to open /opt/pgi/linux86-64/9.0-2/lib/libgcc.so failed attempt to open /opt/pgi/linux86-64/9.0-2/lib/libgcc.a failed attempt to open /usr/lib64/libgcc.so failed attempt to open /usr/lib64/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.a succeeded attempt to open /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o succeeded /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o attempt to open /usr/lib64/crtn.o succeeded /usr/lib64/crtn.o ld-linux-x86-64.so.2 needed by /opt/pgi/linux86-64/9.0-2/lib/libpgbind.so found ld-linux-x86-64.so.2 at /lib64/ld-linux-x86-64.so.2 make[1]: Leaving directory /swan/source/swan4072’
make FOR="" FFLAGS=" -Wl,–allow-multiple-definition,–verbose " hcat.exe
make[1]: Entering directory /swan/source/swan4072' swanhcat.F -c -Wl,--allow-multiple-definition,--verbose make[1]: swanhcat.F: Command not found make[1]: *** [swanhcat.o] Error 127 make[1]: Leaving directory /swan/source/swan4072’
make: *** [omp] Error 2

also I didn’t include the entire output for the whole --verbose flag with ld, the forum wouldnt let me post the whole thing =)

Hi Chase,

Sorry, I’m still puzzled. Can you post your link command? Also, please run ‘nm | grep grep mp_lcpu’ on each of the objects and libraries that you are linking.

  • Mat