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
<kstew...@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

Reply via email to