Discussion:
[lttng-dev] lttng-tools 2.9.0 build failures
Thomas Petazzoni
2016-12-04 22:08:46 UTC
Permalink
Hello,

In the Buildroot project, we recently updated to lttng-tools 2.9.0, and
we're experiencing two build failures:

* With a uClibc based toolchain:

prog.c:24:15: error: 'LM_ID_BASE' undeclared (first use in this function)
h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY);

I believe dlmopen() is not implemented in uClibc and musl, so
perhaps this should be handled in lttng-tools by making the code
conditional.

See
http://autobuild.buildroot.net/results/d87/d8745ef5c8c7d71f993edf2a8f3f107d2d1b35fc/build-end.log
for the full build log.

* With a musl based toolchain:

In file included from health.c:26:0:
../../../src/common/defaults.h:370:1: error: unknown type name 'pthread_attr_t'
pthread_attr_t *default_pthread_attr(void);

See
http://autobuild.buildroot.net/results/255/2556b3266b913964bea25c21d014f4b1b25b6808/build-end.log
for the full build log.

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
Michael Jeanson
2016-12-05 20:44:56 UTC
Permalink
Post by Thomas Petazzoni
Hello,
In the Buildroot project, we recently updated to lttng-tools 2.9.0, and
prog.c:24:15: error: 'LM_ID_BASE' undeclared (first use in this function)
h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY);
I believe dlmopen() is not implemented in uClibc and musl, so
perhaps this should be handled in lttng-tools by making the code
conditional.
See
http://autobuild.buildroot.net/results/d87/d8745ef5c8c7d71f993edf2a8f3f107d2d1b35fc/build-end.log
for the full build log.
../../../src/common/defaults.h:370:1: error: unknown type name 'pthread_attr_t'
pthread_attr_t *default_pthread_attr(void);
See
http://autobuild.buildroot.net/results/255/2556b3266b913964bea25c21d014f4b1b25b6808/build-end.log
for the full build log.
Best regards,
Thomas
I've also encountered these problems on Alpine Linux, I've just
submitted a patch for the pthread include. As for dlmopen, that will
require a bit to more work to make a clean patch. In the mean time, you
can just strip this part of the code before building, that's what I did
for the Alpine package.

Regards,

Michael

Loading...