mirror of
https://github.com/LCPQ/quantum_package
synced 2024-11-03 20:54:00 +01:00
Added INSTALL.md
This commit is contained in:
parent
134cefd8cc
commit
292261dc2a
64
INSTALL.md
Normal file
64
INSTALL.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Installation
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
* curl
|
||||||
|
* wget
|
||||||
|
* m4
|
||||||
|
* GNU make
|
||||||
|
* Intel Fortran compiler
|
||||||
|
* Python
|
||||||
|
* Bash
|
||||||
|
|
||||||
|
|
||||||
|
By default, the Ocaml compiler will be installed in `$HOME/ocamlbrew`.
|
||||||
|
To install it somewhere else, set the `$OCAMLBREW_BASE` environment
|
||||||
|
variable to the required destination, for example:
|
||||||
|
|
||||||
|
export OCAMLBREW_BASE=/usr/local/ocamlbrew
|
||||||
|
|
||||||
|
For more info about the Ocaml installation, check the ocamlbrew
|
||||||
|
website : https://github.com/hcarty/ocamlbrew
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Installing behind a firewall
|
||||||
|
|
||||||
|
1) Download `tsocks`:
|
||||||
|
|
||||||
|
wget http://sourceforge.net/projects/tsocks/files/latest/download
|
||||||
|
mv download tsocks.tar.gz
|
||||||
|
|
||||||
|
2) Tranfer `tsocks.tar.gz` on the remote host
|
||||||
|
|
||||||
|
3) Configure `tsocks` with the proper directory for the `tsocks.conf` file:
|
||||||
|
|
||||||
|
tar -zxvf tsocks.tar.gz
|
||||||
|
cd tsocks-*
|
||||||
|
./configure --with-conf=${PWD}/tsocks.conf
|
||||||
|
|
||||||
|
4) Create the `tsocks.conf` file with the following content:
|
||||||
|
|
||||||
|
server = 127.0.0.1
|
||||||
|
server_port = 10000
|
||||||
|
|
||||||
|
5) Create the tsocks library:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
6) Add the `libtsocks.so` to the `LD_PRELOAD` environment variable:
|
||||||
|
|
||||||
|
export LD_PRELOAD="${PWD}/libtsocks.so.1.8"
|
||||||
|
|
||||||
|
7) Create a custom curl command to set the tsocks option: open a file named
|
||||||
|
`curl`, which is accessible from your `PATH` environment variable before the
|
||||||
|
real `curl` command, and fill this file with:
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
/usr/bin/curl --socks5 127.0.0.1:10000 $@
|
||||||
|
|
||||||
|
8) Start a tsocks ssh tunnel:
|
||||||
|
|
||||||
|
ssh -fN -D 10000 user@external-server.com
|
||||||
|
|
||||||
|
|
@ -5,4 +5,4 @@ Quantum package
|
|||||||
|
|
||||||
Set of quantum chemistry programs and libraries.
|
Set of quantum chemistry programs and libraries.
|
||||||
|
|
||||||
For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>)
|
For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>), or the [Install](Install.md) file.
|
||||||
|
@ -32,9 +32,6 @@ let run exe ezfio_file =
|
|||||||
if (Sys.file_exists_exn fifo_name) then
|
if (Sys.file_exists_exn fifo_name) then
|
||||||
Sys.remove fifo_name;
|
Sys.remove fifo_name;
|
||||||
Unix.mkfifo ~perm:0o664 fifo_name;
|
Unix.mkfifo ~perm:0o664 fifo_name;
|
||||||
let script = Printf.sprintf "%s/scripts/follow_output.py %s &
|
|
||||||
echo $! > %s &" Qpackage.root ezfio_file fifo_name in
|
|
||||||
ignore (Sys.command script);
|
|
||||||
|
|
||||||
let pid =
|
let pid =
|
||||||
In_channel.with_file fifo_name ~f:(fun in_channel ->
|
In_channel.with_file fifo_name ~f:(fun in_channel ->
|
||||||
|
@ -19,7 +19,7 @@ $(NEEDED_MODULES): FORCE
|
|||||||
|
|
||||||
executables:
|
executables:
|
||||||
rm -f executables ; \
|
rm -f executables ; \
|
||||||
for EXE in $$(find $(QPACKAGE_ROOT)/src -type f -executable | grep -e "$(QPACKAGE_ROOT)/src/[^/]*/[^/]*$$" ) ; \
|
for EXE in $$(find $(QPACKAGE_ROOT)/src -perm /u+x -type f | grep -e "$(QPACKAGE_ROOT)/src/[^/]*/[^/]*$$" |sort ) ; \
|
||||||
do printf "%-30s %s\n" $$(basename $$EXE) $$EXE | sed "s|$(QPACKAGE_ROOT)|\$$QPACKAGE_ROOT|g" >> executables ;\
|
do printf "%-30s %s\n" $$(basename $$EXE) $$EXE | sed "s|$(QPACKAGE_ROOT)|\$$QPACKAGE_ROOT|g" >> executables ;\
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -24,12 +24,12 @@ BEGIN_SHELL [ /bin/bash ]
|
|||||||
call ezfio_set_output_empty(.False.)
|
call ezfio_set_output_empty(.False.)
|
||||||
IRP_IF COARRAY
|
IRP_IF COARRAY
|
||||||
if (this_image() == 1) then
|
if (this_image() == 1) then
|
||||||
output_$NAME = getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
output_$NAME = 6 !getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
||||||
else
|
else
|
||||||
output_$NAME = getUnitAndOpen('/dev/null','w')
|
output_$NAME = getUnitAndOpen('/dev/null','w')
|
||||||
endif
|
endif
|
||||||
IRP_ELSE
|
IRP_ELSE
|
||||||
output_$NAME = getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
output_$NAME = 6 !getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
write(output_$NAME,'(A)') &
|
write(output_$NAME,'(A)') &
|
||||||
'--------------------------------------------------------------------------------'
|
'--------------------------------------------------------------------------------'
|
||||||
|
@ -12,7 +12,7 @@ subroutine start_progress(max,title,progress_init)
|
|||||||
progress_title = title
|
progress_title = title
|
||||||
progress_active = .True.
|
progress_active = .True.
|
||||||
progress_value = progress_init
|
progress_value = progress_init
|
||||||
call run_progress()
|
! call run_progress()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user