Re: MacOSX 64bit binaries

From: Christopher Hartshorn (cmhartshorn_at_wsu.edu)
Date: Fri Dec 05 2008 - 11:55:02 CST

Okay. My read on what is going on is as follows:

1) I run make

2) It compiles every file using gcc/g++ with no problems

3) Goes to verbose mode and begins adding files to an object folder

4) Does a module dependency search
charmc> ----------- Module dependency search ------------
charmc> ----------- Module dependency search complete ------------
Adding registration for module NeighborLB
Adding registration for module commlib

5) charmc begins creating an executable
charmc: Executing g++ -O3 -fexpensive-optimizations -DCMK_OPTIMIZE -
arch x86_64 -fPIC -fno-common -fno-strict-aliasing -D__CHARMC__=1 -c
moduleinit40299.C -o moduleinit40299.o
charmc> All libraries are: ........

6) Then I get the following warnings:
  -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -ldl -lnamdtcl8.4
-lsrfftw -lsfftw -lm -lmoduleNeighborLB -lmodulecommlib -lm
ld warning: in /Users/cmhmed/NAMD/macosx-x86/lib/libnamdtcl8.4.a, file
is not of required architecture
ld warning: in /Users/cmhmed/NAMD/macosx-x86/lib/libsrfftw.a, file is
not of required architecture
ld warning: in /Users/cmhmed/NAMD/macosx-x86/lib/libsfftw.a, file is
not of required architecture

7 ) And then a long list of undefined symbols warning:
Undefined symbols:
   "_fftw_export_wisdom_to_file", referenced from:
       SimParameters::print_config(ParseOptions&, ConfigList*,
char*&) in SimParameters.o
   "_fftw_import_wisdom_from_file", referenced from:
       SimParameters::print_config(ParseOptions&, ConfigList*,
char*&) in SimParameters.o
   "_rfftwnd_destroy_plan", referenced from:
       SimParameters::print_config(ParseOptions&, ConfigList*,
char*&) in SimParameters.o
       SimParameters::print_config(ParseOptions&, ConfigList*,
char*&) in SimParameters.o
   "_fftw", referenced from:
       PmeYPencil::backward_fft() in ComputePme.o............

8) Then the Fatal Error code at the end of the long list of undefined
symbols which are all for fftw and tcl:
ld: symbol(s) not found
collect2: ld returned 1 exit status
Fatal Error by charmc in directory /Users/cmhmed/temp/ntest/namd2/
MacOSX-i686-g++......

Is my problem that my tcl and fftw are not of the same architecture as
the charm and namd? I have been sucessful at building NAMD (ie no
errors like above) when I compile it as standard 32bit and using my
compiled 32 bit version of charm++ with the precompiled binaries
(MacOSX type from NAMD website) tcl and fftw. But the above problem
happens when I am using the same precompiled versions of tcl and fftw
with my compiled 64-bit (ie gcc -arch x86_64) version of charm++ and
when the .arch file for this compile also has the -arch x86_64 flag (I
get the same results using the -m64 flag for NAMD and charm++, as
well). If this is the case then would there be a precompiled binary
on the website or that someone already has that would allow this
compile to continue to completion? or possibly some other work around?
While I am on this subject, is there any reason (ie end NAMD
performance improvements) to use the latest stable build of fftw (3.2)
or is there known problems and 2.1 is the best way to go?

Thank you very much for your help and time.

Chris

On Dec 5, 2008, at 7:17 AM, Giacomo Fiorin wrote:

