Wrong libudev version

T.C. Hollingsworth tchollingsworth at gmail.com
Tue May 13 01:56:45 UTC 2014


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.

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.  :-)

-T.C.

[1] https://code.google.com/p/chromiumembedded/wiki/BranchesAndBuilding


More information about the users mailing list