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