Re: Problems compiling NAMD on 8-core Mac

From: Jim Phillips (jim_at_ks.uiuc.edu)
Date: Tue Feb 01 2011 - 09:26:54 CST

The downloadable Mac binaries are 32 bit (which runs on either 32-bit or
64-bit processors).

-Jim

On Tue, 1 Feb 2011, Minh, David D. wrote:

> 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/Co
mputeHomePatch.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/GlobalMas!
 terTcl.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 : Mon Dec 31 2012 - 23:19:46 CST