I'm using CMake 3.21.3 - from Kitware's download page (binary distribution). I've noticed that:
$ ldd `which cmake`
linux-vdso.so.1 (0x00007fff0ed12000)
libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007fdc4a890000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdc4a88a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdc4a87f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdc4a85d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdc4a719000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdc4a554000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdc4a8d3000)
contains references to two unexpected libraries. One is librt, which is probably explained by its use within cmlibuv (which CMake in turn uses); but the other, which I can't explain, is libgtk3-nocsd. Why would the CMake binary (not cmake-gui mind you) use this library?
It's not linked against libgtk3-nocsd. Something in your environment has set LD_PRELOAD to add libgtk3-nocsd. Try running ldd again with LD_PRELOAD unset.
$ curl -s -L -O https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3-linux-x86_64.tar.gz
$ shasum cmake-3.21.3-linux-x86_64.tar.gz
5461d4f066a728445e0b6be0e4d250b828323908 cmake-3.21.3-linux-x86_64.tar.gz
$ tar xf cmake-3.21.3-linux-x86_64.tar.gz
$ cd cmake-3.21.3-linux-x86_64/bin
$ shasum cmake
9c0032147cde3739e121c092013d13eb21c3ce34 cmake
$ unset LD_PRELOAD
$ ldd cmake
linux-vdso.so.1 (0x00007fffe0191000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f65af676000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f65af66b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f65af649000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f65af505000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f65af340000)
/lib64/ld-linux-x86-64.so.2 (0x00007f65af684000)
In my project, i use singularity to build a mpi.sif.
I have a openMPI in my host file system. I do not want to install mpi in the container.
so i try to copy the mpi files to container.
Some content of the define mpi.def is like :
[stack#node01 pitzDaily]$ cat mpi.def
Bootstrap: docker
From: centos:7
%help
This recipe provides an OpenFOAM-7 environment installed
with GCC and OpenMPI-4.
%labels
Author stack
%files from stage_name
/share/apps/openmpi/intel/3.1.2/ /opt/openmpi-3.1.2
%post
### Install prerequisites
I can get the mpi.sif successfully after the building.
But i ran mpicc in container, it is wrong:
Singularity> mpicc
mpicc: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No
such file or directory
Singularity> echo $PATH
/opt/openmpi-3.1.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Singularity> cd /opt/openmpi-3.1.2/bin/
Singularity> ls
aggregate_profile.pl mpiCC mpif77 mpirun ompi_info ompi-top orte-clean
orte-info orte-server oshcc oshfort profile2mat.pl shmemcc shmemfort
mpic++ mpicxx mpif90 ompi-clean ompi-ps opal_wrapper orted orte-ps
orte-top oshCC oshmem_info prun shmemCC shmemrun
mpicc mpiexec mpifort ompi-dvm ompi-server ortecc orte-dvm orterun
oshc++ oshcxx oshrun shmemc++ shmemcxx
In fact, i have mpi files in container, but it is wrong:
Singularity> ./mpicc
./mpicc: error while loading shared libraries: libnuma.so.1: cannot open shared object file:
No such file or directory
Singularity>ldd ./mpicc
linux-vdso.so.1 => (0x00007fff1d79f000)
libopen-pal.so.40 => /opt/openmpi-3.1.2/lib/libopen-pal.so.40 (0x00007f0a6cade000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0a6c7dc000)
libnuma.so.1 => not found
librt.so.1 => /lib64/librt.so.1 (0x00007f0a6c5d4000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f0a6c3d1000)
libz.so.1 => /lib64/libz.so.1 (0x00007f0a6c1bb000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f0a6bfa5000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0a6bd89000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0a6b9bb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a6b7b7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0a6ce13000)
libnuma.so.1 => not found
libimf.so => not found
libsvml.so => not found
libirng.so => not found
libintlc.so.5 => not found
Who can give me a help?
I am using AlmaLinux 8 with svn/apache.
When trying to start my httpd service I am given the following status message:
Aug 12 17:54:06 domain.tld httpd[495168]: httpd: Syntax error on line 132 of /etc/httpd/conf/httpd2.conf: Syntax error on line 1 of /etc/httpd/conf/extra/httpd-svn.conf: Cannot load /usr/lib/apache/mod_dav_svn.so into server: /usr/lib64/libsvn_subr-1.so.0: undefined symbol: apr_crypto_block_cleanup
In the past, simply moving /usr/lib64/libsvn_subr-1.so.0 to /usr/lib64/libsvn_subr-1.so.0-old fixed the error but on this occasion (having updated dnf) this is not the case.
Struggling because I have limited debugging opportunities so if anything at all can be provided to help debug that would suffice as an answer. the only output I can find suitable for me is below.
linux-vdso.so.1 (0x00007ffd13835000)
libsvn_repos-1.so.0 => /usr/lib64/libsvn_repos-1.so.0 (0x00007fb9de978000)
libsvn_fs-1.so.0 => /usr/lib64/libsvn_fs-1.so.0 (0x00007fb9de76a000)
libsvn_fs_fs-1.so.0 => /usr/lib64/libsvn_fs_fs-1.so.0 (0x00007fb9de512000)
libsvn_fs_x-1.so.0 => /usr/lib64/libsvn_fs_x-1.so.0 (0x00007fb9de2ba000)
libsvn_delta-1.so.0 => /usr/lib64/libsvn_delta-1.so.0 (0x00007fb9de09a000)
libsvn_fs_util-1.so.0 => /usr/lib64/libsvn_fs_util-1.so.0 (0x00007fb9dde96000)
libsvn_subr-1.so.0 => /usr/lib64/libsvn_subr-1.so.0 (0x00007fb9ddc02000)
libaprutil-1.so.0 => /usr/lib/apache/libaprutil-1.so.0 (0x00007fb9dd9cd000)
libapr-1.so.0 => /usr/lib/apache/libapr-1.so.0 (0x00007fb9dd788000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007fb9dd580000)
libcrypt.so.1 => /usr/lib64/libcrypt.so.1 (0x00007fb9dd357000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fb9dd11c000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007fb9dcf05000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fb9dcd01000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fb9dcae1000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb9dc71c000)
libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fb9dc408000)
libmagic.so.1 => /usr/lib64/libmagic.so.1 (0x00007fb9dc1e1000)
liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007fb9dbfc4000)
libutf8proc.so.2 => /usr/lib64/libutf8proc.so.2 (0x00007fb9dbd7b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb9dedea000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007fb9db9f9000)
Currently svn is only served via svn hence I don't even have svn available at cli.
Please help!
Running the following fixed my problem:
tar xvf subversion-1.14.0.tar.gz
cd subversion-1.14.0
wget https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip -O sqlite-ation-3081101.zip
unzip sqlite-amalgamation-3081101.zip
mv sqlite-amalgamation-3081101 sqlite-amalgamation
./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-1-config --with-lz4=internal --with-utf8proc=internal
make -j4
mv subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/lib/apache/mod_dav_svn.so
Thanks anyway, hope this helps someone (most likely me) in the future.
I just tried to install apache 2.4.25 with these configure parameters
./configure --prefix=/opt/apache2/ --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/opt/pcre --enable-ssl --with-ssl=/usr/local/ssl
and seems no problem. But when I tried to make, it halted and says
/usr/bin/ld: cannot find -lcrypt
Then I tried to find out whether libcrypt* library is loaded, and yes is there
[root#localhost httpd-2.4.25]# ldconfig -p | grep libcrypt
libcryptui.so.0 (libc6,x86-64) => /usr/lib64/libcryptui.so.0
libcryptsetup.so.1 (libc6,x86-64) => /lib64/libcryptsetup.so.1
libcrypto.so.10 (libc6,x86-64) => /usr/lib64/libcrypto.so.10
libcrypto.so.1.1 (libc6,x86-64) => /usr/lib64/libcrypto.so.1.1
libcrypto.so (libc6,x86-64) => /usr/lib64/libcrypto.so
libcrypt.so.1 (libc6,x86-64, OS ABI: Linux 2.6.18) => /lib64/libcrypt.so.1
libcrypt.so.1 (libc6,x86-64, OS ABI: Linux 2.6.18) => /usr/lib64/libcrypt.so.1
Any clue about this?
I am trying to run ipython notebook via SSH in a virtualenv previously created on the computer directly logged in (no SSH). When doing so the ipython notebook fails with:
(venv2) [host]user: ipython notebook --nobrowser
Traceback (most recent call last):
File ".../venv2/bin/ipython", line 11, in <module>
sys.exit(start_ipython())
File ".../venv2/lib/python2.7/site-packages/IPython/__init__.py", line 118, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 591, in launch_instance
app.initialize(argv)
File "<decorator-gen-111>", line 2, in initialize
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File ".../venv2/lib/python2.7/site-packages/IPython/terminal/ipapp.py", line 305, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "<decorator-gen-7>", line 2, in initialize
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File ".../venv2/lib/python2.7/site-packages/IPython/core/application.py", line 386, in initialize
self.parse_command_line(argv)
File ".../venv2/lib/python2.7/site-packages/IPython/terminal/ipapp.py", line 300, in parse_command_line
return super(TerminalIPythonApp, self).parse_command_line(argv)
File "<decorator-gen-4>", line 2, in parse_command_line
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 487, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "<decorator-gen-3>", line 2, in initialize_subcommand
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File ".../venv2/lib/python2.7/site-packages/traitlets/config/application.py", line 418, in initialize_subcommand
subapp = import_item(subapp)
File ".../venv2/lib/python2.7/site-packages/ipython_genutils/importstring.py", line 31, in import_item
module = __import__(package, fromlist=[obj])
File ".../venv2/lib/python2.7/site-packages/notebook/notebookapp.py", line 32, in <module>
from zmq.eventloop import ioloop
File ".../venv2/lib/python2.7/site-packages/zmq/__init__.py", line 44, in <module>
_libsodium = ctypes.CDLL(bundled_sodium[0], mode=ctypes.RTLD_GLOBAL)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /lib64/libc.so.6: version 'GLIBC_2.14' not found (required by .../venv2/lib/python2.7/site-packages/zmq/libsodium.so)
linux-vdso.so.1 => (0x00007ffc957cf000)
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007ffa27a84000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffa27867000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffa274d2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffa272ce000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007ffa270cb000)
libm.so.6 => /lib64/libm.so.6 (0x00007ffa26e46000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f10400000)
symbol memcpy, version GLIBC_2.14 not defined in file libc.so.6 with link time reference (.../venv2/lib/python2.7/site-packages/zmq/libsodium.so)
And ldd gives:
(venv2) [host]user: ldd -r -v .../venv2/lib/python2.7/site-packages/zmq/libsodium.so
.../venv2/lib/python2.7/site-packages/zmq/libsodium.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by .../venv2/lib/python2.7/site-packages/zmq/libsodium.so)
linux-vdso.so.1 => (0x00007ffd835e7000)
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007f229227b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f229205e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2291cc9000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2291ac5000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f22918c2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f229163d000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f10400000)
symbol memcpy, version GLIBC_2.14 not defined in file libc.so.6 with link time reference (.../venv2/lib/python2.7/site-packages/zmq/libsodium.so)
Version information:
.../venv2/lib/python2.7/site-packages/zmq/libsodium.so:
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libc.so.6 (GLIBC_2.14) => not found
libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/usr/lib64/libpython2.7.so.1.0:
libdl.so.2 (GLIBC_2.2.5) => /lib64/libdl.so.2
libutil.so.1 (GLIBC_2.2.5) => /lib64/libutil.so.1
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libm.so.6 (GLIBC_2.2.5) => /lib64/libm.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libpthread.so.0:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
/lib64/libdl.so.2:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libutil.so.1:
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libm.so.6:
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
When using ipython notebook via normal desktop login it all works but using it via SSH always gives this error. Reinstalling the venv via SSH did not help. I do not have root access neither do I have sudo.
Any ideas how to get it to work?
Thanks a lot!
From https://docs.python.org/3/library/venv.html:
The venv module provides support for creating lightweight “virtual environments”
with their own site directories, optionally isolated from system
site directories.
Apparently your virtual environment is isolated from the system, and also is using older version of GLIBC. The SSH part of your question is likely a red herring, it's the venv that causes your problems, not ssh.
You can find the version of glibc inside and outside of venv by running /lib64/libc.so.6.
Once you confirm that the libc.so.6 inside venv is older than 2.14 ... there is very little you can do to fix this.
You can work with whoever maintains your venv to get GLIBC inside of it updated to match system one, or you can try to create binaries that don't require GLIBC-2.14.
The latter solution is non-trivial. Two common approaches are to compile/link your binaries inside a chroot environment, or using a linux-to-older-linux cross-compiler.
A more viable approach might be to always build your binaries inside the venv. They will then work both inside and outside of it.