mirror of
https://github.com/LCPQ/quantum_package
synced 2024-08-25 05:51:46 +02:00
Added /home/scemama/quantum_package/scripts/make_binary.sh
make[1]: Entering directory `/home/scemama/quantum_package/src' cd AOs ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/AOs' make[3]: Entering directory `/home/scemama/quantum_package/src/AOs' make[3]: Leaving directory `/home/scemama/quantum_package/src/AOs' make[2]: Leaving directory `/home/scemama/quantum_package/src/AOs' cd BiInts ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/BiInts' make[3]: Entering directory `/home/scemama/quantum_package/src/BiInts' make[3]: Leaving directory `/home/scemama/quantum_package/src/BiInts' make[2]: Leaving directory `/home/scemama/quantum_package/src/BiInts' cd Bitmask ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Bitmask' make[3]: Entering directory `/home/scemama/quantum_package/src/Bitmask' make[3]: Leaving directory `/home/scemama/quantum_package/src/Bitmask' make[2]: Leaving directory `/home/scemama/quantum_package/src/Bitmask' cd Dets ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Dets' make[3]: Entering directory `/home/scemama/quantum_package/src/Dets' make[3]: Leaving directory `/home/scemama/quantum_package/src/Dets' make[2]: Leaving directory `/home/scemama/quantum_package/src/Dets' cd Electrons ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Electrons' make[3]: Entering directory `/home/scemama/quantum_package/src/Electrons' make[3]: Leaving directory `/home/scemama/quantum_package/src/Electrons' make[2]: Leaving directory `/home/scemama/quantum_package/src/Electrons' cd Ezfio_files ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Ezfio_files' make[3]: Entering directory `/home/scemama/quantum_package/src/Ezfio_files' make[3]: Leaving directory `/home/scemama/quantum_package/src/Ezfio_files' make[2]: Leaving directory `/home/scemama/quantum_package/src/Ezfio_files' cd Full_CI ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Full_CI' make[3]: Entering directory `/home/scemama/quantum_package/src/Full_CI' make[3]: Leaving directory `/home/scemama/quantum_package/src/Full_CI' make[2]: Leaving directory `/home/scemama/quantum_package/src/Full_CI' cd Generators_full ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Generators_full' make[3]: Entering directory `/home/scemama/quantum_package/src/Generators_full' make[3]: Leaving directory `/home/scemama/quantum_package/src/Generators_full' make[2]: Leaving directory `/home/scemama/quantum_package/src/Generators_full' cd Hartree_Fock ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Hartree_Fock' make[3]: Entering directory `/home/scemama/quantum_package/src/Hartree_Fock' make[3]: Leaving directory `/home/scemama/quantum_package/src/Hartree_Fock' make[2]: Leaving directory `/home/scemama/quantum_package/src/Hartree_Fock' cd MOGuess ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/MOGuess' make[3]: Entering directory `/home/scemama/quantum_package/src/MOGuess' make[3]: Leaving directory `/home/scemama/quantum_package/src/MOGuess' make[2]: Leaving directory `/home/scemama/quantum_package/src/MOGuess' cd MonoInts ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/MonoInts' make[3]: Entering directory `/home/scemama/quantum_package/src/MonoInts' make[3]: Leaving directory `/home/scemama/quantum_package/src/MonoInts' make[2]: Leaving directory `/home/scemama/quantum_package/src/MonoInts' cd MOs ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/MOs' make[3]: Entering directory `/home/scemama/quantum_package/src/MOs' make[3]: Leaving directory `/home/scemama/quantum_package/src/MOs' make[2]: Leaving directory `/home/scemama/quantum_package/src/MOs' cd Nuclei ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Nuclei' make[3]: Entering directory `/home/scemama/quantum_package/src/Nuclei' make[3]: Leaving directory `/home/scemama/quantum_package/src/Nuclei' make[2]: Leaving directory `/home/scemama/quantum_package/src/Nuclei' cd Output ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Output' make[3]: Entering directory `/home/scemama/quantum_package/src/Output' make[3]: Leaving directory `/home/scemama/quantum_package/src/Output' make[2]: Leaving directory `/home/scemama/quantum_package/src/Output' cd Selectors_full ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Selectors_full' make[3]: Entering directory `/home/scemama/quantum_package/src/Selectors_full' make[3]: Leaving directory `/home/scemama/quantum_package/src/Selectors_full' make[2]: Leaving directory `/home/scemama/quantum_package/src/Selectors_full' cd Utils ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Utils' make[3]: Entering directory `/home/scemama/quantum_package/src/Utils' make[3]: Leaving directory `/home/scemama/quantum_package/src/Utils' make[2]: Leaving directory `/home/scemama/quantum_package/src/Utils' cd Molden ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[2]: Entering directory `/home/scemama/quantum_package/src/Molden' make[3]: Entering directory `/home/scemama/quantum_package/src/Molden' make[3]: Leaving directory `/home/scemama/quantum_package/src/Molden' make[2]: Leaving directory `/home/scemama/quantum_package/src/Molden' make[1]: Leaving directory `/home/scemama/quantum_package/src' make[1]: Entering directory `/home/scemama/quantum_package/ocaml' rm -f -- test_atom ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_atom.byte -use-ocamlfind # No parallelism done ln -s test_atom.byte test_atom rm -f -- test_basis ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_basis.byte -use-ocamlfind # No parallelism done ln -s test_basis.byte test_basis rm -f -- test_bitlist ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_bitlist.byte -use-ocamlfind # No parallelism done ln -s test_bitlist.byte test_bitlist rm -f -- test_determinants ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_determinants.byte -use-ocamlfind # No parallelism done ln -s test_determinants.byte test_determinants rm -f -- test_elements ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_elements.byte -use-ocamlfind # No parallelism done ln -s test_elements.byte test_elements rm -f -- test_excitation ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_excitation.byte -use-ocamlfind # No parallelism done ln -s test_excitation.byte test_excitation rm -f -- test_gto ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_gto.byte -use-ocamlfind # No parallelism done ln -s test_gto.byte test_gto rm -f -- test_input ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_input.byte -use-ocamlfind # No parallelism done ln -s test_input.byte test_input rm -f -- test_mo_label ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_mo_label.byte -use-ocamlfind # No parallelism done ln -s test_mo_label.byte test_mo_label rm -f -- test_molecule ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_molecule.byte -use-ocamlfind # No parallelism done ln -s test_molecule.byte test_molecule rm -f -- test_point3d ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt test_point3d.byte -use-ocamlfind # No parallelism done ln -s test_point3d.byte test_point3d make -C /home/scemama/quantum_package/data executables make[2]: Entering directory `/home/scemama/quantum_package/data' cd /home/scemama/quantum_package/src ; make executables make[3]: Entering directory `/home/scemama/quantum_package/src' cd AOs ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/AOs' make[5]: Entering directory `/home/scemama/quantum_package/src/AOs' make[5]: Leaving directory `/home/scemama/quantum_package/src/AOs' make[4]: Leaving directory `/home/scemama/quantum_package/src/AOs' cd BiInts ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/BiInts' make[5]: Entering directory `/home/scemama/quantum_package/src/BiInts' make[5]: Leaving directory `/home/scemama/quantum_package/src/BiInts' make[4]: Leaving directory `/home/scemama/quantum_package/src/BiInts' cd Bitmask ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Bitmask' make[5]: Entering directory `/home/scemama/quantum_package/src/Bitmask' make[5]: Leaving directory `/home/scemama/quantum_package/src/Bitmask' make[4]: Leaving directory `/home/scemama/quantum_package/src/Bitmask' cd Dets ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Dets' make[5]: Entering directory `/home/scemama/quantum_package/src/Dets' make[5]: Leaving directory `/home/scemama/quantum_package/src/Dets' make[4]: Leaving directory `/home/scemama/quantum_package/src/Dets' cd Electrons ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Electrons' make[5]: Entering directory `/home/scemama/quantum_package/src/Electrons' make[5]: Leaving directory `/home/scemama/quantum_package/src/Electrons' make[4]: Leaving directory `/home/scemama/quantum_package/src/Electrons' cd Ezfio_files ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Ezfio_files' make[5]: Entering directory `/home/scemama/quantum_package/src/Ezfio_files' make[5]: Leaving directory `/home/scemama/quantum_package/src/Ezfio_files' make[4]: Leaving directory `/home/scemama/quantum_package/src/Ezfio_files' cd Full_CI ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Full_CI' make[5]: Entering directory `/home/scemama/quantum_package/src/Full_CI' make[5]: Leaving directory `/home/scemama/quantum_package/src/Full_CI' make[4]: Leaving directory `/home/scemama/quantum_package/src/Full_CI' cd Generators_full ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Generators_full' make[5]: Entering directory `/home/scemama/quantum_package/src/Generators_full' make[5]: Leaving directory `/home/scemama/quantum_package/src/Generators_full' make[4]: Leaving directory `/home/scemama/quantum_package/src/Generators_full' cd Hartree_Fock ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Hartree_Fock' make[5]: Entering directory `/home/scemama/quantum_package/src/Hartree_Fock' make[5]: Leaving directory `/home/scemama/quantum_package/src/Hartree_Fock' make[4]: Leaving directory `/home/scemama/quantum_package/src/Hartree_Fock' cd MOGuess ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/MOGuess' make[5]: Entering directory `/home/scemama/quantum_package/src/MOGuess' make[5]: Leaving directory `/home/scemama/quantum_package/src/MOGuess' make[4]: Leaving directory `/home/scemama/quantum_package/src/MOGuess' cd MonoInts ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/MonoInts' make[5]: Entering directory `/home/scemama/quantum_package/src/MonoInts' make[5]: Leaving directory `/home/scemama/quantum_package/src/MonoInts' make[4]: Leaving directory `/home/scemama/quantum_package/src/MonoInts' cd MOs ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/MOs' make[5]: Entering directory `/home/scemama/quantum_package/src/MOs' make[5]: Leaving directory `/home/scemama/quantum_package/src/MOs' make[4]: Leaving directory `/home/scemama/quantum_package/src/MOs' cd Nuclei ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Nuclei' make[5]: Entering directory `/home/scemama/quantum_package/src/Nuclei' make[5]: Leaving directory `/home/scemama/quantum_package/src/Nuclei' make[4]: Leaving directory `/home/scemama/quantum_package/src/Nuclei' cd Output ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Output' make[5]: Entering directory `/home/scemama/quantum_package/src/Output' make[5]: Leaving directory `/home/scemama/quantum_package/src/Output' make[4]: Leaving directory `/home/scemama/quantum_package/src/Output' cd Selectors_full ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Selectors_full' make[5]: Entering directory `/home/scemama/quantum_package/src/Selectors_full' make[5]: Leaving directory `/home/scemama/quantum_package/src/Selectors_full' make[4]: Leaving directory `/home/scemama/quantum_package/src/Selectors_full' cd Utils ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Utils' make[5]: Entering directory `/home/scemama/quantum_package/src/Utils' make[5]: Leaving directory `/home/scemama/quantum_package/src/Utils' make[4]: Leaving directory `/home/scemama/quantum_package/src/Utils' cd Molden ; make -j $(cat /proc/cpuinfo | grep MHz | wc -l) make[4]: Entering directory `/home/scemama/quantum_package/src/Molden' make[5]: Entering directory `/home/scemama/quantum_package/src/Molden' make[5]: Leaving directory `/home/scemama/quantum_package/src/Molden' make[4]: Leaving directory `/home/scemama/quantum_package/src/Molden' rm -f executables ; \ for EXE in $(find /home/scemama/quantum_package/src -perm /u+x -type f | grep -e "/home/scemama/quantum_package/src/[^/]*/[^/]*$" |sort ) ; \ do printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|/home/scemama/quantum_package|\$QPACKAGE_ROOT|g" >> executables ;\ done make[3]: Leaving directory `/home/scemama/quantum_package/src' mv /home/scemama/quantum_package/src/executables . make[2]: Leaving directory `/home/scemama/quantum_package/data' rm -f -- qp_basis_clean ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_basis_clean.native -use-ocamlfind # No parallelism done ln -s qp_basis_clean.native qp_basis_clean rm -f -- qp_create_ezfio_from_xyz ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_create_ezfio_from_xyz.native -use-ocamlfind # No parallelism done ln -s qp_create_ezfio_from_xyz.native qp_create_ezfio_from_xyz rm -f -- qp_edit ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_edit.native -use-ocamlfind # No parallelism done ln -s qp_edit.native qp_edit rm -f -- qp_print ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_print.native -use-ocamlfind # No parallelism done ln -s qp_print.native qp_print rm -f -- qp_run ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_run.native -use-ocamlfind # No parallelism done ln -s qp_run.native qp_run rm -f -- qp_set_ddci ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_set_ddci.native -use-ocamlfind # No parallelism done ln -s qp_set_ddci.native qp_set_ddci rm -f -- qp_set_mo_class ocamlbuild -j 0 -syntax camlp4o -cflags "-g -warn-error A" -lflags "-g -warn-error A" -ocamlopt ocamlc.opt qp_set_mo_class.native -use-ocamlfind # No parallelism done ln -s qp_set_mo_class.native qp_set_mo_class make[1]: Leaving directory `/home/scemama/quantum_package/ocaml' Creating root of static directory Copying binary files /home/scemama/quantum_package Copying dynamic libraries Copying EMSL_Basis directory Copying scripts directory Creating quantum_package.rc Creating the archive Done : /home/scemama/quantum_package/quantum_package_static.tar.gz
This commit is contained in:
parent
4a470139d5
commit
f6a5e40b6e
12
Makefile
12
Makefile
@ -7,7 +7,7 @@ BLUE=[34m
|
||||
BLACK=(B[m
|
||||
|
||||
|
||||
.PHONY: doc src curl m4 ocaml irpf90 emsl
|
||||
.PHONY: doc src curl m4 ocaml irpf90 emsl build binary
|
||||
|
||||
default:
|
||||
@echo -----------------------------------------------
|
||||
@ -16,6 +16,9 @@ default:
|
||||
@echo
|
||||
@echo To compile everything, run
|
||||
@echo make build
|
||||
@echo
|
||||
@echo To compile a binary distribution for export, run
|
||||
@echo make binary
|
||||
@echo -----------------------------------------------
|
||||
|
||||
ifndef QPACKAGE_ROOT
|
||||
@ -29,8 +32,8 @@ build:
|
||||
@echo -----------------------------------------------
|
||||
else
|
||||
build:
|
||||
$(MAKE) -C src
|
||||
$(MAKE) -C ocaml
|
||||
$(MAKE) -C src
|
||||
$(MAKE) -C ocaml
|
||||
endif
|
||||
|
||||
curl: bin/curl
|
||||
@ -38,6 +41,9 @@ m4: bin/m4
|
||||
irpf90: bin/irpf90
|
||||
emsl: EMSL_Basis
|
||||
|
||||
binary:
|
||||
$(QPACKAGE_ROOT)/scripts/make_binary.sh
|
||||
|
||||
EZFIO: bin/irpf90
|
||||
$(info $(BLUE)===== Fetching EZFIO from the web ===== $(BLACK))
|
||||
@sleep 1
|
||||
|
@ -49,6 +49,9 @@ let run ?o b c m xyz_file =
|
||||
end
|
||||
in
|
||||
|
||||
let temp_filename =
|
||||
Filename.temp_file "qp_create_" ".basis"
|
||||
in
|
||||
let rec build_basis = function
|
||||
| [] -> ()
|
||||
| elem_and_basis_name :: rest ->
|
||||
@ -66,7 +69,8 @@ let run ?o b c m xyz_file =
|
||||
apply new_accu rest
|
||||
in
|
||||
let accu =
|
||||
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ basis ^"\""
|
||||
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ temp_filename
|
||||
^ "\" " ^ basis
|
||||
in
|
||||
List.map nuclei ~f:(fun x -> x.Atom.element)
|
||||
|> apply accu
|
||||
@ -97,8 +101,8 @@ let run ?o b c m xyz_file =
|
||||
let key = Element.to_string elem
|
||||
in
|
||||
let command =
|
||||
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ basis ^ "\""
|
||||
^ " " ^ key
|
||||
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ temp_filename ^
|
||||
"\" " ^ basis ^ " " ^ key
|
||||
in
|
||||
begin
|
||||
let filename =
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# get_basis.sh <basis_name> <atom_list>
|
||||
# get_basis.sh <temp_file> <basis_name> <atom_list>...
|
||||
#
|
||||
# Uses the EMSL_api.py to get the basis set:
|
||||
# https://github.com/TApplencourt/EMSL_Basis_Set_Exchange_Local
|
||||
@ -11,6 +11,8 @@
|
||||
export EMSL_API_ROOT="${QPACKAGE_ROOT}"/EMSL_Basis/
|
||||
export PYTHONPATH="${EMSL_API_ROOT}":${PYTHONPATH}
|
||||
|
||||
tmpfile="$1"
|
||||
shift
|
||||
basis="$1"
|
||||
shift
|
||||
atoms=""
|
||||
@ -20,7 +22,6 @@ do
|
||||
atoms+="--atom ${atom} "
|
||||
done
|
||||
|
||||
tmpfile=$(tempfile)
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "==================================================" 1>& 2
|
||||
|
184
scripts/make_binary.sh
Executable file
184
scripts/make_binary.sh
Executable file
@ -0,0 +1,184 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Creates a self-contained binary distribution in the form of a tar.gz file
|
||||
#
|
||||
# Tue Jan 13 14:06:25 CET 2015
|
||||
#
|
||||
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
if [[ -f quantum_package.rc \
|
||||
&& -f README.md \
|
||||
&& -d src \
|
||||
&& -d bin \
|
||||
&& -d ocaml \
|
||||
&& -d scripts ]]
|
||||
then
|
||||
head -1 README.md | grep "Quantum package" > /dev/null
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "This doesn't look like a quantum_package directory (README.md)"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "This doesn't look like a quantum_package directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Build all sources
|
||||
for dir in ${QPACKAGE_ROOT}/{src,ocaml}
|
||||
do
|
||||
make -C ${dir}
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "Error building ${dir}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# Copy the files in the static directory
|
||||
QPACKAGE_STATIC=${QPACKAGE_ROOT}/quantum_package_static
|
||||
|
||||
function find_libs ()
|
||||
{
|
||||
for i in $@
|
||||
do
|
||||
ldd $i
|
||||
done | sort | grep '/' | cut -d ' ' -f 3 | uniq
|
||||
}
|
||||
|
||||
function find_exec ()
|
||||
{
|
||||
find ${QPACKAGE_ROOT}/$1 -perm /u+x -type f
|
||||
}
|
||||
|
||||
|
||||
|
||||
#
|
||||
echo "Creating root of static directory"
|
||||
# ---------------------------------
|
||||
|
||||
rm -rf -- ${QPACKAGE_STATIC}
|
||||
mkdir -p -- ${QPACKAGE_STATIC}/{bin,lib,data}
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo "Error creating ${QPACKAGE_STATIC}/{bin,lib,data,scripts}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
echo "Copying binary files"
|
||||
# --------------------
|
||||
|
||||
FORTRAN_EXEC=$(find_exec src)
|
||||
if [[ -z $FORTRAN_EXEC ]] ;
|
||||
then
|
||||
echo 'Error : No Fortran binaries found.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OCAML_EXEC=$(find_exec ocaml | grep .native )
|
||||
if [[ -z $OCAML_EXEC ]] ;
|
||||
then
|
||||
echo 'Error : No ocaml binaries found.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp -- ${FORTRAN_EXEC} ${OCAML_EXEC} ${QPACKAGE_STATIC}/bin
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -- ${FORTRAN_EXEC} ${OCAML_EXEC} ${QPACKAGE_STATIC}/bin'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_STATIC}/bin
|
||||
for i in *.native
|
||||
do
|
||||
mv "$i" $(basename "$i" .native)
|
||||
done
|
||||
cd -
|
||||
|
||||
for i in ${FORTRAN_EXEC}
|
||||
do
|
||||
i=$(basename $i)
|
||||
echo $i \$QPACKAGE_ROOT/bin/$i
|
||||
done >> ${QPACKAGE_STATIC}/data/executables
|
||||
|
||||
#
|
||||
echo "Copying dynamic libraries"
|
||||
# --------------------------
|
||||
|
||||
MKL_LIBS=$(find_libs ${FORTRAN_EXEC} | grep libmkl | head -1)
|
||||
MKL_LIBS=$(dirname ${MKL_LIBS})
|
||||
MKL_LIBS=$(ls ${MKL_LIBS}/libmkl_{def,avx,avx2}.so)
|
||||
ALL_LIBS=$(find_libs ${OCAML_EXEC} ${FORTRAN_EXEC})
|
||||
cp -- ${ALL_LIBS} ${MKL_LIBS} ${QPACKAGE_STATIC}/lib
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -- ${ALL_LIBS} ${MKL_LIBS} ${QPACKAGE_STATIC}/lib'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
echo "Copying EMSL_Basis directory"
|
||||
# ----------------------------
|
||||
|
||||
cp -r -- ${QPACKAGE_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -r -- ${QPACKAGE_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
echo "Copying scripts directory"
|
||||
# -------------------------
|
||||
|
||||
cp -r -- ${QPACKAGE_ROOT}/scripts ${QPACKAGE_STATIC}/
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -r -- ${QPACKAGE_ROOT}/scripts ${QPACKAGE_STATIC}/'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
echo "Creating quantum_package.rc"
|
||||
# ---------------------------
|
||||
|
||||
cat << EOF > ${QPACKAGE_STATIC}/quantum_package.rc
|
||||
export QPACKAGE_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") ; pwd -P )
|
||||
export LD_LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LIBRARY_PATH}
|
||||
export PYTHONPATH="\${QPACKAGE_ROOT}"/scripts:\${PYTHONPATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/scripts:\${PATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/bin:\${PATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/ocaml:\${PATH}
|
||||
EOF
|
||||
|
||||
#exit 0
|
||||
#
|
||||
echo "Creating the archive"
|
||||
# --------------------
|
||||
|
||||
tar -zcf "${QPACKAGE_STATIC}".tar.gz quantum_package_static && rm -rf -- "${QPACKAGE_STATIC}"
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'tar -zcf "${QPACKAGE_STATIC}".tar.gz "${QPACKAGE_STATIC}" && rm -rf -- "${QPACKAGE_STATIC}"'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Done : ${QPACKAGE_STATIC}.tar.gz"
|
||||
|
@ -8,13 +8,14 @@ BLUE="[34m"
|
||||
RED="[31m"
|
||||
BLACK="(B[m"
|
||||
|
||||
QPACKAGE_ROOT=${PWD}
|
||||
QPACKAGE_ROOT="$( cd "$(dirname "$BASH_SOURCE")" ; pwd -P )"
|
||||
|
||||
if [[ -z ${IRPF90} ]] ;
|
||||
|
||||
if [[ -z "${IRPF90}" ]] ;
|
||||
then
|
||||
make irpf90
|
||||
IRPF90=${QPACKAGE_ROOT}/bin/irpf90
|
||||
if [[ ! -x ${IRPF90} ]]
|
||||
IRPF90="${QPACKAGE_ROOT}"/bin/irpf90
|
||||
if [[ ! -x "${IRPF90}" ]]
|
||||
then
|
||||
echo $RED "Error in IRPF90 installation" $BLACK
|
||||
exit 1
|
||||
@ -28,18 +29,17 @@ then
|
||||
fi
|
||||
|
||||
cat << EOF > quantum_package.rc
|
||||
export IRPF90=${IRPF90}
|
||||
export OCAMLBREW_BASE=${OCAMLBREW_BASE}
|
||||
export QPACKAGE_ROOT=${QPACKAGE_ROOT}
|
||||
export LD_LIBRARY_PATH="\${QPACKAGE_ROOT}/lib":\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QPACKAGE_ROOT}/lib":\${LIBRARY_PATH}
|
||||
export C_INCLUDE_PATH=\${QPACKAGE_ROOT}/include:\${C_INCLUDE_PATH}
|
||||
export PYTHONPATH=\${PYTHONPATH}:\${QPACKAGE_ROOT}/scripts
|
||||
export PATH=\${PATH}:\${QPACKAGE_ROOT}/scripts
|
||||
export PATH=\${PATH}:\${QPACKAGE_ROOT}/bin
|
||||
export PATH=\${PATH}:\${QPACKAGE_ROOT}/ocaml
|
||||
export QPACKAGE_CACHE_URL="http://qmcchem.ups-tlse.fr/files/scemama/quantum_package/cache"
|
||||
source "\${QPACKAGE_ROOT}/bin/irpman" &> /dev/null
|
||||
export IRPF90="${IRPF90}"
|
||||
export OCAMLBREW_BASE="${OCAMLBREW_BASE}"
|
||||
export QPACKAGE_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") ; pwd -P )
|
||||
export LD_LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LIBRARY_PATH}
|
||||
export C_INCLUDE_PATH="\${QPACKAGE_ROOT}"/include:\${C_INCLUDE_PATH}
|
||||
export PYTHONPATH=\${PYTHONPATH}:"\${QPACKAGE_ROOT}"/scripts
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/scripts
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/bin
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/ocaml
|
||||
source "\${QPACKAGE_ROOT}"/bin/irpman" &> /dev/null
|
||||
source "\${OCAMLBREW_BASE}"/ocaml-4*/etc/ocamlbrew.bashrc &> /dev/null
|
||||
EOF
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user