Re: Problems compiling NAMD on 8-core Mac

From: Minh, David D. (daveminh_at_anl.gov)
Date: Tue Feb 01 2011 - 00:23:07 CST

Hello Jim and Chris,

Jim was right that I was using the old tcl and fftw for 32 bit architectures. However, I don't see 64 bit versions in the directory http://www.ks.uiuc.edu/Research/namd/libraries/. Fortunately I think the tcl libraries are already on my computer. The latest fftw (http://www.fftw.org/download.html) compiles but seems a lot more complex than the bare-bones version that you provide, and the file names don't seem to correspond to the ones in the old version. However, it looks like I'd encounter errors even if I had the correct tcl and fftw versions. If you send me the libraries that you are using, then I can confirm that I get your errors.

Nonetheless, NAMD must have been successfully compiled on a 64 bit Mac at one point, because I can download the binaries and run them!

David

On Jan 31, 2011, at 10:49 PM, Chris Harrison wrote:

>
> I believe I've reproduced the error, though without the full error it's
> hard to be completely certain.
>
> Tried using our default "tcl for namd on macosx-x86_64" and also building
> tcl8.4.19 natively. Same linker error for both.
>
> David, can you confirm this is similar to your error?
>
>
> Undefined symbols:
> "_CFRunLoopRunInMode", referenced from:
> _Tcl_WaitForEvent in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFRunLoopWakeUp", referenced from:
> _Tcl_AlertNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> _NotifierThreadProc in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFLocaleCopyCurrent", referenced from:
> _TclpSetVariables in libnamdtcl8.4.a(tclUnixInit.o)
> "_CFURLGetFileSystemRepresentation", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFBundleCopyResourceURL", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFRunLoopCopyCurrentMode", referenced from:
> _Tcl_WaitForEvent in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "___CFConstantStringClassReference", referenced from:
> cfstring=Versions in libnamdtcl8.4.a(tclMacOSXBundle.o)
> cfstring=Scripts in libnamdtcl8.4.a(tclMacOSXBundle.o)
> cfstring=com.tcltk.tclEventsOnlyRunLoopMode in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_kCFRunLoopDefaultMode", referenced from:
> _Tcl_WaitForEvent in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFBundleCopyBundleURL", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFRelease", referenced from:
> _TclpSetVariables in libnamdtcl8.4.a(tclUnixInit.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _AtForkChild in libnamdtcl8.4.a(tclMacOSXNotify.o)
> _Tcl_FinalizeNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> _Tcl_WaitForEvent in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_kCFRunLoopCommonModes", referenced from:
> _Tcl_InitNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFRunLoopAddSource", referenced from:
> _Tcl_InitNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> _Tcl_InitNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFRunLoopGetCurrent", referenced from:
> _Tcl_InitNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFRunLoopSourceInvalidate", referenced from:
> _Tcl_FinalizeNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFStringCreateWithCString", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFStringGetCString", referenced from:
> _TclpSetVariables in libnamdtcl8.4.a(tclUnixInit.o)
> "_CFRunLoopSourceSignal", referenced from:
> _Tcl_AlertNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> _NotifierThreadProc in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFBundleCreate", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFRunLoopSourceCreate", referenced from:
> _Tcl_InitNotifier in libnamdtcl8.4.a(tclMacOSXNotify.o)
> "_CFURLCreateCopyAppendingPathComponent", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFLocaleGetIdentifier", referenced from:
> _TclpSetVariables in libnamdtcl8.4.a(tclUnixInit.o)
> "_CFURLCopyLastPathComponent", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFStringCompare", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> "_CFBundleGetBundleWithIdentifier", referenced from:
> _Tcl_MacOSXOpenVersionedBundleResources in libnamdtcl8.4.a(tclMacOSXBundle.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> Fatal Error by charmc in directory /Users/char/src/namd2/namd2-cvs-2011.01.31/MacOSX-x86_64-g++
> Command g++ -m64 -fPIC -dynamic -fno-common -multiply_defined suppress -rdynamic -O3 -L.rootdir/tcl/lib -L.rootdir/fftw/lib -I.rootdir/charmpp/net-darwin-x86_64/include -o namd2 -L.rootdir/charmpp/net-darwin-x86_64/bin/../lib -I.rootdir/charmpp/net-darwin-x86_64/bin/../include .rootdir/charmpp/net-darwin-x86_64/bin/../lib/libldb-rand.o obj/buildinfo.o obj/common.o obj/dcdlib.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/ComputeConsForce.o obj/ComputeConsForceMsgs.o obj/ComputeCrossterms.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/ComputeGBISser.o obj/ComputeGBIS.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/ComputeNonbondedLES.o obj/ComputeNonbondedPProf.o obj/ComputeNonbondedTabEnergies.o obj/ComputeNonbondedCUDA.o obj/ComputeNonbondedCUDAExcl.o obj/ComputePatch.o obj/ComputePatchPair.o obj/ComputePme.o obj/OptPme.o obj/OptPmeRealSpace.o obj/ComputeRestraints.o obj/ComputeSphericalBC.o obj/ComputeStir.o obj/ComputeTclBC.o obj/ComputeThole.o obj/ConfigList.o obj/Controller.o obj/ccsinterface.o obj/DataStream.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/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/colvarmodule.o obj/colvarparse.o obj/colvar.o obj/colvarvalue.o obj/colvarbias.o obj/colvarbias_abf.o obj/colvarbias_meta.o obj/colvaratoms.o obj/colvarcomp.o obj/colvarcomp_angles.o obj/colvarcomp_coordnums.o obj/colvarcomp_distances.o obj/colvarcomp_protein.o obj/colvarcomp_rotations.o obj/colvarproxy_namd.o obj/colvargrid.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/NamdCentLB.o obj/NamdNborLB.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/PmeBase.o obj/PmeKSpace.o obj/PmeRealSpace.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/ParallelIOMgr.o obj/dcdplugin.o obj/jsplugin.o obj/namdbinplugin.o obj/pdbplugin.o obj/psfplugin.o moduleinit98959.o -lmoduleNeighborLB -lmoduleHybridLB -lmoduleRefineLB -lmoduleGreedyLB .rootdir/charmpp/net-darwin-x86_64/bin/../lib/libmemory-default.o .rootdir/charmpp/net-darwin-x86_64/bin/../lib/libthreads-default.o -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -ldl -lnamdtcl8.4 -lsrfftw -lsfftw -lm -lmoduleNeighborLB -lmoduleHybridLB -lmoduleRefineLB -lmoduleGreedyLB -lm returned error code 1
> charmc exiting...
>
>
> Best,
> Chris
>
>
> --
> Chris Harrison, Ph.D.
> Theoretical and Computational Biophysics Group
> NIH Resource for Macromolecular Modeling and Bioinformatics
> Beckman Institute for Advanced Science and Technology
> University of Illinois, 405 N. Mathews Ave., Urbana, IL 61801
>
> char_at_ks.uiuc.edu Voice: 217-244-1733
> http://www.ks.uiuc.edu/~char Fax: 217-244-6078
>
>
> Jim Phillips <jim_at_ks.uiuc.edu> writes:
>> Date: Mon, 31 Jan 2011 16:39:49 -0600 (CST)
>> From: Jim Phillips <jim_at_ks.uiuc.edu>
>> To: "Minh, David D." <daveminh_at_anl.gov>
>> cc: namd-l_at_ks.uiuc.edu
>> Subject: Re: namd-l: Problems compiling NAMD on 8-core Mac
>>
>>
>> The true error message isn't shown there, but I'm guessing the
>> problem is that you're using 32-bit fftw and tcl libraries in a
>> 64-bit build. I've never actually built a 64-bit Mac binary, and
>> I'm guessing the person who checked in that .arch file didn't use
>> Tcl. Try without fftw and tcl to see if that works first.
>>
>> -Jim
>>
>> On Mon, 31 Jan 2011, Minh, David D. wrote:
>>
>>> Hello,
>>>
>>> I'm interested in making some minor modifications to the targeted
>>> MD module of NAMD. However, I've been having trouble compiling
>>> the code on my desktop computer, which is a:
>>>
>>> Mac Pro3,1
>>> Mac OS X Version 10.5.8
>>> 2 x 2.8 GHz Quad-Core Intel Xeon
>>>
>>> I downloaded the NAMD 2.7 source files. Then I built Charmm++ with:
>>>
>>> ./build charm++ net-darwin-x86_64 --no-build-shared -with-production
>>>
>>> The "megatest" runs with no problems. I downloaded the TCL and
>>> FFTW libraries and renamed them to fftw and tcl, respectively, in
>>> the NAMD_2.7_Source directory. Then I ran the following config
>>> command:
>>>
>>> ./config MacOSX-x86_64-g++ --charm-arch net-darwin-x86_64
>>>
>>> Finally I went to the MacOSX-x86_64-g++ directory and entered
>>> make. The compilation went for a while before these final lines:
>>>
>>> Adding registration for module NeighborLB
>>> Adding registration for module HybridLB
>>> Adding registration for module RefineLB
>>> Adding registration for module GreedyLB
>>> charmc> All libraries are:
>>> -L.rootdir/charm-6.2.2/net-darwin-x86_64/bin/../lib
>>> -I.rootdir/charm-6.2.2/net-darwin-x86_64/bin/../include
>>> .rootdir/charm-6.2.2/net-darwin-x86_64/bin/../lib/libldb-rand.o
>>> obj/buildinfo.o obj/common.o obj/dcdlib.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/ComputeConsForce.o
>>> obj/ComputeConsForceMsgs.o obj/ComputeCrossterms.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/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/ComputeNonbondedLES.o obj/ComputeNonbondedPProf.o
>>> obj/ComputeNonbondedTabEnergies.o obj/ComputeNonbondedCUDA.o
>>> obj/ComputeNonbondedCUDAExcl.o obj/ComputePatch.o
>>> obj/ComputePatchPair.o obj/ComputePme.o obj/OptPme.o
>>> obj/OptPmeRealSpace.o obj/ComputeRestraints.o
>>> obj/ComputeSphericalBC.o obj/ComputeStir.o obj/ComputeTclBC.o
>>> obj/ComputeThole.o obj/ConfigList.o obj/Controller.o
>>> obj/ccsinterface.o obj/DataStream.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/GlobalMaster.o
>>> obj/GlobalMasterServer.o obj/GlobalMasterTest.o
>>> obj/GlobalMasterIMD.o obj/GlobalMasterTcl.o obj/GlobalMasterSMD.o
>>> obj/GlobalMasterTMD.o obj/GlobalMasterFreeEnergy.o
>>> obj/GlobalMasterEasy.o obj/GlobalMasterMisc.o obj/colvarmodule.o
>>> obj/colvarparse.o obj/colvar.o obj/colvarvalue.o obj/colvarbias.o
>>> obj/colvarbias_abf.o obj/colvarbias_meta.o obj/colvaratoms.o
>>> obj/colvarcomp.o obj/colvarcomp_angles.o
>>> obj/colvarcomp_coordnums.o obj/colvarcomp_distances.o
>>> obj/colvarcomp_protein.o obj/colvarcomp_rotations.o
>>> obj/colvarproxy_namd.o obj/colvargrid.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/NamdCentLB.o obj/NamdNborLB.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/PmeBase.o obj/PmeKSpace.o
>>> obj/PmeRealSpace.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/ParallelIOMgr.o obj/AtomsDisInfo.o obj/FileIO.o
>>> obj/dcdplugin.o obj/jsplugin.o obj/pdbplugin.o obj/psfplugin.o
>>> moduleinit85635.o -lmoduleNeighborLB -lmoduleHybridLB
>>> -lmoduleRefineLB -lmoduleGreedyLB .rootdir/charm-6.2.2/net-darwin-x86_64/bin/../lib/libmemory-default.o .rootdir/charm-6.2.2/net-darwin-x86_64/bin/../lib/libthreads-default.o
>>> -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -ldl
>>> -lnamdtcl8.4 -lsrfftw -lsfftw -lm -lmoduleNeighborLB
>>> -lmoduleHybridLB -lmoduleRefineLB -lmoduleGreedyLB -lm
>>> rm -f moduleinit85635.C moduleinit85635.o
>>> make: *** [namd2] Error 1
>>>
>>> Does anybody know what could cause this error and how to get around it?
>>>
>>> Thanks,
>>> David Minh
>>

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 05:23:33 CST