> Hey, please send it also on namd-l, so that others could benefit of
> any information. However, in this specific case, you reported only
> the error message from the charmc wrapper, which simply states that
> linking has failed. Is there an error message printed by g++ BEFORE,
> and if so, what is it?
>
> ---- -----
> Giacomo Fiorin
> Center for Molecular Modeling at
> University of Pennsylvania
> 231 S 34th Street, Philadelphia, PA 19104-6323
> phone: (+1)-215-573-4773
> fax: (+1)-215-573-6233
> mobile: (+1)-267-324-7676
> mail: giacomo.fiorin_<at>_gmail.com
> web: http://www.cmm.upenn.edu/
> ---- ----
>
>
>
> On Thu, Dec 4, 2008 at 1:35 AM, Christopher Hartshorn
> <cmhartshorn_at_wsu.edu> wrote:
>> Here is the error I receive it occurs right when the charmc is
>> accessed I
>> think:
>>
>> Fatal Error by charmc in directory /Users/cmhmed/64bitnew/namd from
>> new/MacOSX-i
>> 686-64-g++
>> Command g++ -arch x86_64 -Wno-long-double -fPIC -dynamic -fno-common
>> -multipl
>> y_defined suppress -rdynamic -L/Users/cmhmed/NAMD/macosx-x86/lib
>> -L/Users/cmhmed
>> /NAMD/macosx-x86/lib
>> -I/Users/cmhmed/64bitnew/charm/net-darwin-x86_64/include -D
>> CMK_OPTIMIZE=1 -Iinc -Isrc -O3 -fomit-frame-pointer -march=pentium-
>> m -msse3
>> -ffa
>> st-math -o namd2 -L/Users/cmhmed/64bitnew/charm/net-darwin-x86_64/
>> bin/../lib
>> -I/
>> Users/cmhmed/64bitnew/charm/net-darwin-x86_64/bin/../include
>> /Users/cmhmed/64bit
>> new/charm/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 o
>> bj/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/C
>> ollectionMgr.o obj/Communicate.o obj/Compute.o obj/ComputeAngles.o
>> obj/ComputeBo
>> nds.o obj/ComputeConsForce.o obj/ComputeConsForceMsgs.o
>> obj/ComputeCrossterms.o
>> obj/ComputeCylindricalBC.o obj/ComputeDihedrals.o obj/ComputeDPME.o
>> obj/ComputeD
>> PMEMsgs.o obj/ComputeDPMTA.o obj/ComputeEField.o obj/ComputeEwald.o
>> obj/ComputeE
>> xt.o obj/ComputeFullDirect.o obj/ComputeHomePatch.o obj/
>> ComputeHomePatches.o
>> obj
>> /ComputeImpropers.o obj/ComputeGlobal.o obj/ComputeGlobalMsgs.o
>> obj/ComputeGridF
>> orce.o obj/ComputeMap.o obj/ComputeMgr.o obj/ComputeNonbondedSelf.o
>> obj/ComputeN
>> onbondedPair.o obj/ComputeNonbondedUtil.o obj/ComputeNonbondedStd.o
>> obj/ComputeN
>> onbondedFEP.o obj/ComputeNonbondedLES.o obj/ComputeNonbondedPProf.o
>> obj/ComputeN
>> onbondedCUDA.o obj/ComputePatch.o obj/ComputePatchPair.o obj/
>> ComputePme.o
>> obj/Co
>> mputeRestraints.o obj/ComputeSphericalBC.o obj/ComputeStir.o
>> obj/ComputeTclBC.o
>> obj/ConfigList.o obj/Controller.o obj/ccsinterface.o obj/DataStream.o
>> obj/DumpBe
>> nch.o obj/FreeEnergyAssert.o obj/FreeEnergyGroup.o obj/
>> FreeEnergyLambda.o
>> obj/Fr
>> eeEnergyLambdMgr.o obj/FreeEnergyParse.o obj/FreeEnergyRestrain.o
>> obj/FreeEnergy
>> RMgr.o obj/FreeEnergyVector.o obj/GlobalMaster.o obj/
>> GlobalMasterServer.o
>> obj/Gl
>> obalMasterTest.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/colvar
>> value.o obj/colvarbias.o obj/colvarbias_abf.o obj/colvarbias_meta.o
>> obj/colvarat
>> oms.o obj/colvarcomp.o obj/colvarcomp_angles.o obj/
>> colvarcomp_coordnums.o
>> obj/co
>> lvarcomp_distances.o obj/colvarcomp_protein.o obj/
>> colvarcomp_rotations.o
>> obj/col
>> varproxy_namd.o obj/GridForceGrid.o obj/GromacsTopFile.o obj/heap.o
>> obj/HomePatc
>> h.o obj/IMDOutput.o obj/InfoStream.o obj/LdbCoordinator.o obj/
>> LJTable.o
>> obj/Meas
>> ure.o obj/MGridforceParams.o obj/MStream.o obj/MigrateAtomsMsg.o
>> obj/Molecule.o
>> obj/NamdCentLB.o obj/NamdNborLB.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/PmeRealSpac
>> e.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/Scrip
>> tTcl.o obj/Sequencer.o obj/Set.o obj/Settle.o obj/SimParameters.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/AtomsDisInfo.o obj/FileIO.o
>> obj/dcdplugin
>> .o moduleinit45592.o -lmoduleNeighborLB -lmodulecommlib
>> /Users/cmhmed/64bitnew/c
>> harm/net-darwin-x86_64/bin/../lib/libmemory-default.o
>> /Users/cmhmed/64bitnew/cha
>> rm/net-darwin-x86_64/bin/../lib/libthreads-default.o -lck -lconv-
>> cplus-y
>> -lconv-
>> core -lconv-util -lckqt -ldl -lnamdtcl8.4 -lsrfftw -lsfftw -lm
>> -lmoduleNeighborL
>> B -lmodulecommlib -lm returned error code 1
>> charmc exiting...
>> rm -f moduleinit45592.C moduleinit45592.o
>> make: *** [namd2] Error 1
>> Any thoughts?
>>
>> Chris
>>
>> On Dec 3, 2008, at 9:53 AM, Giacomo Fiorin wrote:
>>
>>> Can you paste the Darwin-XXX option that you used as an option to
>>> ./config, and the error message in the compilation?
>>>
>>>
>>>
>>> ---- -----
>>> Giacomo Fiorin
>>> Center for Molecular Modeling at
>>> University of Pennsylvania
>>> 231 S 34th Street, Philadelphia, PA 19104-6323
>>> phone: (+1)-215-573-4773
>>> fax: (+1)-215-573-6233
>>> mobile: (+1)-267-324-7676
>>> mail: giacomo.fiorin_<at>_gmail.com
>>> web: http://www.cmm.upenn.edu/
>>> ---- ----
>>>
>>>
>>>
>>> On Wed, Dec 3, 2008 at 12:22 PM, Christopher Hartshorn
>>> <cmhartshorn_at_wsu.edu> wrote:
>>>>
>>>> Yes, it does seem to get past that point. In other words, I
>>>> believe that
>>>> it
>>>> finds the correct directory name in the charm folder (ie
>>>> /charm/net-darwin-x86_64/ ). Is this correctable by me? Edit a
>>>> file
>>>> maybe?
>>>> On Dec 3, 2008, at 8:49 AM, Giacomo Fiorin wrote:
>>>>
>>>>> Hello Chris, since it crashes in between there may be indeed
>>>>> something
>>>>> that g++ is not happy about in one of the NAMD files. The CVS
>>>>> source
>>>>> tree undergoes many changes, so this is likely to happen
>>>>> sometimes.
>>>>> Can you past the Darwin-XXX option that you used as an option to
>>>>> ./config, and the error message in the compilation?
>>>>>
>>>>>
>>>>>
>>>>> ---- -----
>>>>> Giacomo Fiorin
>>>>> Center for Molecular Modeling at
>>>>> University of Pennsylvania
>>>>> 231 S 34th Street, Philadelphia, PA 19104-6323
>>>>> phone: (+1)-215-573-4773
>>>>> fax: (+1)-215-573-6233
>>>>> mobile: (+1)-267-324-7676
>>>>> mail: giacomo.fiorin_<at>_gmail.com
>>>>> web: http://www.cmm.upenn.edu/
>>>>> ---- ----
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Dec 3, 2008 at 2:34 AM, Christopher Hartshorn
>>>>> <cmhartshorn_at_wsu.edu> wrote:
>>>>>>
>>>>>> Hello all. I am trying to build a set of 64bit binaries for
>>>>>> 8core xeon
>>>>>> Mac
>>>>>> Pro's and have run into a problem. I was able to successfully
>>>>>> build a
>>>>>> the
>>>>>> Charm++ binaries in 64bit (I know they are because when I run the
>>>>>> megatests
>>>>>> they show up in Activity Monitor as 64bit Intel processes) fully
>>>>>> optimized
>>>>>> for this machine (although only using gcc, icc keeps crashing
>>>>>> because
>>>>>> of
>>>>>> a
>>>>>> problem with icpc?). But when I go to build NAMD (CVS) using a
>>>>>> link to
>>>>>> the
>>>>>> charm folder (in the Mac-i686 arch file) which contains
>>>>>> "net-darwin-x86_64",
>>>>>> it crashes out on me midway or so through the compilation. To
>>>>>> make
>>>>>> sure
>>>>>> I
>>>>>> am doing the right things, I tested my skills by doing the
>>>>>> exact same
>>>>>> procedure using a set of 32 bit Charm++ binaries which I built,
>>>>>> as
>>>>>> well,
>>>>>> and
>>>>>> NAMD compiled completely with these. Also, are there any
>>>>>> compiler
>>>>>> flags
>>>>>> that can be set when compiling NAMD (like when one compiles
>>>>>> Charm++)
>>>>>> and
>>>>>> where would they be set? Thanks for any help.
>>>>>>
>>>>>> Regards,
>>>>>> Chris Hartshorn
>>>>>> WSU
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:50:12 CST