These instructions only apply if the code has been ported to the architecture, operating system, and compiler suite that you intend to build on. If the code has not been ported, then first complete the steps listed on the porting page.
If the source has not been uncompressed and/or unpacked, then execute:
> gunzip < ACESII.tgz | tar xvf -
> cd ACESII
If you do not intend to use Kohn-Sham DFT (ks.src) or
DIP/DEA/STEOM/EA-EOM/... (mrcc.src) then a lot of compile time can be saved by
removing one or both of those directories. Now create the proper directories
and symlinks:
> ./xprep -f # -p # add -p if there is a parallel port
If this is a one-time build and you do not want to touch the makefiles, then everything can be controlled from the command line.
If there is a 64-bit port, then add "64BIT=1" to the top of makefile and
Makefiles/GNUmakefile:
> vi makefile Makefiles/GNUmakefile
There is a variable called MACHSTATS in Makefiles/GNUmakefile that contains
a list of strings that associate the machine name to an architecture, operating
system, and compiler suite. Since this page is only for existing ports, then
a suitable set should already exist and you can simply copy/rename an
existing definition.
> vi Makefiles/GNUmakefile
diamond:crayx1:unicos:cray # name, architecture, O/S, compiler
It is always a good idea to double-check GNUmakefile.src since that
overrides (almost) anything in the main makefile.
> more Makefiles/GNUmakefile.src
DEFINES_EXTRA += -D_STRINGENT_CHECK -D_ASSERT
OPTIMIZE=1
DEBUG=0
#LDFLAGS_NUMLIBS := -llinpack -leispack -llb # override numerical libraries
#DIR_INSTBIN := ../../bin # put binaries somewhere other than ACESII/bin
#DIR_INSTLIB := ../../lib # put libraries somewhere other than ACESII/lib
#DIR_SRCLIB := ${DIR_INSTLIB} # link to pre-build libraries
> gmake # you must use GNU make
If you did not override the installation directory of the binaries, then
everything can be found in the bin directory.
> ls -F bin
xa2proc* xdirmp2* xmopac* xvcc5q* xvmol* xaces2* xfno* xmrcc* xvcc5t* xvmol2ja* xanti* xintgrt* xnmr* xvcceh* xvprops* xasv* xintpack* xprops* xvdint* xvscf* xbcktrn* xintprc* xscfgrd* xvea* xvscf_ks* xcphf* xjoda* xtdhf* xvee* xvtran* xdens* xlambda* xvcc* xvksdint*
If only life were as simple as the five previous stages... If something
does go wrong, then cd into the failed directory, get build and debug dumps,
and send them to the proper authority along with make.error.
> gmake > ../errlog
> cat make.error >> ../errlog
> gmake debug >> ../errlog