# sage LD_LIBRARY_PATH

I wrote a C++ library and the related python bindings, and I would like to make use of them from sage. But whatever I try, I cannot get sage to load the library. Here is what I tried:

1) FIRST ATTEMPT

```
export SAGE_PATH="$SAGE_PATH:/opt/mylib/bindings"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/mylib/lib::/opt/mylib/dependencies"
```

However, when I try to import from a jupyter notebook:

```
import mylib.mymodule.mysubmodule
```

I get the error:

```
ImportError: /usr/lib/libblas.so.3: undefined symbol: sgemv_thread_n
```

I only could find one reference (ticket 22006 on http://trac.sagemath.org - sorry, cannot post links yet) to a similar problem, however without resolution (the suggested workaround, namely to install `libopenblas-dev`

did not work for me). Note that `mylib`

does not depend in any way on BLAS.

2) SECOND ATTEMPT

```
export SAGE_PATH="$SAGE_PATH:/opt/mylib/bindings"
echo -e "/opt/mylib/lib\n/opt/mylib/dependencies" > /etc/ld.so.conf/mylib.conf
sudo ldconfig
```

But the library cannot be found this way:

```
ImportError: libmylib.so.1: cannot open shared object file: No such file or directory
```

3) THIRD ATTEMPT

```
export SAGE_PATH="$SAGE_PATH:/opt/mylib/bindings"
sudo ln -s /opt/mylib/lib/libmylib.so.1 /usr/lib/sagemath/local/lib/libmylib.so.1
sudo ln -s /opt/mylib/lib/libmylib.so.1 /usr/local/lib/libmylib.so.1
```

This results in the same import error as in SECOND ATTEMPT.

4) FOURTH ATTEMPT

```
export SAGE_PATH="$SAGE_PATH:/opt/mylib/bindings"
sudo ln -s /opt/mylib/lib/libmylib.so.1 /lib/libmylib.so.1
```

Now the library finally got loaded, but it cannot find its dependencies.

```
ImportError: libdependency1.so.1.2.3: cannot open shared object file: No such file or directory
```

THE QUESTION

What is the proper way to make sage resolve a custom library and its dependencies? I understand that sage tries to isolate itself as much as possible from the system, and I have also read that there is some "magic" going on to adjust environment variables: this seems to cause the problem (1).

ADDITIONAL INFO

Working on Ubuntu 16.04 LTS with sage installed from ppa as follows:

```
apt-add-repository -y ppa:aims/sagemath
apt-get update
apt install sagemath-upstream-binary
```

Note that everything works as expected when using the library from the system python console.

What about the following scenario? (Written only with the hope of isolating the problem point.)

starting a terminal, typing in it

sage -sh

to start the sage shell, which sets all environment variables as needed, then

extending / setting the needed variables

`SAGE_PATH`

, and`LD_LIBRARY_PATH`

as in one of the attempts,starting

`sage`

in this terminal and testingand / or starting jupyter from this terminal and testing.

@dan_fuela thank you, just tried, but that leads to the same results (either library not found, or libblas conflict)