Open thaiscott opened 12 months ago
Dear Thais, I forwarded your issue to some colleagues. While I wait for their reply, have you tried going through the compilation with USE_PYSHARC=True from the beginning (i.e., using the first of the two installation variants)? Also, have you checked whether your compilation uses a system-installed gfortran/gcc or the gfortran/gcc of Anaconda? Best, Sebastian
Dear Thais, note that in principle, your compilation ran through successfully, the messages about the pointers are warnings, no errors. How have you tried to execute pysharc after the compilation? Can you supply us with the execution command and the error messages from pysharc? Best, Sebastian
Thanks for your quick reply!
I have tried compiling with the first installation variant, and this is the output I get from compiling the source folder first with pysharc=true.
(pysharc_3.0) [trscott@login1 source]$ make install Updating "build_info.inc" gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c matrix.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c string.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input_list.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c misc.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c output.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_afssh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_dom.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c nuclear.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm_out.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c restart.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c bsh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic_laser.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c zpe.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c army_ants.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c tsh_tu.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c pointer_basis.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c driver.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions_NetCDF.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c interface.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c main.F90 gfortran definitions.o matrix.o string.o input_list.o driver.o misc.o output.o restart.o qm_out.o nuclear.o bsh.o electronic.o qm.o electronic_laser.o input.o decoherence_afssh.o decoherence_dom.o zpe.o tsh_tu.o army_ants.o pointer_basis.o interface.o main.o -o sharc2.x -llapack -lfftw3 -lblas -lgfortran -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -lhdf5 -lhdf5_hl -lmfhdf -ldf -ljpeg -L../pysharc/lib -lsharcnc -lnetcdf /usr/bin/ld: cannot find -lsharcnc collect2: error: ld returned 1 exit status make: *** [sharc] Error 1
This error was why I started with the second method of installation.
When I type which gfortran and type gfortran I get the system installed version (/usr/bin/gfortran), so I think that this is the version of gfortran that pysharc is finding. The version installed on the system is this one.
gfortran --version GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) Copyright (C) 2015 Free Software Foundation, Inc.
The way that I have been testing the pysharc installation is with tests.py. I am running tests 11, 12, and 13. (This is testing with the second method of installation.)
I use source /bin/sharcvars.sh to set my environment variables. To verify this I check the SHARC, PYTHONPATH and LD_LIBRARY_PATH (pysharc_3.0) [trscott@login1 pysharc]$ echo $SHARC /groups/hadtlab/TRS/software/sharc/bin (pysharc_3.0) [trscott@login1 pysharc]$ echo $PYTHONPATH /groups/hadtlab/TRS/software/sharc/lib: (pysharc_3.0) [trscott@login1 pysharc]$ echo $LD_LIBRARY_PATH /groups/hadtlab/TRS/software/sharc/lib:/central/slurm/install/current/lib/:
/groups/hadtlab/TRS/software/sharc/bin/../tests/INPUT/LVC_overlap 2023-10-05 10:38:56.118537 2023-10-05 10:39:19.272447 Runtime: 0:00:23.153910 Error Code: 0
/central/groups/hadtlab/TRS/tests/sharc-tests/RUNNING_TESTS/LVC_pysharc OVERWRITTEN /groups/hadtlab/TRS/software/sharc/bin/../tests/INPUT/LVC_pysharc 2023-10-05 10:39:19.372363 2023-10-05 10:39:19.600786 Runtime: 0:00:00.228423 Error Code: 1
/groups/hadtlab/TRS/software/sharc/bin/../tests/INPUT/LVC_pysharc_netcdf 2023-10-05 10:39:19.646742 2023-10-05 10:39:19.846757 Runtime: 0:00:00.200015 Error Code: 1
------------------------LVC_overlap------------------------- /central/groups/hadtlab/TRS/tests/sharc-tests/RUNNING_TESTS/LVC_overlap/output.dat /groups/hadtlab/TRS/software/sharc/bin/../tests/RESULTS/LVC_overlap/output.dat Output and Reference have different length! ------------------------LVC_pysharc------------------------- Job did not finish successfully. Error code: 1
---------------------LVC_pysharc_netcdf--------------------- Job did not finish successfully. Error code: 1
LVC_overlap Different output length. LVC_pysharc Job did not finish LVC_pysharc_netcdf Job did not finish
Both of the pysharc jobs finish have the following error in the run.err file:
Traceback (most recent call last):
File "/groups/hadtlab/TRS/software/sharc/bin/pysharc_lvc.py", line 45, in
Best, Thais
Dear Thais, have you sourced (not executed) $SHARC/sharcvars.sh before running the tests? This script sets a bunch of environment variables that are important for pysharc to find all relevant libraries. This might resolve the "No module named 'sharc'" error in your tests.
About the "first installation method": According to the manual, you need to compile in pysharc/ first, then switch to source/. Basically:
Best, Sebastian
Hi!
I did source $SHARC/sharcvars.sh and checked to make sure the environment variables were set appropriately. (pysharc_3.0) [trscott@login1 sharc-tests]$ echo $SHARC /groups/hadtlab/TRS/software/sharc/bin (pysharc_3.0) [trscott@login1 sharc-tests]$ echo $PYTHONPATH /groups/hadtlab/TRS/software/sharc/lib: (pysharc_3.0) [trscott@login1 sharc-tests]$ echo $LD_LIBRARY_PATH /groups/hadtlab/TRS/software/sharc/lib:/central/slurm/install/current/lib/:
Thanks for the clarification, I was doing that first version of the compilation incorrectly. When following the first installation by first doing make install in pysharc I get this output:
(pysharc_3.0) [trscott@login1 pysharc]$ make install
cd ../source; make libsharc
make[1]: Entering directory /central/groups/hadtlab/TRS/software/sharc/source' Updating "build_info.inc" gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -D__PYSHARC__ -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c matrix.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c string.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input_list.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -D__PYSHARC__ -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c misc.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c output.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_afssh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_dom.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -D__PYSHARC__ -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c nuclear.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm_out.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c restart.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c bsh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic_laser.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -D__PYSHARC__ -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c zpe.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c army_ants.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c tsh_tu.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c pointer_basis.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c driver.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions_NetCDF.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -D__PYSHARC__ -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c interface.F90 gfortran -shared definitions.o matrix.o string.o input_list.o driver.o misc.o output.o restart.o qm_out.o nuclear.o bsh.o electronic.o qm.o electronic_laser.o input.o decoherence_afssh.o decoherence_dom.o zpe.o tsh_tu.o army_ants.o pointer_basis.o interface.o -o ../pysharc/lib/libsharc.so -llapack -lfftw3 -lblas -lgfortran -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -lhdf5 -lhdf5_hl -lmfhdf -ldf -ljpeg -L../pysharc/lib -lsharcnc -lnetcdf make[1]: Leaving directory
/central/groups/hadtlab/TRS/software/sharc/source'
python sharc_setup build_ext --build-lib .
running build_ext
cp lib/.so ../lib
cp bin/.py ../bin
Then the make install in the source directory gives:
Updating "build_info.inc"
gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c output.f90
gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input.F90
gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c driver.f90
gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c interface.F90
gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c main.F90
gfortran definitions.o matrix.o string.o input_list.o driver.o misc.o output.o restart.o qm_out.o nuclear.o bsh.o electronic.o qm.o electronic_laser.o input.o decoherence_afssh.o decoherence_dom.o zpe.o tsh_tu.o army_ants.o pointer_basis.o interface.o main.o -o sharc2.x -llapack -lfftw3 -lblas -lgfortran -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -lhdf5 -lhdf5_hl -lmfhdf -ldf -ljpeg -L../pysharc/lib -lsharcnc -lnetcdf
/usr/bin/ld: warning: libcrypto.so.3, needed by /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libhdf5.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libzip.so.5, needed by /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so, not found (try using -rpath or -rpath-link)
qm_out.o: In function __qm_out_MOD_goto_flag': /groups/hadtlab/TRS/software/sharc/source/qm_out.f90:163: undefined reference to
_gfortran_stop_numeric_f08'
qm_out.o: In function __qm_out_MOD_get_dipolegrad': /groups/hadtlab/TRS/software/sharc/source/qm_out.f90:565: undefined reference to
_gfortran_stop_numeric_f08'
qm_out.o: In function __qm_out_MOD_get_overlap': /groups/hadtlab/TRS/software/sharc/source/qm_out.f90:418: undefined reference to
_gfortran_stop_numeric_f08'
qm_out.o: In function __qm_out_MOD_get_nonadiabatic_ddr': /groups/hadtlab/TRS/software/sharc/source/qm_out.f90:389: undefined reference to
_gfortran_stop_numeric_f08'
qm_out.o: In function __qm_out_MOD_get_nonadiabatic_ddt': /groups/hadtlab/TRS/software/sharc/source/qm_out.f90:360: undefined reference to
_gfortran_stop_numeric_f08'
qm_out.o:/groups/hadtlab/TRS/software/sharc/source/qm_out.f90:333: more undefined references to _gfortran_stop_numeric_f08' follow /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_stat_init'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_close' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_fopen'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_fread' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_dir_add'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_get_error' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_discard'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_name_locate' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_source_buffer'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_stat_index' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libhdf5.so: undefined reference to
HMAC@OPENSSL_3.0.0'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libhdf5.so: undefined reference to EVP_sha256@OPENSSL_3.0.0' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_error_init'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_error_fini' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_file_add'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_set_file_compression' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libhdf5.so: undefined reference to
SHA256@OPENSSL_3.0.0'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_open' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_get_name'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_fclose' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_error_code_zip'
/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to zip_get_num_entries' /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so: undefined reference to
zip_source_free'
collect2: error: ld returned 1 exit status
make: *** [sharc] Error 1
I get the same errors in the in the run.err of the test modules with both versions of the installation.
Best, Thais
Hi Thais, thanks for the update. I'm sorry that the installation still does not work, but at least for me it is now a bit clearer.
In your latest installation log, the key lines are:
/usr/bin/ld: warning: libcrypto.so.3, needed by /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libhdf5.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libzip.so.5, needed by /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libnetcdf.so, not found (try using -rpath or -rpath-link)
Exactly the same error was recently reported to us by email - the same two libraries were missing even though the files were clearly present in the lib folder of the Conda installation. You can try to solve this issue by explicitly adding the missing libraries to your source/Makefile with their full path:
NETCDF_LIB = ... -l /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libcrypto.so.3 -l groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib/libzip.so.5 ...
Hope this helps. Best, Sebastian
Hello!
I am having some troulbe installing pysharc. My installation process is as follows:
Create a conda environment with the following input "conda create -n pysharc_3.0 -c conda-forge python=3.9 numpy scipy h5py six matplotlib python-dateutil pyyaml pyparsing kiwisolver cycler netcdf4 hdf5 h5utils gfortran_linux-64" (This input is directly from the SHARC manual)
The SHArC program also depends on LAPACK, BLAS, and FFTW, so I add them into my conda environment as well.
I clone the git repository to an appropriate directory.
I add -I and -L flags in the fortran and cc compilers in the Makefile in the source folder.
I make the installation in the source directory of SHARC (which does not show errors) and then I use make clean. Then I change use_pysharc in the Makefile to true and cd into the pysharc directory to use make install again.
At this final install, I get a lot of errors about incompatible pointers and any attempt to use the pysharc program fails.
Here is the output I get for both steps:
For the first make install in the source directory, I get: "Updating "build_info.inc" gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c matrix.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c string.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input_list.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c misc.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c output.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_afssh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_dom.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c nuclear.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm_out.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c restart.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c bsh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic_laser.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c zpe.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c army_ants.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c tsh_tu.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c pointer_basis.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c driver.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c main.F90 gfortran definitions.o matrix.o string.o input_list.o driver.o misc.o output.o restart.o qm_out.o nuclear.o bsh.o electronic.o qm.o electronic_laser.o input.o decoherence_afssh.o decoherence_dom.o zpe.o tsh_tu.o army_ants.o pointer_basis.o main.o -o sharc1.x -llapack -lfftw3 -lblas -lgfortran ln -sf sharc1.x sharc.x gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c data_extractor.f90 gfortran qm_out.o data_extractor.o definitions.o matrix.o string.o input_list.o -o data_extractor.x -llapack -lfftw3 -lblas -lgfortran gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c diagonalizer.f90 gfortran string.o matrix.o diagonalizer.o -o diagonalizer.x -llapack -lfftw3 -lblas -lgfortran gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c LASER_definitions.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c LASER_calc_fftw.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c LASER_input.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c LASER_main.f90 gfortran LASER_definitions.o LASER_calc_fftw.o LASER_input.o LASER_main.o -o laser.x -llapack -lfftw3 -lblas -lgfortran cp -f *.x ../bin cp -f sharcvars.sh ../bin cp -f sharcvars.csh ../bin"
/central/groups/hadtlab/TRS/software/sharc/pysharc/netcdf' cd ../source; make libsharc make[1]: Entering directory
/central/groups/hadtlab/TRS/software/sharc/source' Updating "build_info.inc" gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c matrix.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c string.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input_list.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c misc.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c output.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_afssh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c decoherence_dom.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c nuclear.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm_out.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c restart.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c qm.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c bsh.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c electronic_laser.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c input.F90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c zpe.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c army_ants.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c tsh_tu.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c pointer_basis.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c driver.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c definitions_NetCDF.f90 gfortran -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DPYSHARC -O3 -fPIC -g -ffree-line-length-none -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -c interface.F90 gfortran -shared definitions.o matrix.o string.o input_list.o driver.o misc.o output.o restart.o qm_out.o nuclear.o bsh.o electronic.o qm.o electronic_laser.o input.o decoherence_afssh.o decoherence_dom.o zpe.o tsh_tu.o army_ants.o pointer_basis.o interface.o -o ../pysharc/lib/libsharc.so -llapack -lfftw3 -lblas -lgfortran -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -lhdf5 -lhdf5_hl -lmfhdf -ldf -ljpeg -L../pysharc/lib -lsharcnc -lnetcdf make[1]: Leaving directory `/central/groups/hadtlab/TRS/software/sharc/source' python sharc_setup build_ext --build-lib . running build_ext building 'sharc/sharc' extension creating build creating build/temp.linux-x86_64-cpython-39 creating build/temp.linux-x86_64-cpython-39/pysharc_src /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -fPIC -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -fPIC -Iinclude -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include/python3.9 -c pysharc_src/pysharc.c -o build/temp.linux-x86_64-cpython-39/pysharc_src/pysharc.o -std=c99 -Wall In file included from pysharc_src/pysharc.c:338: pysharc_src/pysharc_QMout.c: In function 'QMout_init': pysharc_src/pysharc_QMout.c:143:18: warning: passing argument 1 of 'setPointers' from incompatible pointer type [-Wincompatible-pointer-types] 143~~~~~~~~~~~^ pysharc_src/pysharc_QMout.c:144:18: warning: passing argument 2 of 'setPointers' from incompatible pointer type [-Wincompatible-pointer-types] 144~~~~~~~~~~~~^~ pysharc_src/pysharc_QMout.c:145:18: warning: passing argument 3 of 'setPointers' from incompatible pointer type [-Wincompatible-pointer-types] 145~~~~~~~~~~^~~~~ pysharc_src/pysharc_QMout.c:146:18: warning: passing argument 4 of 'setPointers' from incompatible pointer type [-Wincompatible-pointer-types] 146~~~~~^~ pysharc_src/pysharc_QMout.c:147:18: warning: passing argument 5 of 'setPointers' from incompatible pointer type [-Wincompatible-pointer-types] 147~~~~~~~~~^~ In file included from pysharc_src/pysharc.c:340: pysharc_src/pysharc_QMin.c: In function 'QMin_new': pysharc_src/pysharc_QMin.c:55:10: warning: assignment to 'QMin ' from incompatible pointer type 'QMout ' [-Wincompatible-pointer-types] 55~~~~~include/interface.h:65:30: note: expected 'void ' but argument is of type 'double ' 65 | void setQMinPointers(void * Crd); |
~~^pysharc_src/pysharc_QMout.c: In function 'QMout_set_nacdr': pysharc_src/pysharc_QMout.c:512:9: warning: 'state_state_nac' may be used uninitialized [-Wmaybe-uninitialized] 512 | free(state_state_nac); | ^~~~~pysharc_src/pysharc_QMout.c:459:14: note: 'state_state_nac' was declared here 459 | double state_state_nac; | ^~~~~~~ pysharc_src/pysharc_QMout.c: In function 'QMout_set_gradient': pysharc_src/pysharc_QMout.c:304:9: warning: 'state_gradient' may be used uninitialized [-Wmaybe-uninitialized] 304 | free(state_gradient); | ^~~~~~~~ pysharc_src/pysharc_QMout.c:256:14: note: 'state_gradient' was declared here 256 | double state_gradient; | ^~~~~~ /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/bin/x86_64-conda-linux-gnu-cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -fPIC -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -fPIC -Iinclude -I/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include/python3.9 -c pysharc_src/pysharc_tools.c -o build/temp.linux-x86_64-cpython-39/pysharc_src/pysharc_tools.o -std=c99 -Wall /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/bin/x86_64-conda-linux-gnu-cc -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -Wl,-rpath-link,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -Wl,-rpath-link,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -Wl,-rpath-link,/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -L/groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/lib -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /groups/hadtlab/TRS/miniconda/envs/pysharc_3.0/include build/temp.linux-x86_64-cpython-39/pysharc_src/pysharc.o build/temp.linux-x86_64-cpython-39/pysharc_src/pysharc_tools.o -Llib -L$ANACONDA/lib -lsharc -o ./sharc/sharc.cpython-39-x86_64-linux-gnu.so cp lib/.so ../lib cp bin/*.py ../bin"Please let me know if you need any other information from me about my compilation steps or other outputs. Thanks for your time!
Best, Thais