JuliaDatabases / LibPQ.jl

A Julia wrapper for libpq
MIT License
216 stars 51 forks source link

strange libssl/libcrypto version issue on Julia 1.5.3 #208

Open ExpandingMan opened 4 years ago

ExpandingMan commented 4 years ago

I am sometimes getting Julia crash with the following error when calling LibPQ.Connection(::String)

/opt/julia/bin/julia: relocation error: /home/expandingman/.julia/artifacts/e6e5f41352118bbeb4467776
5ebccab8c151c72a/lib/libssl.so: symbol EVP_idea_cbc version OPENSSL_1_1_0 not defined in file libcry
pto.so.1.1 with link time reference

There seems to be some conflict with some python library loaded by scikitlearn. I'm having a very hard time getting an MWE. Instead, what I have done is to run it both with and without scikitlearn. If I run without scikitlearn I don't get the error.

Here is the result of Libdl.dllist() without scikitlearn (and I don't get the error)

["linux-vdso.so.1", "/opt/julia/bin/../lib/libjulia.so.1", "/lib/x86_64-linux-gnu/libdl.so.2", "/lib/x86_64-linux-gnu/librt.so.1", "/lib/x86_64-linux-gnu/libpthread.so.0", "/lib/x86_64-linux-gnu/libc.so.6", "/opt
/julia/bin/../lib/julia/libunwind.so.8", "/opt/julia/bin/../lib/julia/libLLVM-9jl.so", "/opt/julia/bin/../lib/julia/libstdc++.so.6", "/lib/x86_64-linux-gnu/libm.so.6", "/opt/julia/bin/../lib/julia/libgcc_s.so.1",
 "/lib64/ld-linux-x86-64.so.2", "/opt/julia/lib/julia/sys.so", "/opt/julia/bin/../lib/julia/libpcre2-8.so", "/opt/julia/bin/../lib/julia/libgmp.so", "/opt/julia/bin/../lib/julia/libmpfr.so", "/opt/julia/bin/../li
b/julia/libopenblas64_.so", "/opt/julia/bin/../lib/julia/libgfortran.so.4", "/opt/julia/bin/../lib/julia/libquadmath.so.0", "/opt/julia/bin/../lib/julia/libcholmod.so", "/opt/julia/bin/../lib/julia/libamd.so.2",
"/opt/julia/bin/../lib/julia/libcolamd.so.2", "/opt/julia/bin/../lib/julia/libsuitesparseconfig.so.5", "/opt/julia/bin/../lib/julia/libccolamd.so.2", "/opt/julia/bin/../lib/julia/libcamd.so.2", "/opt/julia/bin/..
/lib/julia/libsuitesparse_wrapper.so", "/home/expandingman/.julia/artifacts/fa7a95c807b2fbc4e13451994fe92463203ce891/lib/libRmath-julia.so", "/home/expandingman/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6
f9f917/lib/libcharset.so", "/home/expandingman/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6f9f917/lib/libiconv.so", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbed
crypto.so", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbedtls.so", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbedx509.so.0", "
/opt/julia/bin/../lib/julia/libdSFMT.so", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libatomic.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bca
b639cf/lib/libgcc_s.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libgfortran.so.4", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/li
bgomp.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libstdc++.so.6", "/home/expandingman/.julia/artifacts/846b9ab259c1612b851f8b59bc3658997e23ff57/lib/libopenspecfun.so"
, "/home/expandingman/.julia/artifacts/a720905290c81768185376a3ab5842c296b4cef8/lib/libbz2.so", "/home/expandingman/.julia/artifacts/27bce23cfb763bc3cc8ccba62ee0a8f67b6f9d9e/lib/libz.so", "/home/expandingman/.jul
ia/artifacts/78009099ec67961c9faf491873e31e39aae0d11b/lib/libopenblas64_.so", "/home/expandingman/.julia/artifacts/21b8ba5bf6474cac6fa64d9ad681e6b506eba90a/lib/libarpack.so", "/home/expandingman/.julia/artifacts/
e6e5f41352118bbeb44677765ebccab8c151c72a/lib/libcrypto.so", "/home/expandingman/.julia/artifacts/e6e5f41352118bbeb44677765ebccab8c151c72a/lib/libssl.so", "/home/expandingman/.julia/artifacts/13aaf7cd71e97d0fc2ad9
85886201d917e5c53b3/lib/libpq.so", "/home/expandingman/.julia/artifacts/595a9c11691838de1f6ed43bfe902f7885cb366a/lib/libxml2.so", "/lib/x86_64-linux-gnu/libnss_files.so.2", "/lib/x86_64-linux-gnu/libnss_dns.so.2"
, "/lib/x86_64-linux-gnu/libresolv.so.2", "/lib/x86_64-linux-gnu/libnss_compat.so.2", "/lib/x86_64-linux-gnu/libnss_nis.so.2", "/lib/x86_64-linux-gnu/libnsl.so.1"]

And here it is with scikitlearn when I do get the error

["linux-vdso.so.1", "/opt/julia/bin/../lib/libjulia.so.1", "/lib/x86_64-linux-gnu/libdl.so.2", "/lib/x86_64-linux-gnu/librt.so.1", "/lib/x86_64-linux-gnu/libpthread.so.0", "/lib/x86_64-linux-gnu/libc.so.6", "/opt/julia/bin/../lib/julia/libunwind.so.8", "/opt/julia/bin/../lib/julia/libLLVM-9jl.so", "/opt/julia/bin/../lib/julia/libstdc++.so.6", "/lib/x86_64-linux-gnu/libm.so.6", "/opt/julia/bin/../lib/julia/libgcc_s.so.1", "/lib64/ld-linux-x86-64.so.2", "/opt/julia/lib/julia/sys.so", "/opt/julia/bin/../lib/julia/libpcre2-8.so", "/opt/julia/bin/../lib/julia/libgmp.so", "/opt/julia/bin/../lib/julia/libmpfr.so", "/opt/julia/bin/../lib/julia/libopenblas64_.so", "/opt/julia/bin/../lib/julia/libgfortran.so.4", "/opt/julia/bin/../lib/julia/libquadmath.so.0", "/opt/julia/bin/../lib/julia/libcholmod.so", "/opt/julia/bin/../lib/julia/libamd.so.2", "/opt/julia/bin/../lib/julia/libcolamd.so.2", "/opt/julia/bin/../lib/julia/libsuitesparseconfig.so.5", "/opt/julia/bin/../lib/julia/libccolamd.so.2", "/opt/julia/bin/../lib/julia/libcamd.so.2", "/opt/julia/bin/../lib/julia/libsuitesparse_wrapper.so", "/home/expandingman/.julia/artifacts/fa7a95c807b2fbc4e13451994fe92463203ce891/lib/libRmath-julia.so", "/home/expandingman/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6f9f917/lib/libcharset.so", "/home/expandingman/.julia/artifacts/473dc2ed3d46252c87733b7fdca3da64c6f9f917/lib/libiconv.so", "/opt/julia/bin/../lib/julia/libdSFMT.so", "/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0", "/lib/x86_64-linux-gnu/libexpat.so.1", "/opt/julia/bin/../lib/julia/libz.so.1", "/lib/x86_64-linux-gnu/libutil.so.1", "/usr/lib/python3.6/lib-dynload/_opcode.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/x86_64-linux-gnu/libffi.so.6", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbedcrypto.so", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbedtls.so", "/home/expandingman/.julia/artifacts/519367e9365948074c1fcc9f4365597f147a5ab7/lib/libmbedx509.so.0", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libatomic.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libgcc_s.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libgfortran.so.4", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libgomp.so.1", "/home/expandingman/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf/lib/libstdc++.so.6", "/home/expandingman/.julia/artifacts/846b9ab259c1612b851f8b59bc3658997e23ff57/lib/libopenspecfun.so", "/usr/local/lib/python3.6/dist-packages/sklearn/__check_build/_check_build.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-3300acd3.so.1.0.0", "/usr/local/lib/python3.6/dist-packages/numpy/core/_multiarray_umath.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/core/../../numpy.libs/libopenblasp-r0-edd6b1a3.3.9.dev.so", "/usr/local/lib/python3.6/dist-packages/numpy/core/../../numpy.libs/libgfortran-ed201abd.so.3.0.0", "/usr/local/lib/python3.6/dist-packages/numpy/core/_multiarray_tests.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/linalg/lapack_lite.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/linalg/_umath_linalg.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so", "/lib/x86_64-linux-gnu/libbz2.so.1.0", "/usr/lib/python3.6/lib-dynload/_lzma.cpython-36m-x86_64-linux-gnu.so", "/lib/x86_64-linux-gnu/liblzma.so.5", "/usr/lib/python3.6/lib-dynload/_decimal.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/x86_64-linux-gnu/libmpdec.so.2", "/usr/local/lib/python3.6/dist-packages/numpy/fft/_pocketfft_internal.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/mtrand.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/bit_generator.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_common.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/python3.6/lib-dynload/_hashlib.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1", "/usr/local/lib/python3.6/dist-packages/numpy/random/_bounded_integers.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_mt19937.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_philox.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_pcg64.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_sfc64.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/numpy/random/_generator.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/_lib/_ccallback_c.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/_lib/_uarray/_uarray.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/fft/_pocketfft/pypocketfft.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/_sparsetools.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/_csparsetools.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_shortest_path.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_tools.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_traversal.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_min_spanning_tree.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_flow.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_matching.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/csgraph/_reordering.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/sklearn/utils/murmurhash.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/python3.6/lib-dynload/_json.cpython-36m-x86_64-linux-gnu.so", "/lib/x86_64-linux-gnu/libuuid.so.1", "/usr/lib/python3.6/lib-dynload/_multiprocessing.cpython-36m-x86_64-linux-gnu.so", "/usr/lib/python3.6/lib-dynload/mmap.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/psutil/_psutil_linux.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/psutil/_psutil_posix.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/ckdtree.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/qhull.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/../../scipy.libs/libopenblasp-r0-085ca80a.3.9.so", "/usr/local/lib/python3.6/dist-packages/scipy/_lib/messagestream.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/_voronoi.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/_fblas.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/_flapack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/_flinalg.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/_solve_toeplitz.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/_decomp_update.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/cython_blas.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/linalg/cython_lapack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/_distance_wrap.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/spatial/_hausdorff.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/_ufuncs.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/_ufuncs_cxx.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/specfun.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/_comb.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/_ellip_harm_2.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/ndimage/_nd_image.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/ndimage/_ni_label.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/minpack2.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/linalg/isolve/_iterative.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/linalg/dsolve/_superlu.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/sparse/linalg/eigen/arpack/_arpack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_group_columns.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_trlib/_trlib.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_lbfgsb.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/moduleTNC.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_cobyla.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_slsqp.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_minpack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_lsq/givens_elimination.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_zeros.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/__nnls.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_bglu_dense.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/optimize/_lsap_module.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/integrate/_odepack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/integrate/_quadpack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/integrate/vode.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/integrate/_dop.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/integrate/lsoda.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/interpolate/_fitpack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/interpolate/dfitpack.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/interpolate/_bspl.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/interpolate/_ppoly.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/interpolate/interpnd.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/stats/_stats.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/special/cython_special.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/stats/statlib.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/scipy/stats/mvn.cpython-36m-x86_64-linux-gnu.so", "/usr/local/lib/python3.6/dist-packages/sklearn/utils/_openmp_helpers.cpython-36m-x86_64-linux-gnu.so", "/home/expandingman/.julia/artifacts/a720905290c81768185376a3ab5842c296b4cef8/lib/libbz2.so", "/home/expandingman/.julia/artifacts/27bce23cfb763bc3cc8ccba62ee0a8f67b6f9d9e/lib/libz.so", "/home/expandingman/.julia/artifacts/78009099ec67961c9faf491873e31e39aae0d11b/lib/libopenblas64_.so", "/home/expandingman/.julia/artifacts/21b8ba5bf6474cac6fa64d9ad681e6b506eba90a/lib/libarpack.so", "/home/expandingman/.julia/artifacts/e6e5f41352118bbeb44677765ebccab8c151c72a/lib/libcrypto.so", "/home/expandingman/.julia/artifacts/e6e5f41352118bbeb44677765ebccab8c151c72a/lib/libssl.so", "/home/expandingman/.julia/artifacts/13aaf7cd71e97d0fc2ad985886201d917e5c53b3/lib/libpq.so", "/home/expandingman/.julia/artifacts/595a9c11691838de1f6ed43bfe902f7885cb366a/lib/libxml2.so", "/lib/x86_64-linux-gnu/libnss_files.so.2", "/lib/x86_64-linux-gnu/libnss_dns.so.2", "/lib/x86_64-linux-gnu/libresolv.so.2"]

@staticfloat, @giordano

iamed2 commented 4 years ago

Yeah it looks like the breaking version is loading the system's libcrypto.so ("/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1") in addition to the one provided by the JLL. Maybe the versions don't match up? But I have no idea how to resolve something like this.

staticfloat commented 4 years ago

That sounds like the SONAMEs don't match, so the OS doesn't realize that it's loading two different copies of the same thing.

@ExpandingMan what does readelf -d $file say about the two libcrypto's being loaded?

ExpandingMan commented 4 years ago
◖0▮expandingman@server▮~/.julia/artifacts/e6e5f41352118bbeb44677765ebccab8c151c72a/lib▮◗ readelf -d libssl.so

Dynamic section at offset 0xa8000 contains 29 entries:
  Tag        Type                         Name/Value
 0x000000000000001d (RUNPATH)            Library runpath: [$ORIGIN]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libssl.so.1.1]
 0x0000000000000010 (SYMBOLIC)           0x0
 0x000000000000000c (INIT)               0x1c468
 0x000000000000000d (FINI)               0x6c188
 0x0000000000000004 (HASH)               0x296d98
 0x0000000000000005 (STRTAB)             0x299000
 0x0000000000000006 (SYMTAB)             0x1888
 0x000000000000000a (STRSZ)              19346 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x28d588
 0x0000000000000002 (PLTRELSZ)           10608 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x19af8
 0x0000000000000007 (RELA)               0xc6e8
 0x0000000000000008 (RELASZ)             54288 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffc (VERDEF)             0xc5a0
 0x000000006ffffffd (VERDEFNUM)          5
 0x000000006ffffffb (FLAGS_1)            Flags: NODELETE
 0x000000006ffffffe (VERNEED)            0xc648
 0x000000006fffffff (VERNEEDNUM)         3
 0x000000006ffffff0 (VERSYM)             0xbe1a
 0x000000006ffffff9 (RELACOUNT)          2223
 0x0000000000000000 (NULL)               0x0
