libmolgrid icon indicating copy to clipboard operation
libmolgrid copied to clipboard

cannot install from source (make error)

Open sll513 opened this issue 3 years ago • 6 comments

/home/sicun/miniconda3/envs/molgrid/include/boost/test/floating_point_comparison.hpp:14:1: note: #pragma message: This header is deprecated. Use <boost/test/tools/floating_point_comparison.hpp> instead. 14 | BOOST_HEADER_DEPRECATED( "<boost/test/tools/floating_point_comparison.hpp>" ) | ^~~~~~~~~~~~~~~~~~~~~~~ [ 75%] Linking CXX executable ../bin/test_grid_cpp /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_grid_cpp.dir/build.make:109: bin/test_grid_cpp] Error 1 make[1]: *** [CMakeFiles/Makefile2:1008: test/CMakeFiles/test_grid_cpp.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 76%] Linking CXX executable ../bin/test_gridinterp_cpp [ 78%] Linking CXX executable ../bin/test_transform_cpp /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_gridinterp_cpp.dir/build.make:109: bin/test_gridinterp_cpp] Error 1 make[1]: *** [CMakeFiles/Makefile2:1086: test/CMakeFiles/test_gridinterp_cpp.dir/all] Error 2 /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_transform_cpp.dir/build.make:109: bin/test_transform_cpp] Error 1 make[1]: *** [CMakeFiles/Makefile2:1112: test/CMakeFiles/test_transform_cpp.dir/all] Error 2 [ 79%] Linking CXX executable ../bin/test_gridmaker_cu /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_gridmaker_cu.dir/build.make:109: bin/test_gridmaker_cu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1138: test/CMakeFiles/test_gridmaker_cu.dir/all] Error 2 [ 81%] Linking CXX executable ../bin/test_transform_cu /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_transform_cu.dir/build.make:109: bin/test_transform_cu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1034: test/CMakeFiles/test_transform_cu.dir/all] Error 2 [ 82%] Linking CXX executable ../bin/test_grid_cu /home/sicun/miniconda3/envs/molgrid/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64/libz.so: undefined reference to memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_grid_cu.dir/build.make:109: bin/test_grid_cu] Error 1 make[1]: *** [CMakeFiles/Makefile2:1060: test/CMakeFiles/test_grid_cu.dir/all] Error 2 [ 84%] Linking CXX shared library molgrid/molgrid.so [ 84%] Built target molgrid make: *** [Makefile:146: all] Error 2

sll513 avatar Feb 04 '22 21:02 sll513

I have ldd (GNU libc) 2.17 and "objdump -T /lib/libc.so.6 | grep -w realpath" gave: 0003f090 g DF .text 0000056f GLIBC_2.3 realpath 001418b0 g DF .text 00000041 (GLIBC_2.0) realpath

and I use the instruction in this repo to make

sll513 avatar Feb 04 '22 21:02 sll513

Do you have to use conda? It looks like the conda libraries and your system libraries aren't compatible. You can either configure your environment to not use the conda glibc or add a conda-compatible libz to your environment.

dkoes avatar Feb 06 '22 15:02 dkoes

Thanks. How I can configure my environment to not use the conda glibc once I am in the "molgrid" environment and need to compile the molgrid from scratch based on the instruction from this repo this repo? I donot have root right to the cluster I use. Also, if no conda environment, I can see glibc2.14: -bash-4.2$ readelf -a /usr/lib64/libz.so | grep memcpy 000000214f20 000d00000007 R_X86_64_JUMP_SLO 0000000000000000 memcpy@GLIBC_2.14 + 0 13: 0000000000000000 0 FUNC GLOBAL DEFAULT UND memcpy@GLIBC_2.14 (15)

Also I checked the glibc version on the cluster without conda, it is 2.17. ldd --version ldd (GNU libc) 2.17 Copyright (C) 2012 Free Software Foundation, Inc.

sll513 avatar Feb 06 '22 21:02 sll513

This is a conda question. The simplest way to avoid using conda libraries is not use conda.

dkoes avatar Feb 06 '22 21:02 dkoes

The reason that I need to manually install the molgrid from source is because the incompatibility between the current pip/conda molgrid and conda openbabel which caused me cannot run ligan successfully. The suggestion from Matt this issue is to use the molgrid conda installation that he provided in this repo. I am not sure if I can run ligan successfully if I do not follow Matt's suggestion. (btw, I have no problem use pip install molgrid and openbable. While the way I installed cannot compatible with ligan.) Therefore, I am wondering if there is a way that I can use glibc2.14 in the conda to make molgrid? Thanks,

sll513 avatar Feb 06 '22 22:02 sll513

@Luc1100 Can you please work on getting an up-to-date official conda package setup for libmolgrid?

dkoes avatar Feb 07 '22 13:02 dkoes