ImportError: /home/czarek/cefpython/cefpython/cef1/linux/binaries/cefpython_py27.so: undefined symbol: cef_quit_message_loop
When importing a Cython module I'm getting this error:
ImportError: /home/czarek/cefpython/cefpython/cef1/linux/binaries/cefpython_py27.so: undefined symbol: cef_quit_message_loopI have a libcef.so shared library. I also have a static library for itcalled "libcef_dll_wrapper.a" that I include in setup.py Extensionthrough "libraries=['cef_dll_wrapper']". How do I explicitilysay that there is "libcef.so" and that is where the symbols shouldbe searched?
Traceback (most recent call last):
File "./pygtk_.py", line 11, in <module>
import cefpython_py27 as cefpython
ImportError: libcef.so: cannot open shared object file: No such file or directory
The libcef_dll_wrapper.a wraps the C++ api of libcef.so, it just has to bethe way it is.
ImportError: liblibcef.so.so: cannot open shared object file: No such file or directory
Hi Bradley,Yes, I did as you say, if I did it the other way the error message wouldprobably look like:ImportError: liblibcef.so.so: cannot open shared object file: No such file or directoryThe library_dirs was also set.
ldd /home/czarek/cefpython/cefpython/cef1/linux/binaries/cefpython_py27.so
linux-gate.so.1 => (0xb7706000)
libcef.so => not found
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7540000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7521000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7506000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb735d000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7331000)
/lib/ld-linux.so.2 (0xb7707000)
linux-gate.so.1 => (0xb770f000)
libcef.so => /home/czarek/cefpython/cefpython/cef1/linux/binaries/libcef.so (0xb434b000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb4251000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb4232000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb4217000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb406e000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb3f3a000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb3f31000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb3f27000)
.... many many more
ctypes.CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'libcef.so'), ctypes.RTLD_GLOBAL)
A portable app is one that can be extracted from a zip fileand ran instantly without modifying anything on the system.
I'm from a Windows world and searching for a library in currentdirectory is nothing unusual, looks like Linux can't do that?
I think I'll just stay with the ctypes solution.ctypes.CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'libcef.so'), ctypes.RTLD_GLOBAL)Anything wrong with that I should be aware of?
A portable app is one that can be extracted from a zip fileand ran instantly without modifying anything on the system.
I think I'll just stay with the ctypes solution.ctypes.CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'libcef.so'), ctypes.RTLD_GLOBAL)Anything wrong with that I should be aware of?
runtime_library_dirs=[
'./'
],
--
---
You received this message because you are subscribed to the Google Groups "cython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cython-users...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
I suspect that' because you added "./", or the current working dir.with a bit of __file__ trickery you should be able to find the right path to add.