◖0▮expandingman@server▮/usr/lib/x86_64-linux-gnu▮◗ readelf -d libcrypto.so.1.1

Dynamic section at offset 0x2c54e8 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libcrypto.so.1.1]
 0x000000000000000c (INIT)               0x76da0
 0x000000000000000d (FINI)               0x20e3a0
 0x0000000000000019 (INIT_ARRAY)         0x49ad70
 0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x49ad78
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x000000006ffffef5 (GNU_HASH)           0x1f0
 0x0000000000000005 (STRTAB)             0x23e10
 0x0000000000000006 (SYMTAB)             0x9680
 0x000000000000000a (STRSZ)              87843 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x4c5718
 0x0000000000000002 (PLTRELSZ)           3072 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x761a0
 0x0000000000000007 (RELA)               0x3baf0
 0x0000000000000008 (RELASZ)             239280 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffc (VERDEF)             0x3b880
 0x000000006ffffffd (VERDEFNUM)          11
 0x000000000000001e (FLAGS)              BIND_NOW
 0x000000006ffffffb (FLAGS_1)            Flags: NOW NODELETE
 0x000000006ffffffe (VERNEED)            0x3ba00
 0x000000006fffffff (VERNEEDNUM)         3
 0x000000006ffffff0 (VERSYM)             0x39534
 0x000000006ffffff9 (RELACOUNT)          9158
 0x0000000000000000 (NULL)               0x0

