Re: Building namd 2.12 from source an ARM64 architecture

From: istamkos_at_auth.gr
Date: Fri Sep 29 2017 - 17:38:21 CDT

Thank you very much for your quick responses Joshua and Fotis!

I was able to compile successfully namd 2.12 on ARM64 architecture
with your help. I was not aware of this options, I could not find any
mention of them in the documentation or notes.

If anyone else would like to compile namd 2.12 on ARM64 on a fresh
linux installation below is the list of commands that I’ve used (the
numbers at the beginning should not be included)

1 sudo apt-get update --fix-missing
2 sudo apt-get install g++
3 sudo apt-get install csh
4 tar xzf NAMD_2.12_Source.tar.gz
5 cd NAMD_2.12_Source
6 tar xf charm-6.7.1.tar
7 cd charm-6.7.1
8 ./build charm++ multicore-arm7 --with-production
9 cd multicore-arm7/tests/charm++/megatest
10 make pgm
11 ./pgm +p4
12 cd ../../../../..
13 wget
http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-arm64.tar.gz
14 tar xzf fftw-linux-arm64.tar.gz
15 mv fftw-linux-arm64 fftw
16 wget
http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-arm.tar.gz
17 wget
http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-arm64-threaded.tar.gz
18 tar xzf tcl8.5.9-linux-arm.tar.gz
19 tar xzf tcl8.5.9-linux-arm64-threaded.tar.gz
20 mv tcl8.5.9-linux-arm tcl
21 mv tcl8.5.9-linux-arm64-threaded tcl-threaded
22 ./config Linux-ARM64-g++ --charm-arch multicore-arm7
23 cd Linux-ARM64-g++
24 make
25 ./namd2

The instructions above are for single-node namd
Lines 1-3 are installing programs that are needed by the operating system.
Lines 8,9,22 should be modified to build different versions of namd
(single-node, ethernet, e.t.c.)
you can find these options at “~/NAMD_2.12_Source/arch” for namd (e.x.
“Linux-ARM64-g++” is a file name) and
“~/NAMD_2.12_Source/charm-6.7.1/src/arch” for charm (e.x.
“multicore-arm7” is a folder name)

Best Regards.
John Stamkos

Quoting istamkos_at_auth.gr:

> Hello namd mailing list,
>
> I am trying to compile namd 2.12 on an ARM64 architecture but I am
> unable to do show. I cannot even build charm++. At “./build charm++
> multicore-linux64 –with-production” I get the following error (it is
> clear that the g++ compiler does not work properly for me):
>
>
> ./gathertree ../../src/arch/`cat .gdir` .
> test -f ../../src/arch/`cat .gdir`/gdir_link && cat
> ./../src/arch/`cat .gdir`/gdir_link > .gdir.new && ./gathertree
> ./../src/arch/`cat .gdir.new` . || true
> ./gatherflat ../../src/arch/`cat .vdir` .
> ./gathertree ../../src/../examples ../examples
> ./gathertree ../../src/../tests ../tests
> rm -f ../bin/dep.pl ; cp dep.pl ../bin/
> chmod +x charmc
> ./system_ln ../tmp/charmc ../bin/
> ./system_ln ../../src/scripts/testrun ../bin/
> rm -rf ../include ; mkdir ../include
> ./system_ln ../tmp/conv-*.*h ../include
> ./system_ln ../tmp/cc-*.*h ../include
> ./system_ln ../tmp/conv-mach-opt.sh ../include
> if [ -x ./special.sh ] ; then SRCBASE=../../src ./special.sh ; fi
> if [ ! -f conv-common.h ] ; then ( touch conv-common.h ) ; fi
> touch dirs+sources
> make charmxi
> make[1]: Entering directory
> '/root/home/NAMD_2.12_Source/charm-6.7.1/multicore-linux64/tmp'
> ./configure --disable-controlpoint --disable-tracing
> --disable-tracing-commthread --disable-charmdebug --disable-replay
> --disable-error-checking --disable-stats
> Error checking is disabled
> Statistics collection is disabled
> Charm tracing is disabled
> Charm tracing communication thread is disabled
> CharmDebug is disabled
> Charm record/replay is disabled
> CCS is enabled
> Charm control point is disabled
> Charm LB user data is disabled
> Setting load balancing timer type as 'double'
> checking machine name... multicore-linux64
> checking "cp command as"... cp -p
> checking "C++ compiler as"... "g++ -D_REENTRANT -m64 "
> checking "whether C++ compiler works"... "no"
> Cannot compile C++ programs with g++ -D_REENTRANT -m64
> (check your charm++ version)
> *** Please find detailed output in charmconfig.out ***
> Makefile:280: recipe for target 'conv-autoconfig.h' failed
> make[1]: *** [conv-autoconfig.h] Error 1
> make[1]: Leaving directory
> '/root/home/NAMD_2.12_Source/charm-6.7.1/multicore-linux64/tmp'
> Makefile:276: recipe for target 'headers' failed
> make: *** [headers] Error 2
> -------------------------------------------------
> Charm++ NOT BUILT. Either cd into multicore-linux64/tmp and try
> to resolve the problems yourself, visit
> http://charm.cs.illinois.edu/
> for more information. Otherwise, email the developers at
> charm_at_cs.illinois.edu
>
>
> I assume that from namd 2.10 and on ARM architecture is supported as
> it is written in the release notes for that version. Has anyone any
> experience building namd on ARM? Anyone encountered this error before?
>
>
> Thank you for your time.
> John Stamkos

This archive was generated by hypermail 2.1.6 : Mon Dec 31 2018 - 23:20:37 CST