roadlabs / cefpython

Automatically exported from code.google.com/p/cefpython
0 stars 0 forks source link

Make debian packages work out of the box on a variety of Ubuntu versions (12.10, 13.04, 13.10, 14.04) #105

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Currently the debian package is build on Ubuntu 12.04.3. It is not guaranteed 
to work out of the box on more recent Ubuntu versions. 

For example on Ubuntu 13.10 you will get an error like this when running app:

    File "/opt/cyan/cyms-base-py27/lib/python2.7/site-packages/ctypes/__init__.py", line 340, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: libudev.so.0: cannot open shared object file: No such file or directory

The problem is that on Ubuntu 12.xx only libudev0 package is available. And on 
Ubuntu 13.xx only libudev1 package can be installed. The solution is to create 
a link using the "ln" command:

    /lib/x86_64-linux-gnu$ sudo ln -sf libudev.so.1 libudev.so.0

To resolve this problem in a debian package, a post install script should 
create such a link. The debian package is already running some post install 
script that set chmod +x on the cefclient and subprocess executables.

When testing various Ubuntu versions, test it along with all dependencies 
listed in the deb package, see Issue 99.

Original issue reported on code.google.com by czarek.t...@gmail.com on 9 Jan 2014 at 8:52

GoogleCodeExporter commented 9 years ago
If Ubuntu 14.04 is shipped with Py3 then it will require a separate debian 
package.

Original comment by czarek.t...@gmail.com on 10 Jan 2014 at 12:43

GoogleCodeExporter commented 9 years ago
See more details on the libudev.so.0 issue on the node-webkit wiki page 
"The-solution-of-lacking-libudev.so.0":

  https://github.com/rogerwang/node-webkit/wiki/The-solution-of-lacking-libudev.so.0

Original comment by czarek.t...@gmail.com on 16 Feb 2014 at 4:27

GoogleCodeExporter commented 9 years ago

Original comment by czarek.t...@gmail.com on 10 Aug 2014 at 6:38

GoogleCodeExporter commented 9 years ago
See a corresponding issue 415212 in Chromium: "Remove runtime dependency on 
libudev.so.0" (https://code.google.com/p/chromium/issues/detail?id=415212)

Original comment by czarek.t...@gmail.com on 1 Dec 2014 at 8:03

GoogleCodeExporter commented 9 years ago

Original comment by czarek.t...@gmail.com on 1 Dec 2014 at 10:03

GoogleCodeExporter commented 9 years ago
Dependency on specific version of libudev library was removed in upstream 
Chromium. This change is planned to ship in Chrome 41, which should happen in a 
month or two. See Chromium Issue #415212 comment #18: 
https://code.google.com/p/chromium/issues/detail?id=415212#c18 .

In the meantime it is planned to create symbolic link in cefpython3/ package 
directory during setup, see Issue 145.

Original comment by czarek.t...@gmail.com on 2 Dec 2014 at 7:42

GoogleCodeExporter commented 9 years ago
libudev issue fixed in revision 78f7a94b21f0.

Original comment by czarek.t...@gmail.com on 3 Dec 2014 at 6:45

GoogleCodeExporter commented 9 years ago
libudev issue fixed in 31.1 release. See revision 78f7a94b21f0. 64-bit binaries 
are available for download. Tested on a clean Ubuntu 14.04 and works fine out 
of the box. There is however a message "The package is of bad quality" when 
installing through Ubuntu Software Center, Issue 147 is to fix that.

Original comment by czarek.t...@gmail.com on 3 Dec 2014 at 7:45

GoogleCodeExporter commented 9 years ago
Fixed in revision 56e79c763aa4 and revision 116e36b39ebd. Added find-deps.py 
and deps.txt in installer/ directory. Only libudev0 dep is missing in Depends 
section in debian package. Not sure how Google Chrome worked around it, so that 
they can have libudev0 in deps and it doesn't complain on Ubuntu 14.04.

Original comment by czarek.t...@gmail.com on 4 Dec 2014 at 8:55