[kea-dev] kea support for log4cplus library

tianxiang li peter416733 at gmail.com
Sun May 7 03:24:27 UTC 2017


Hi Stephen,

Thanks for the detailed explanation. Your tip is very helpful, I did manage
to find the directory directory of the log4cplus, and the problems was
solved.

Thank you,
Tianxiang

2017-05-04 22:17 GMT+08:00 Stephen Morris <stephen at isc.org>:

> On 26/04/17 15:03, tianxiang li wrote:
> > Hi,
> >
> > I've been trying to make compile Kea-1.2.0-Beta in Ubuntu 14.04, and
> > encountered a problem with the log4cplus library, the error code is as
> > follow:
> >
> > .../kea-1.2.0-beta/src/lib/log/compiler/.libs/lt-kea-msg-compiler: error
> > with file loading shared libraries: liblog4cplus-2.0.so.3; cannot open
> > shared object file: No such file or directory
> >
> > I've installed both the newer version log4cplus-2.0.0 and the older
> > 1.1.2 version, and met the same problem.
> >
> > Thank you!
> > Tianxiang
>
> The message you are getting is saying that while trying to run the
> message compiler(*), the system was unable to find the log4cplus
> dynamically loaded library.
>
> The compiler is linked against the logging library (libkea-log.so) and
> it is this component that requires log4cplus.  As the message compiler
> has been built, then so has libkea-log, something that will have
> required that the log4cplus library was present.  So the library appears
> to be there when libkea-log is built, but is not being found when the
> message compiler is run.
>
> To try to find where the system is expecting to find the log4cplus
> library, issue the command
>
> readelf -d <kea-top>/src/lib/log/.libs/libkea-log.so
>
> ... replacing "<kea-top>" with the directory in which you built Kea. You
> should see output similar to:
>
> ceres:~:2008% readelf -d /users/stephen/kea/src/lib/
> log/.libs/libkea-log.so
>
> Dynamic section at offset 0x2ba58 contains 33 entries:
>   Tag  Type     Name/Value
> <..> (NEEDED)  Shared library: [libkea-exceptions.so.0]
> <..> (NEEDED)  Shared library: [libpthread.so.0]
> <..> (NEEDED)  Shared library:
> [libkea-threads.so.1]
> <..> (NEEDED)  Shared library: [libkea-util.so.2]
> <..> (NEEDED)  Shared library:
> [liblog4cplus-1.2.so.5]
> <..> (NEEDED)  Shared library: [libstdc++.so.6]
> <..> (NEEDED)  Shared library: [libc.so.6]
> <..> (NEEDED)  Shared library: [libgcc_s.so.1]
> <..> (SONAME)  Library soname: [libkea-log.so.3]
> <..> (RPATH)   Library rpath:
>    [/users/stephen/kea/src/lib/exceptions/.libs:
>     /users/stephen/kea/src/lib/util/threads/.libs:
>     /users/stephen/kea/src/lib/util/.libs:
>     /opt/log4cplus-1.2.0/lib]
> <..> (INIT)    0x10198
>
> (To make the output clearer, I've removed the values in the first column
> (the Tag column) and compressed some spaces.  Also, owing to the
> restrictions of my email client, some of output has been split across
> multiple lines.)
>
> The bit you are looking for is the RPATH line, which gives the list of
> directories searched for the libraries.  One of these should correspond
> to the directory where log4cplus is installed. The example above shows
> that libkea-log.so was linked against liblog4cplus-1.2.so.5 and it is
> reasonably intuitive to see that the system is expecting to find that
> library in the directory /opt/log4cplus-1.2.0/lib
>
> Stephen
>
> (*) The message compiler is created early on in the build process and is
> responsible for converting the message (.mes) files - which list the
> code, message and explanation for each message that Kea could log - into
> C++ source code that can be built into Kea.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-dev/attachments/20170507/5af414b5/attachment.html>


More information about the kea-dev mailing list