Wrong libudev version

Suvayu Ali fatkasuvayu+linux at gmail.com
Tue May 13 05:11:36 UTC 2014


Hi TC, and Ralf,

On Mon, May 12, 2014 at 06:56:45PM -0700, T.C. Hollingsworth wrote:
> On Mon, May 12, 2014 at 4:13 PM, Suvayu Ali <fatkasuvayu+linux at gmail.com> wrote:
> > Hi,
> >
> > I'm trying to compile an application[1].  The compilation succeeds, but
> > fails at the last linking step like this.
> >
> > LINK(target) out/Release/Brackets
> > /usr/bin/ld: warning: libudev.so.0, needed by Release/libcef.so, not found (try using -rpath or -rpath-link)
> > LINK(target) out/Release/Brackets: Finished
> >
> > When I search with `repoquery -f \*/libudev\*', I get back systemd-libs
> > and systemd-devel; both of which are installed.  systemd-libs provides
> > /usr/lib64/libudev.so.1, and systemd-devel provides
> > /usr/lib64/libudev.so, which is a symlink to the actual library.  I'm
> > not sure what I'm doing wrong.
> 
> CEF in this case seems to be the Chromium Embedded Framework.  The
> buildsystem for brackets grabs a binary version of CEF from an Adobe
> server.   Presumably this is built on one of Debian or Ubuntu with
> libudev.so.0.
> 
> The "proper" way to fix it would be to build CEF on your own [1],
> which would give you a copy of CEF linked to the proper version of
> udev.  You can then plop the libcef.so you built in place of the
> Adobe-provided binary and use that, and linking should work as normal.

That makes perfect sense with what I'm seeing.

> However, building anything chromium-related is...fun to say the least.
>  I wouldn't judge you if you just ran 'ln -sf libudev.so.1
> libudev.so.0' and hoped it doesn't segfault.  :-)

In the end I resorted to extracting the deb, and moving the compiled
binaries to /opt, followed by symlinking libudev; no segfaults.  Since
it is in /opt, I do mind the symlink as much.

Cheers,

-- 
Suvayu

Open source is the future. It sets us free.


More information about the users mailing list