Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lack of libudev.so lib #136

Closed
rumax opened this issue Nov 2, 2012 · 21 comments
Closed

Lack of libudev.so lib #136

rumax opened this issue Nov 2, 2012 · 21 comments

Comments

@rumax
Copy link

rumax commented Nov 2, 2012

Downloaded nw_release_linux_x32.tar.gz on ubuntu (8.04) and cannot run 'nw'.

./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

@Ivshti
Copy link
Contributor

Ivshti commented Nov 2, 2012

Update your OS. libudev.so is a part of the newer udev versions (since udev replaced DeviceKit/HAL).

If you cannot update your OS for some reason, you can try either re-compiling node-webkit (don't recommend it, the process is slow, takes up a lot of space, and I doubt it would compile with your old OS), or updating your udev - which I doubt is possible, since udev is a crucial system package - it would require a newer kernel, and it would force updating all the other packages on your system - you'll end up with what you'll end up if you just install a newer Ubuntu.

@zcbenz
Copy link
Contributor

zcbenz commented Nov 4, 2012

Close this for the reason @Ivshti gave above.

@zcbenz zcbenz closed this as completed Nov 4, 2012
@creationix
Copy link

What about systems that don't use udev or use a newer version of udev like newer ArchLinux desktops?

@daurnimator
Copy link

I use archlinux; I believe you've got a hard requirement on old udev version:
error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

$ ls /lib | grep udev
libgudev-1.0.a
libgudev-1.0.so
libgudev-1.0.so.0
libgudev-1.0.so.0.1.2
libudev.a
libudev.so
libudev.so.1
libudev.so.1.2.0
udev

@rogerwang
Copy link
Member

supporting libudev.so.0 is essential for Linux Desktop distributions. For distributions lacking of that support, before it's fixed in distribution, a special version without the dependency can be built but you'll lose the support for things such as hot plugged USB camera.

See http://code.google.com/p/chromium/issues/detail?id=130019

@creationix
Copy link

No, the problem isn't a system lacking udev, but node-webkit hard-coding the dependency on an older version of udev. As @daurnimator mentioned, his system has [email protected]. He can run chromium 23 just fine on it.

@rogerwang
Copy link
Member

chrome 23 doesn't have the functionality depends on udev.

And the dependency is not an "old" version of udev, but a up-to-date version providing previous version of API, just like Gtk2 and Gtk3. Distributions should ship both, they can't except all gtk2 applications migrated to Gtk3 APIs suddenly.

-------- Original Message --------
From: Tim Caswell [email protected]
Sent: Fri Nov 30 00:34:20 格林尼治标准时间+0800 2012
To: rogerwang/node-webkit [email protected]
Cc: Roger Wang [email protected]
Subject: Re: [node-webkit] Lack of libudev.so lib (#136)

No, the problem isn't a system lacking udev, but node-webkit hard-coding the dependency on an older version of udev. As @daurnimator mentioned, his system has [email protected]. He can run chromium 23 just fine on it.


Reply to this email directly or view it on GitHub:
#136 (comment)

@rogerwang
Copy link
Member

btw, we are on the newest chromium version which has the support for hot-plugged devices which depends on udev. chrome 23 doesn't have the feature.

@rogerwang
Copy link
Member

fyi, the first number after ".so" marks the API version, while the following two mark the code version.

@Fyb3roptik
Copy link

After using ubuntu to compile and then packaging it up in an rpm, it refuses to install on Fedora 18 due to not having libudev.so.0

Any chance at getting this fixed anytime soon? Fedora 18 comes with libudev-1.2.1

@owenc4a4
Copy link
Contributor

owenc4a4 commented May 7, 2013

@daurnimator
Copy link

@owenc4a4 that is not a fix, and extremely unsafe.

The extension (.0 vs .1) is changed because the ABI is no longer the same - chromium must be rebuilt with the newer udev ABI, or things will break!

@rogerwang
Copy link
Member

@daurnimator I understand your concern. But it is what Google is doing for Chrome on Linux. We just follow their solution for this.

And it's not just a rebuild effort -- code need to be modified since the API changed -- the major version indicates an API change.

@xavierzhao
Copy link

In my Ubuntu 12.10 run the following command via terminal and it worked

sudo ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

@katanacrimson
Copy link

@xavierzhao That is not a proper solution and is highly dangerous, as already noted.

@opensas
Copy link

opensas commented Mar 7, 2014

I'm getting this error on Elementary (Ubuntu 12.04)

$ ./popcorn-app.run 
./popcorn-app.run: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory

More details here and here

@sheepdestroyer
Copy link

Got beaten by this bug on fedora 20, libudev.so.0 is not provided nor supported since three releases. I think this bug should be reopened until current version of udev is natively supported by node-webkit.

@katanacrimson
Copy link

While it may be a newer issue, we have #770 currently tracking that.

@shamun
Copy link

shamun commented Mar 19, 2014

fixed it: sed -i 's/\x75\x64\x65\x76\x2E\x73\x6F\x2E\x30/\x75\x64\x65\x76\x2E\x73\x6F\x2E\x31/g' nw

@katanacrimson
Copy link

...Also known as the "This might work but I have no idea if it will implode catastrophically because of unknown API incompatibilities" solution.

@micrub
Copy link

micrub commented May 8, 2014

@shamun Your solution worked for me , thanks !

locate libudev.so.1
/lib/x86_64-linux-gnu/libudev.so.1
/lib/x86_64-linux-gnu/libudev.so.1.3.5
uname -a
Linux ubuntu-13 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/issue
Ubuntu 13.10 \n \l

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests