Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import error on venv #260

Open
alon-dotan-starkware opened this issue Aug 18, 2020 · 3 comments
Open

import error on venv #260

alon-dotan-starkware opened this issue Aug 18, 2020 · 3 comments

Comments

@alon-dotan-starkware
Copy link

looks like in some situation the aerospike so linked to the wrong SSL so
we do the following, create venv on ci server (ubuntu 18.04) and copy it to docker image which is debian based,
Im getting the following error:

ImportError: /app/python_pip/python3.7/pip_aerospike/aerospike.cpython-37m-x86_64-linux-gnu.so: undefined symbol: SSLv23_client_method

when I run ldd on the aerospike.cpython-37m-x86_64-linux-gnu.so I get different results:
if build the venv on the docker container, the aerospike.cpython-37m-x86_64-linux-gnu.so linked with SSL lib under .libsaerospike

ldd  pip/python_pip/python3.7/pip_aerospike/aerospike.cpython-37m-x86_64-linux-gnu.so           
        linux-vdso.so.1 (0x00007fff03792000)
        libssl-520a8983.so.1.1 => pip/python_pip/python3.7/pip_aerospike/.libsaerospike/libssl-520a8983.so.1.1 (0x00007f3750ccf000)
        libcrypto-b6f6726c.so.1.1 => pip/python_pip/python3.7/pip_aerospike/.libsaerospike/libcrypto-b6f6726c.so.1.1 (0x00007f37507b3000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3750594000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f37501f6000)
        libz-eb09ad1d.so.1.2.3 => pip/python_pip/python3.7/pip_aerospike/.libsaerospike/libz-eb09ad1d.so.1.2.3 (0x00007f374ffdf000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f374fdd7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f374f9e6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f37512c3000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f374f7e2000)

but if I do it on the ubunu machine and copy the venv:

$ ldd aerospike.cpython-37m-x86_64-linux-gnu.so
	linux-vdso.so.1 (0x00007ffcae1aa000)
	libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fbddb2c3000)
	libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fbddadf8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbddabd9000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbdda83b000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbdda61e000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbdda416000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbdda025000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fbddb880000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbdd9e21000)
@dwelch-spike
Copy link
Contributor

Hi @alon-dotan-starkware

How are you installing the Python client on your venv?

These sorts of issues may be solved by the packaged openssl in our manylinux wheels. I would recommend you try the manylinux wheel install (via pip), or build the Python client from source against the openssl of your choice using #256 (comment) (disregard the brew stuff for linux) . Also see https://github.com/aerospike/aerospike-client-python/blob/master/BUILD.md#building-on-an-unsupported-linux-distro

I hope this helps. :)

@alon-dotan-starkware
Copy link
Author

@dwelch-spike can you share more info about the manylinux installation?
Its simple flag to the pip command?

@dwelch-spike
Copy link
Contributor

@alon-dotan-starkware the manylinux installation happens by default when using pip install aerospike, but you need Python client >= 3.8.0 and pip >= 19.0. There is an explanation here https://discuss.aerospike.com/t/python-client-manylinux2010-wheel-install-and-openssl/7005

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants