Re: Error compiling NAMD 2.15 Source Code

From: Josh Vermaas (vermaasj_at_msu.edu)
Date: Thu Apr 07 2022 - 15:41:22 CDT

Hi Hung,

Where did your fftw come from? The linker failed, because the fftw
library being passed is violating some assumptions that the compiler
made when compiling the rest of the program. I admittedly haven't seen
this issue myself from the FFTW libraries I've downloaded from UIUC in
the past, but it might be useful to know what your gcc version is for
others trying to help.

-Josh

On 4/5/22 11:15 PM, Do, Hung Nguyen wrote:
> Hello,
>
> I followed the instructions in notes.txt and got the following error
> while trying to compile NAMD 2.15 Source Codes. Can someone please
> have a look and let me know how to fix this? I used the default
> charm-6.10.2 (and tcl-threaded and fftw) included in the NAMD folder.
>
> Many thanks,
> Hung
>
>
> OpenMP support not enabled
> charmc> ----------- Module dependency search ------------
> charmc> ----------- Module dependency search complete ------------
> charmc> All libraries are:
> -L.rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib
> -lmoduleCkLoop -lmoduleCkMulticast -lckmain -lck -lmemory-default
> -lthreads-default -lconv-machine -lconv-core -ltmgr -lconv-util
> -lconv-partition -lhwloc_embedded -lm -lcudart -lmemory-default
> -lthreads-default -lldb-rand -lconv-ldb -lpthread -lckqt -ldl -ltcl8.5
> -ldl -lpthread -lsrfftw -lsfftw -lm -lmoduleCkMulticast -lmoduleCkLoop
> -lmoduleNDMeshStreamer -lmodulecompletion -lz -lm
> .rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib/conv-static.o
> Adding registration for module CkMulticast
> Adding registration for module CkLoop
> charmc: Executing g++ -DCMK_GFORTRAN -D_REENTRANT
> -I.rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../include
> -D__CHARMC__=1 -DCMK_OPTIMIZE=1 -Iinc -Isrc -O3
> -fexpensive-optimizations -ffast-math -U_FORTIFY_SOURCE
> -fno-stack-protector -fno-lifetime-dse -c moduleinit2681096.C -o
> moduleinit2681096.o
> charmc: Executing g++ -rdynamic -D_REENTRANT -O3
> -fexpensive-optimizations -ffast-math
> -I.rootdir/charm-6.10.2/multicore-linux-x86_64/include
> -L.rootdir/tcl-threaded/lib -L.rootdir/fftw/lib obj/buildinfo.o
> obj/AVXTiles.o obj/AVXTilesKernel.o obj/AVXTileLists.o
> obj/ComputeMoa.o obj/ComputeMsm.o obj/ComputeMsmMsa.o
> obj/ComputeMsmSerial.o obj/ComputeFmmSerial.o obj/msm.o
> obj/msm_longrng.o obj/msm_longrng_sprec.o obj/msm_setup.o
> obj/msm_shortrng.o obj/msm_shortrng_sprec.o obj/wkfutils.o
> obj/common.o obj/dcdlib.o obj/eabf1D.o obj/eabf2D.o obj/eabffunc.o
> obj/eabfTcl.o obj/erf.o obj/fitrms.o obj/main.o obj/mainfunc.o
> obj/memusage.o obj/strlib.o obj/AlgSeven.o obj/AlgRecBisection.o
> obj/AlgNbor.o obj/AtomMap.o obj/BackEnd.o obj/BroadcastMgr.o
> obj/BroadcastClient.o obj/CollectionMaster.o obj/CollectionMgr.o
> obj/Communicate.o obj/Compute.o obj/ComputeAngles.o obj/ComputeAniso.o
> obj/ComputeBonds.o obj/ComputeBondedCUDA.o obj/ComputeConsForce.o
> obj/ComputeConsForceMsgs.o obj/ComputeCrossterms.o
> obj/ComputeCUDAMgr.o obj/ComputeCylindricalBC.o obj/ComputeDihedrals.o
> obj/ComputeDPME.o obj/ComputeDPMEMsgs.o obj/ComputeDPMTA.o
> obj/ComputeEField.o obj/ComputeEwald.o obj/ComputeExt.o
> obj/ComputeQM.o obj/ComputeGBISser.o obj/ComputeGBIS.o
> obj/ComputeGromacsPair.o obj/ComputeLCPO.o obj/ComputeFullDirect.o
> obj/ComputeHomePatch.o obj/ComputeHomePatches.o obj/ComputeImpropers.o
> obj/ComputeGlobal.o obj/ComputeGlobalMsgs.o obj/ComputeGridForce.o
> obj/ComputeMap.o obj/ComputeMgr.o obj/ComputeNonbondedSelf.o
> obj/ComputeNonbondedPair.o obj/ComputeNonbondedUtil.o
> obj/ComputeNonbondedStd.o obj/ComputeNonbondedFEP.o
> obj/ComputeNonbondedGo.o obj/ComputeNonbondedTI.o
> obj/ComputeNonbondedLES.o obj/ComputeNonbondedPProf.o
> obj/ComputeNonbondedTabEnergies.o obj/ComputeNonbondedCUDA.o
> obj/ComputeNonbondedCUDAExcl.o obj/ComputeNonbondedMIC.o
> obj/ComputeNonbondedMICKernel.o obj/ComputePatch.o
> obj/ComputePatchPair.o obj/ComputePme.o obj/ComputePmeCUDA.o
> obj/ComputePmeCUDAMgr.o obj/ComputeRestraints.o
> obj/ComputeSphericalBC.o obj/ComputeStir.o obj/ComputeTclBC.o
> obj/ComputeThole.o obj/ConfigList.o obj/Controller.o
> obj/CudaComputeNonbonded.o obj/CudaNonbondedTables.o
> obj/CudaPmeSolver.o obj/CudaPmeSolverUtil.o obj/CudaUtils.o
> obj/ccsinterface.o obj/DataStream.o obj/DeviceCUDA.o obj/DumpBench.o
> obj/FreeEnergyAssert.o obj/FreeEnergyGroup.o obj/FreeEnergyLambda.o
> obj/FreeEnergyLambdMgr.o obj/FreeEnergyParse.o
> obj/FreeEnergyRestrain.o obj/FreeEnergyRMgr.o obj/FreeEnergyVector.o
> obj/fstream_namd.o obj/GlobalMaster.o obj/GlobalMasterServer.o
> obj/GlobalMasterTest.o obj/GlobalMasterIMD.o obj/GlobalMasterTcl.o
> obj/GlobalMasterSMD.o obj/GlobalMasterTMD.o obj/Matrix4Symmetry.o
> obj/GlobalMasterSymmetry.o obj/GlobalMasterFreeEnergy.o
> obj/GlobalMasterEasy.o obj/GlobalMasterMisc.o obj/colvarproxy_namd.o
> obj/GridForceGrid.o obj/GromacsTopFile.o obj/heap.o obj/HomePatch.o
> obj/IMDOutput.o obj/InfoStream.o obj/LdbCoordinator.o obj/LJTable.o
> obj/Measure.o obj/MGridforceParams.o obj/MStream.o
> obj/MigrateAtomsMsg.o obj/Molecule.o obj/Molecule2.o obj/GoMolecule.o
> obj/MoleculeQM.o obj/NamdCentLB.o obj/NamdHybridLB.o obj/NamdDummyLB.o
> obj/NamdState.o obj/NamdOneTools.o obj/Node.o obj/Output.o
> obj/Parameters.o obj/ParseOptions.o obj/Patch.o obj/PatchMgr.o
> obj/PatchMap.o obj/PDB.o obj/PDBData.o obj/PmeKSpace.o
> obj/PmeRealSpace.o obj/PmeSolver.o obj/ProcessorPrivate.o
> obj/ProxyMgr.o obj/ProxyPatch.o obj/Rebalancer.o obj/RecBisection.o
> obj/ReductionMgr.o obj/RefineOnly.o obj/RefineTorusLB.o
> obj/ScriptTcl.o obj/Sequencer.o obj/Set.o obj/Settle.o
> obj/SimParameters.o obj/SortAtoms.o obj/Sync.o obj/TclCommands.o
> obj/TorusLB.o obj/WorkDistrib.o obj/pub3dfft.o obj/vmdsock.o
> obj/parm.o obj/imd.o obj/CompressPsf.o obj/PluginIOMgr.o
> obj/DataExchanger.o obj/ParallelIOMgr.o obj/dcdplugin.o obj/jsplugin.o
> obj/namdbinplugin.o obj/pdbplugin.o obj/psfplugin.o obj/tcl_psfgen.o
> obj/charmm_file.o obj/charmm_parse_topo_defs.o obj/extract_alias.o
> obj/hash.o obj/hasharray.o obj/memarena.o obj/pdb_file.o
> obj/pdb_file_extract.o obj/psf_file.o obj/psf_file_extract.o
> obj/topo_defs.o obj/topo_mol.o obj/topo_mol_output.o
> obj/topo_mol_pluginio.o obj/stringhash.o obj/colvar.o
> obj/colvaratoms.o obj/colvarbias.o obj/colvarbias_abf.o
> obj/colvarbias_alb.o obj/colvarbias_histogram.o obj/colvarbias_meta.o
> obj/colvarbias_restraint.o obj/colvarcomp.o obj/colvarcomp_angles.o
> obj/colvarcomp_apath.o obj/colvarcomp_coordnums.o
> obj/colvarcomp_distances.o obj/colvarcomp_gpath.o
> obj/colvarcomp_protein.o obj/colvarcomp_rotations.o
> obj/colvarcomp_volmaps.o obj/colvardeps.o obj/colvargrid.o
> obj/colvarmodule.o obj/colvarparams.o obj/colvarparse.o
> obj/colvarproxy.o obj/colvarproxy_volmaps.o obj/colvarproxy_replicas.o
> obj/colvarproxy_tcl.o obj/colvarscript.o obj/colvarscript_commands.o
> obj/colvarscript_commands_bias.o obj/colvarscript_commands_colvar.o
> obj/colvartypes.o obj/colvarvalue.o obj/CompiledExpression.o
> obj/ExpressionProgram.o obj/ExpressionTreeNode.o obj/Operation.o
> obj/ParsedExpression.o obj/Parser.o moduleinit2681096.o
> -L.rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib
> -lmoduleCkLoop -lmoduleCkMulticast -lckmain -lck -lmemory-default
> -lthreads-default -lconv-machine -lconv-core -ltmgr -lconv-util
> -lconv-partition -lhwloc_embedded -lm -lcudart -lmemory-default
> -lthreads-default -lldb-rand -lconv-ldb -lpthread -lckqt -ldl -ltcl8.5
> -ldl -lpthread -lsrfftw -lsfftw -lm -lmoduleCkMulticast -lmoduleCkLoop
> -lmoduleNDMeshStreamer -lmodulecompletion -lz -lm
> .rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib/conv-static.o
> -o namd2
> /usr/bin/ld: .rootdir/fftw/lib/libsrfftw.a(rfftwnd.o): relocation
> R_X86_64_32 against `.rodata.str1.32' can not be used when making a
> PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsrfftw.a(rplanner.o): relocation
> R_X86_64_32 against symbol `rfftw_config' can not be used when making
> a PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsrfftw.a(rexec.o): relocation
> R_X86_64_32 against `.rodata.str1.32' can not be used when making a
> PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(planner.o): relocation
> R_X86_64_32 against symbol `fftw_config' can not be used when making a
> PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(executor.o): relocation
> R_X86_64_32 against `.rodata.str1.32' can not be used when making a
> PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(fftwnd.o): relocation
> R_X86_64_32 against `.rodata.str1.32' can not be used when making a
> PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(malloc.o): relocation
> R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE
> object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(wisdom.o): relocation
> R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE
> object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(wisdomio.o): relocation
> R_X86_64_32 against `.text' can not be used when making a PIE object;
> recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(putils.o): relocation
> R_X86_64_32S against `.rodata' can not be used when making a PIE
> object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(rader.o): relocation
> R_X86_64_32 against symbol `fftw_twiddle_rader' can not be used when
> making a PIE object; recompile with -fPIE
> /usr/bin/ld: .rootdir/fftw/lib/libsfftw.a(twiddle.o): relocation
> R_X86_64_32 against `.bss' can not be used when making a PIE object;
> recompile with -fPIE
> collect2: error: ld returned 1 exit status
> Fatal Error by charmc in directory
> /data/hung/NAMD/NAMD_2.15alpha2_Source/Linux-x86_64-g++
>    Command g++ -rdynamic -D_REENTRANT -O3 -fexpensive-optimizations
> -ffast-math -I.rootdir/charm-6.10.2/multicore-linux-x86_64/include
> -L.rootdir/tcl-threaded/lib -L.rootdir/fftw/lib obj/buildinfo.o
> obj/AVXTiles.o obj/AVXTilesKernel.o obj/AVXTileLists.o
> obj/ComputeMoa.o obj/ComputeMsm.o obj/ComputeMsmMsa.o
> obj/ComputeMsmSerial.o obj/ComputeFmmSerial.o obj/msm.o
> obj/msm_longrng.o obj/msm_longrng_sprec.o obj/msm_setup.o
> obj/msm_shortrng.o obj/msm_shortrng_sprec.o obj/wkfutils.o
> obj/common.o obj/dcdlib.o obj/eabf1D.o obj/eabf2D.o obj/eabffunc.o
> obj/eabfTcl.o obj/erf.o obj/fitrms.o obj/main.o obj/mainfunc.o
> obj/memusage.o obj/strlib.o obj/AlgSeven.o obj/AlgRecBisection.o
> obj/AlgNbor.o obj/AtomMap.o obj/BackEnd.o obj/BroadcastMgr.o
> obj/BroadcastClient.o obj/CollectionMaster.o obj/CollectionMgr.o
> obj/Communicate.o obj/Compute.o obj/ComputeAngles.o obj/ComputeAniso.o
> obj/ComputeBonds.o obj/ComputeBondedCUDA.o obj/ComputeConsForce.o
> obj/ComputeConsForceMsgs.o obj/ComputeCrossterms.o
> obj/ComputeCUDAMgr.o obj/ComputeCylindricalBC.o obj/ComputeDihedrals.o
> obj/ComputeDPME.o obj/ComputeDPMEMsgs.o obj/ComputeDPMTA.o
> obj/ComputeEField.o obj/ComputeEwald.o obj/ComputeExt.o
> obj/ComputeQM.o obj/ComputeGBISser.o obj/ComputeGBIS.o
> obj/ComputeGromacsPair.o obj/ComputeLCPO.o obj/ComputeFullDirect.o
> obj/ComputeHomePatch.o obj/ComputeHomePatches.o obj/ComputeImpropers.o
> obj/ComputeGlobal.o obj/ComputeGlobalMsgs.o obj/ComputeGridForce.o
> obj/ComputeMap.o obj/ComputeMgr.o obj/ComputeNonbondedSelf.o
> obj/ComputeNonbondedPair.o obj/ComputeNonbondedUtil.o
> obj/ComputeNonbondedStd.o obj/ComputeNonbondedFEP.o
> obj/ComputeNonbondedGo.o obj/ComputeNonbondedTI.o
> obj/ComputeNonbondedLES.o obj/ComputeNonbondedPProf.o
> obj/ComputeNonbondedTabEnergies.o obj/ComputeNonbondedCUDA.o
> obj/ComputeNonbondedCUDAExcl.o obj/ComputeNonbondedMIC.o
> obj/ComputeNonbondedMICKernel.o obj/ComputePatch.o
> obj/ComputePatchPair.o obj/ComputePme.o obj/ComputePmeCUDA.o
> obj/ComputePmeCUDAMgr.o obj/ComputeRestraints.o
> obj/ComputeSphericalBC.o obj/ComputeStir.o obj/ComputeTclBC.o
> obj/ComputeThole.o obj/ConfigList.o obj/Controller.o
> obj/CudaComputeNonbonded.o obj/CudaNonbondedTables.o
> obj/CudaPmeSolver.o obj/CudaPmeSolverUtil.o obj/CudaUtils.o
> obj/ccsinterface.o obj/DataStream.o obj/DeviceCUDA.o obj/DumpBench.o
> obj/FreeEnergyAssert.o obj/FreeEnergyGroup.o obj/FreeEnergyLambda.o
> obj/FreeEnergyLambdMgr.o obj/FreeEnergyParse.o
> obj/FreeEnergyRestrain.o obj/FreeEnergyRMgr.o obj/FreeEnergyVector.o
> obj/fstream_namd.o obj/GlobalMaster.o obj/GlobalMasterServer.o
> obj/GlobalMasterTest.o obj/GlobalMasterIMD.o obj/GlobalMasterTcl.o
> obj/GlobalMasterSMD.o obj/GlobalMasterTMD.o obj/Matrix4Symmetry.o
> obj/GlobalMasterSymmetry.o obj/GlobalMasterFreeEnergy.o
> obj/GlobalMasterEasy.o obj/GlobalMasterMisc.o obj/colvarproxy_namd.o
> obj/GridForceGrid.o obj/GromacsTopFile.o obj/heap.o obj/HomePatch.o
> obj/IMDOutput.o obj/InfoStream.o obj/LdbCoordinator.o obj/LJTable.o
> obj/Measure.o obj/MGridforceParams.o obj/MStream.o
> obj/MigrateAtomsMsg.o obj/Molecule.o obj/Molecule2.o obj/GoMolecule.o
> obj/MoleculeQM.o obj/NamdCentLB.o obj/NamdHybridLB.o obj/NamdDummyLB.o
> obj/NamdState.o obj/NamdOneTools.o obj/Node.o obj/Output.o
> obj/Parameters.o obj/ParseOptions.o obj/Patch.o obj/PatchMgr.o
> obj/PatchMap.o obj/PDB.o obj/PDBData.o obj/PmeKSpace.o
> obj/PmeRealSpace.o obj/PmeSolver.o obj/ProcessorPrivate.o
> obj/ProxyMgr.o obj/ProxyPatch.o obj/Rebalancer.o obj/RecBisection.o
> obj/ReductionMgr.o obj/RefineOnly.o obj/RefineTorusLB.o
> obj/ScriptTcl.o obj/Sequencer.o obj/Set.o obj/Settle.o
> obj/SimParameters.o obj/SortAtoms.o obj/Sync.o obj/TclCommands.o
> obj/TorusLB.o obj/WorkDistrib.o obj/pub3dfft.o obj/vmdsock.o
> obj/parm.o obj/imd.o obj/CompressPsf.o obj/PluginIOMgr.o
> obj/DataExchanger.o obj/ParallelIOMgr.o obj/dcdplugin.o obj/jsplugin.o
> obj/namdbinplugin.o obj/pdbplugin.o obj/psfplugin.o obj/tcl_psfgen.o
> obj/charmm_file.o obj/charmm_parse_topo_defs.o obj/extract_alias.o
> obj/hash.o obj/hasharray.o obj/memarena.o obj/pdb_file.o
> obj/pdb_file_extract.o obj/psf_file.o obj/psf_file_extract.o
> obj/topo_defs.o obj/topo_mol.o obj/topo_mol_output.o
> obj/topo_mol_pluginio.o obj/stringhash.o obj/colvar.o
> obj/colvaratoms.o obj/colvarbias.o obj/colvarbias_abf.o
> obj/colvarbias_alb.o obj/colvarbias_histogram.o obj/colvarbias_meta.o
> obj/colvarbias_restraint.o obj/colvarcomp.o obj/colvarcomp_angles.o
> obj/colvarcomp_apath.o obj/colvarcomp_coordnums.o
> obj/colvarcomp_distances.o obj/colvarcomp_gpath.o
> obj/colvarcomp_protein.o obj/colvarcomp_rotations.o
> obj/colvarcomp_volmaps.o obj/colvardeps.o obj/colvargrid.o
> obj/colvarmodule.o obj/colvarparams.o obj/colvarparse.o
> obj/colvarproxy.o obj/colvarproxy_volmaps.o obj/colvarproxy_replicas.o
> obj/colvarproxy_tcl.o obj/colvarscript.o obj/colvarscript_commands.o
> obj/colvarscript_commands_bias.o obj/colvarscript_commands_colvar.o
> obj/colvartypes.o obj/colvarvalue.o obj/CompiledExpression.o
> obj/ExpressionProgram.o obj/ExpressionTreeNode.o obj/Operation.o
> obj/ParsedExpression.o obj/Parser.o moduleinit2681096.o
> -L.rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib
> -lmoduleCkLoop -lmoduleCkMulticast -lckmain -lck -lmemory-default
> -lthreads-default -lconv-machine -lconv-core -ltmgr -lconv-util
> -lconv-partition -lhwloc_embedded -lm -lcudart -lmemory-default
> -lthreads-default -lldb-rand -lconv-ldb -lpthread -lckqt -ldl -ltcl8.5
> -ldl -lpthread -lsrfftw -lsfftw -lm -lmoduleCkMulticast -lmoduleCkLoop
> -lmoduleNDMeshStreamer -lmodulecompletion -lz -lm
> .rootdir/charm-6.10.2/multicore-linux-x86_64/bin/../lib/conv-static.o
> -o namd2 returned error code 1
> charmc exiting...
> rm -f moduleinit2681096.C moduleinit2681096.o
> make: *** [Makefile:470: namd2] Error 1

-- 
Josh Vermaas
Assistant Professor
MSU-DOE Plant Research Laboratory, Department of Biochemistry and Molecular Biology
Michigan State University
https://urldefense.com/v3/__https://vermaaslab.github.io/__;!!DZ3fjg!qP6J6agiwHEnR9XLAHFu4GQcpcMzDzGyndka6iO2RH2DYwL73iaVeNCgfhB-bvALmA$ 

This archive was generated by hypermail 2.1.6 : Tue Dec 13 2022 - 14:32:44 CST