I'm not really sure if these were the files you wanted me to dump, if there were another you had in mind, please let me know and I'll provide it for you.

ExpandingMan commented 4 years ago

So far, the only way I've actually been able to fix this is by making using LibPQ the very first statement when Julia loads. Oddly, simply ensuring that using LibPQ is executed before any of the scikit-learn stuff in the actual module where the conflict is occurring did not remedy the situation.

iamed2 commented 4 years ago

@ExpandingMan The first library you readelfd was libssl, could you dump libcrypto from the same location?

ExpandingMan commented 4 years ago
◖0▮expandingman@server▮~/.julia/artifacts/e6e5f41352118bbeb44677765ebccab8c151c72a/lib▮◗ readelf -d libcrypto.so

Dynamic section at offset 0x2dd3c8 contains 27 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libcrypto.so.1.1]
 0x0000000000000010 (SYMBOLIC)           0x0
 0x000000000000000c (INIT)               0x75260
 0x000000000000000d (FINI)               0x223f88
 0x0000000000000004 (HASH)               0x158
 0x0000000000000005 (STRTAB)             0x232c0
 0x0000000000000006 (SYMTAB)             0x8878
 0x000000000000000a (STRSZ)              88249 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x4dd638
 0x0000000000000002 (PLTRELSZ)           3144 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x74618
 0x0000000000000007 (RELA)               0x3b1b0
 0x0000000000000008 (RELASZ)             234600 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffc (VERDEF)             0x3af00
 0x000000006ffffffd (VERDEFNUM)          15
 0x000000006ffffffb (FLAGS_1)            Flags: NODELETE
 0x000000006ffffffe (VERNEED)            0x3b110
 0x000000006fffffff (VERNEEDNUM)         3
 0x000000006ffffff0 (VERSYM)             0x38b7a
 0x000000006ffffff9 (RELACOUNT)          9765
 0x0000000000000000 (NULL)               0x0