Je construis la librairie s2-geometry-library avec un wrapper Python sur Ubuntu (14.04). Tout se passe bien jusqu'à ce que j'importe la librairie dans Python :
import s2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "s2.py", line 28, in <module>
_s2 = swig_import_helper()
File "s2.py", line 24, in swig_import_helper
_mod = imp.load_module('_s2', fp, pathname, description)
ImportError: libs2.so: cannot open shared object file: No such file or directory
J'ai vérifié beaucoup de questions similaires mais aucune réponse ne fonctionne. En fait, j'ai bien libs2.so :
ldd /usr/local/lib/libs2.so
linux-vdso.so.1 => (0x00007ffdfbbfe000)
libs2cellid.so => not found
libs2util.so => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7e7cf6f000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7e7cc6b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7e7c965000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7e7c74e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7e7c385000)
/lib64/ld-linux-x86-64.so.2 (0x000055b5cdcec000)
Ce qui est étrange, c'est que le texte dit libs2cellid.so
y libs2util.so
n'a pas été trouvée. En fait, j'ai les trois librairies dans le même dossier :
ls -l /usr/local/lib/
total 1808
-rw-r--r-- 1 root root 98096 Aug 1 12:05 libs2cellid.so
-rw-r--r-- 1 root root 1446781 Aug 1 12:05 libs2.so
-rw-r--r-- 1 root root 284388 Aug 1 12:05 libs2util.so
drwxr-xr-x 2 root root 4096 Aug 1 11:59 pkgconfig
drwxrwsr-x 4 root staff 4096 Nov 23 2016 python2.7
drwxrwsr-x 3 root staff 4096 Jul 29 2016 python3.4
drwxr-xr-x 3 root root 4096 Aug 1 11:56 site_ruby
Voici mon chemin d'accès à la bibliothèque :
$LD_LIBRARY_PATH
/usr/local/lib/libs2util.so:/usr/local/lib/libs2.so:/usr/local/lib/libs2cellid.so:/usr/lib/python2.7/dist-packages/s2/libs2.so:
Qu'est-ce qui ne va pas ? Merci.