diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 00000000..01c7eee6 --- /dev/null +++ b/INSTALL.md @@ -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 + + diff --git a/README.md b/README.md index 3354ea1f..e30231df 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,4 @@ Quantum package 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. diff --git a/ocaml/qp_run.ml b/ocaml/qp_run.ml index 5d860e03..f3ab6ca4 100644 --- a/ocaml/qp_run.ml +++ b/ocaml/qp_run.ml @@ -32,9 +32,6 @@ let run exe ezfio_file = if (Sys.file_exists_exn fifo_name) then Sys.remove 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 = In_channel.with_file fifo_name ~f:(fun in_channel -> diff --git a/src/Makefile b/src/Makefile index ccaba79b..2695449f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -19,7 +19,7 @@ $(NEEDED_MODULES): FORCE 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 ;\ done diff --git a/src/Output/output.irp.f b/src/Output/output.irp.f index 034f2a95..d227dda8 100644 --- a/src/Output/output.irp.f +++ b/src/Output/output.irp.f @@ -24,12 +24,12 @@ BEGIN_SHELL [ /bin/bash ] call ezfio_set_output_empty(.False.) IRP_IF COARRAY 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 output_$NAME = getUnitAndOpen('/dev/null','w') endif 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 write(output_$NAME,'(A)') & '--------------------------------------------------------------------------------' diff --git a/src/Utils/progress.irp.f b/src/Utils/progress.irp.f index bdbdae0b..bb74db06 100644 --- a/src/Utils/progress.irp.f +++ b/src/Utils/progress.irp.f @@ -12,7 +12,7 @@ subroutine start_progress(max,title,progress_init) progress_title = title progress_active = .True. progress_value = progress_init - call run_progress() +! call run_progress() end