Re: Problems compiling NAMD on 8-core Mac

From: Minh, David D. (daveminh_at_anl.gov)
Date: Tue Feb 01 2011 - 11:28:43 CST

Okay, I had no trouble compiling the 32 bit version. It will work for my purposes, but I hope it was helpful to you to know of difficulties with the 64 bit version.

-David

On Feb 1, 2011, at 9:26 AM, Jim Phillips wrote:

>
> 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/ComputeGBI!
> S.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/GlobalMasterServe!
> r.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 o!
> bj/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