IDL-Python bridge library error

131 views
Skip to first unread message

Bernat

unread,
Mar 3, 2021, 2:51:01 AM3/3/21
to idl-pvwave

Hi,

I have a conda environment properly set on a Mac OSX 10.15.7 and I am normally able to run the IDL-Python bridge within an IDL 8.7 session. However, I am currently using a library that throws and exception.

In python I don't have any problems:
conda activate my_env36
python
import iris

In IDL I get the following error:
Python.run("import iris")   
% Loaded DLM: PYTHON36.
% PYTHON_RUN: Exception: dlopen(/usr/local/anaconda3/envs/my_env36/lib/python3.6/site-packages/cartopy/_crs.cpython-36m-darwin.so, 2): Library not loaded:
               @rpath/libcurl.4.dylib
                Referenced from: /usr/local/anaconda3/envs/my_env36/lib/libproj.19.dylib
                Reason: Incompatible library version: libproj.19.dylib requires version 11.0.0 or later, but libcurl.4.dylib provides version 9.0.0.

It looks like there is some kind of mismatch between the libcurl library detected from python vs IDL.

Any ideas of why is this happening and how to solve it?
Thank you in advance for your help,

Bernat

Ben C

unread,
Mar 17, 2021, 12:09:43 PM3/17/21
to idl-pvwave
The issue here is that IDL and Python are running in the same process space, but the version of libcurl needed by your iris module is different than what IDL has already loaded.

Things to try: 

1) Alter your system PATH variable to try different orders of the ...idl88/bin/bin.dawrin.x86_64 directory and those for Python. Try putting IDL's bin before or after your Python directories and see if the behavior changes. 
2) Due to some library naming changes that were made in IDL 8.7, this issue you are having can occur more frequently. If you revert to IDL 8.6.1 this problem should go away. I'm not sure IDL 8.6.1 supported Python 3.6 though. You may need to drop back down to Python 3.5 in that case.
Reply all
Reply to author
Forward
0 new messages