arrayfire-python icon indicating copy to clipboard operation
arrayfire-python copied to clipboard

Linking to Anaconda environment in Ubuntu

Open mariobecerra opened this issue 5 years ago • 3 comments

Hi.

Is there a guide on how to direct the Arrayfire installation to an Anaconda environment? I saw a couple of issues here, but they were based on Windows and Mac OS. I'm working with Ubuntu 19.10.

If I try to import Arrayfire in Python I get the following:

>>> import arrayfire
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/__init__.py", line 56, in <module>
    from .library    import *
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/library.py", line 643, in <module>
    backend = _clibrary()
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/library.py", line 619, in __init__
    raise RuntimeError("Could not load any ArrayFire libraries.\n" + more_info_str)
RuntimeError: Could not load any ArrayFire libraries.
Please look at https://github.com/arrayfire/arrayfire-python/wiki for more information.

You can see that it's trying to look for Arrayfire in the anaconda3 folder, and it is obviously failing because my Arrayfire installation is in /opt/arrayfire/.

Any pointers to how I can fix this?

mariobecerra avatar Mar 23 '20 22:03 mariobecerra

Python cannot fine the ArrayFire shared library. You can try to define the AF_PATH environment variable or add the ArrayFire library path in LD_LIBRARY_PATH.

umar456 avatar Mar 23 '20 22:03 umar456

I tried the first option. I added export AF_PATH="/opt/arrayfire/" in my bashrc file and sourced it. However, if I try to import the arrayfire package in Python I get the same error. I'm not sure exactly how to tell Python to use that variable. Any ideas?

Sorry about this, I'm really bad at doing all this environment variables and shared libraries stuff.

mariobecerra avatar Mar 23 '20 23:03 mariobecerra

Try setting LD_LIBRARY_PATH to the location of the libafcpu.so. so in your case export LD_LIBRARY_PATH=/opt/arrayfire/lib64:$LD_LIBRARY_PATH

umar456 avatar Mar 23 '20 23:03 umar456