DmitryUlyanov/Multicore-TSNE

test fails with "OSError: cannot load library"

sg-s opened this issue · 2 comments

sg-s commented

OS: ubuntu
python version: Python 3.6.4 :: Anaconda, Inc.

steps to reproduce:

  1. python MulticoreTSNE/examples/test.py

full error:

downloading MNIST
downloaded
Traceback (most recent call last):
  File "MulticoreTSNE/examples/test.py", line 81, in <module>
    tsne = TSNE(n_jobs=int(args.n_jobs), verbose=1, n_components=args.n_components, random_state=660)
  File "/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/MulticoreTSNE/__init__.py", line 63, in __init__
    self.C = self.ffi.dlopen(path + "/libtsne_multicore.so")
  File "/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/cffi/api.py", line 141, in dlopen
    lib, function_cache = _make_ffi_library(self, name, flags)
  File "/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/cffi/api.py", line 802, in _make_ffi_library
    backendlib = _load_backend_lib(backend, libname, flags)
  File "/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/cffi/api.py", line 797, in _load_backend_lib
    raise OSError(msg)
OSError: cannot load library '/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/MulticoreTSNE/libtsne_multicore.so': /home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/MulticoreTSNE/libtsne_multicore.so: undefined symbol: _ZNSt8ios_base4InitD1Ev.  Additionally, ctypes.util.find_library() did not manage to locate a library called '/home/marder/anaconda3/envs/mctsne/lib/python3.6/site-packages/MulticoreTSNE/libtsne_multicore.so'

same here

If I use python 3.6 32bit, I can compile and run it successfully. But I failed loading the ".dll" file when I use python 3.6 64bit.

Error info:

File "C:\Users\shouxing\PycharmProjects\Sampling-blue-noise-density-based-\scripts\IncrementalTSNE.py", line 206, in init
self.C = self.ffi.dlopen(os.path.join(path, sofile))
File "C:\Users\shouxing\AppData\Local\Programs\Python\Python36\lib\site-packages\cffi\api.py", line 141, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File "C:\Users\shouxing\AppData\Local\Programs\Python\Python36\lib\site-packages\cffi\api.py", line 802, in _make_ffi_library
backendlib = _load_backend_lib(backend, libname, flags)
File "C:\Users\shouxing\AppData\Local\Programs\Python\Python36\lib\site-packages\cffi\api.py", line 798, in _load_backend_lib
return backend.load_library(path, flags)
OSError: cannot load library 'C:\Users\shouxing\PycharmProjects\Sampling-blue-noise-density-based-\scripts\tsne_incremental.dll': error 0xc1