lttng-tools-2.14.0-rc1: fails to compile with libxml2-2.14.4
Kienan Stewart
kstewart at efficios.com
Tue Jun 17 13:29:07 EDT 2025
Hi Norbert,
thanks for the context. Using pkg-config is the expected method to find
the link flags. It sounds like you are building in an unsupported
environment, but here are some options you can try:
* When configuring, use: `libxml2_LIBS=-lxml2 ./configure`
* Use pkg-config and have an entry `PKG_CONFIG_PATH` for the directory
containing the .pc for your libxml build
* Use `LDFLAGS` as you are doing
thanks,
kienan
On 6/17/25 11:08 AM, Norbert Lange wrote:
> Am Di., 17. Juni 2025 um 16:50 Uhr schrieb Kienan Stewart
> <kstewart at efficios.com>:
>>
>> Hi Norbert,
>>
>> On 6/17/25 10:15 AM, Norbert Lange via lttng-dev wrote:
>>> /tmp/dev_develop_libxml2/usr/include/libxml2/libxml/encoding.h:173:7:
>>> note: declared here
>>> 173 | } input XML_DEPRECATED_MEMBER;
>>> | ^~~~~
>>> ../../../src/common/config/session-config.cpp:297:75: error: no match
>>> for call to '(_xmlCharEncodingHandler::<unnamed union>) (xmlChar*&,
>>> int*, const xmlChar*, int*)'
>>> 297 | ret = handler->input(out_str, &out_len, (const xmlChar *)
>>> in_str, &in_len);
>>> |
>>> ^
>>>
>>> Changing the call to handler->input.legacyFunc seems to fix it.
>>>
>>> Also lttng seems to need libxml2, but doesnt add the necessary flags.
>>>
>>
>> Regarding the "necessary flags" for libxml2 when building the lttng
>> binary, could you indicate clearly the error you have?
>>
>> All uses of libxml2 are via libconfig, and the libxml2 LD flags are
>> added to lttng via libconfig.la.
>>
>> When performing the final link of lttng, I see `-lxml2` in the command line.
>>
>> thanks,
>> kienan
>>> Regards, Norbert
>>
>
> The error is, that I don't see -lxml2 in the commandline (unless I use
> the global LDFLAGS), libconfig.la does not contain the flags either.
> However, the Makefiles all contain them:
>
> src/common/Makefile:libxml2_CFLAGS =
> -I/tmp/dev_develop_libxml2/usr/include/libxml2
> src/common/Makefile:libxml2_LIBS =
> /tmp/dev_develop_libxml2/usr/local/lib/libxml2.so
>
> I dont use pkgconf, I set the variables directly (libxml2 is not a
> part of our production filesystem + compiler and right now I just
> barely managed to compile lttng somehow).
>
> Regards, Norbert
More information about the lttng-dev
mailing list