zbentley opened a new issue #11203:
URL: https://github.com/apache/pulsar/issues/11203


   **Describe the bug**
   The compilation of the Python binary artifact for the 2.8 client library 
appears to have been performed incorrectly. The client currently tries to 
dynamically link against libraries that don't exist, which causes `import 
pulsar` to fail.
   
   The library has static (absolute) linker paths baked in which appear to 
correspond to paths that were only present on the environment on which the 
current distribution of the binary was originally compiled before being 
uploaded.
   
   **To Reproduce**
   Steps to reproduce the behavior:
   1. On Mac OS Big Sur, create a python environment using either Python 3.8 or 
Python 3.9 (I've reproduced on both). I used `pyenv` for 3.8, and Homebrew for 
3.9.
   2. In that environment, do `pip install pulsar-client==2.8.0`
   3. Launch `python` and run `import pulsar`
   4. See error:
   
   ```
   >>> import pulsar
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File 
"/Users/user/.pyenv/versions/zac37/lib/python3.7/site-packages/pulsar/__init__.py",
 line 103, in <module>
       import _pulsar
   ImportError: 
dlopen(/Users/user/.pyenv/versions/zac37/lib/python3.7/site-packages/_pulsar.cpython-37m-darwin.so,
 2): Library not loaded: 
/Users/admin/spack/opt/spack/darwin-bigsur-skylake/apple-clang-12.0.0/openssl-1.1.1k-vh6zdk5wa6z2api2aadok7syaaft6b5z/lib/libssl.1.1.dylib
     Referenced from: 
/Users/user/.pyenv/versions/3.7.10/envs/zac37/lib/python3.7/site-packages/_pulsar.cpython-37m-darwin.so
     Reason: image not found
     ```
     
   **Expected behavior**
   A clear and concise description of what you expected to happen.
   
   **Desktop (please complete the following information):**
    - OS: Mac OS Big Sur
   
   **Additional context**
   
   
   The error is caused by absolute (rather than relative) linker paths:
   
   ```
    % otool -L 
/Users/user/.pyenv/versions/zac37/lib/python3.7/site-packages/_pulsar.cpython-37m-darwin.so
   
/Users/andris.cakuls/.pyenv/versions/zac37/lib/python3.7/site-packages/_pulsar.cpython-37m-darwin.so:
       @rpath/_pulsar.so (compatibility version 0.0.0, current version 0.0.0)
       
/Users/admin/spack/opt/spack/darwin-bigsur-skylake/apple-clang-12.0.0/curl-7.76.1-svdal2fl5lmbov7ilaupyceiovahyixw/lib/libcurl.4.dylib
 (compatibility version 12.0.0, current version 12.0.0)
       
/Users/admin/spack/opt/spack/darwin-bigsur-skylake/apple-clang-12.0.0/openssl-1.1.1k-vh6zdk5wa6z2api2aadok7syaaft6b5z/lib/libssl.1.1.dylib
 (compatibility version 1.1.0, current version 1.1.0)
       
/Users/admin/spack/opt/spack/darwin-bigsur-skylake/apple-clang-12.0.0/openssl-1.1.1k-vh6zdk5wa6z2api2aadok7syaaft6b5z/lib/libcrypto.1.1.dylib
 (compatibility version 1.1.0, current version 1.1.0)
       
/Users/admin/spack/opt/spack/darwin-bigsur-skylake/apple-clang-12.0.0/zlib-1.2.11-xflsouiaysa3uizi6mjcwhv54aa5m6kd/lib/libz.1.dylib
 (compatibility version 1.0.0, current version 1.2.11)
       /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 
1292.100.5)
       @rpath/libzstd.1.dylib (compatibility version 1.0.0, current version 
1.5.0)
       /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
905.6.0)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to