Tompkins, Michael
2016-Mar-15 15:13 UTC
[Samba] Building smbclient 4.3.3 issues with lttng-ust
We are building smbclient 4.3.3 for Intel, which was working fine. We got a toolchain update, which added the lttng-ust libraries(previously missing in our toolchain), but not lttng/tracef.h and now we get an error in the config.log: Checking for lttng-ust pkg-config --errors-to-stdout --print-errors --cflags --libs lttng-ust Package lttng-ust was not found in the pkg-config search path. Perhaps you should add the directory containing `lttng-ust.pc' to the PKG_CONFIG_PATH environment variable No package 'lttng-ust' found not found ----------------------------------------------------------------------------------------------- Checking for header lttng/tracef.h ==> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <stddef.h> #include <memory.h> #include <string.h> #include <strings.h> #include <inttypes.h> #include <stdint.h> #include <unistd.h> #include <ctype.h> #include <stdbool.h> #include <stdarg.h> #include <lttng/tracef.h> int main(void) { return 0; } <=[1/1] Compiling test.c ../test.c:15:26: fatal error: lttng/tracef.h: No such file or directory #include <lttng/tracef.h> ^ compilation terminated. ['/opt/windriver/6.0/2016.048/i686/compiler/bin/gcc', '-MD', '-I/opt/windriver/6.0/2016.048/i686/sysroots/i686-wrs-linux/usr/lib/../include', '-D_SAMBA_BUILD_=4', '-DHAVE_CONFIG_H=1', '-D_GNU_SOURCE=1', '-D_XOPEN_SOURCE_EXTENDED=1', '../test.c', '-c', '-o', 'default/test_1.o'] command returned 'Build failed: -> task failed (err #1): \n\t{task: cc test.c -> test_1.o}'no ----------------------------------------------------------------------------------------------- Checking for library lttng-ust ==> int foo() { int v = 2; return v*2; } <=[1/2] Compiling test.c ['/opt/windriver/6.0/2016.048/i686/compiler/bin/gcc', '-MD', '-fPIC', '-DPIC', '-I/opt/windriver/6.0/2016.048/i686/sysroots/i686-wrs-linux/usr/lib/../include', '-D_SAMBA_BUILD_=4', '-DHAVE_CONFIG_H=1', '-D_GNU_SOURCE=1', '-D_XOPEN_SOURCE_EXTENDED=1', '../test.c', '-c', '-o', 'default/test_1.o'] [2/2] Linking default/libtestprog.so ['/opt/windriver/6.0/2016.048/i686/compiler/bin/gcc', 'default/test_1.o', '-o', '/opt/workspace/WS/Team_Razor_D3.6/_artifacts_/x86-wr6-0/system/xad/nc/toolkits/src/samba/samba-4.3.3/obj/bin/.conf_check_0/testbuild/default/libtestprog.so', '-lpthread', '-Wl,-no-undefined', '-shared', '-Wl,-Bdynamic', '-llttng-ust'] yes and displayed to terminal: Checking for lttng-ust : not found Checking for header lttng/tracef.h : no Checking for library lttng-ust : yes ERROR: Target 'lttng-ust' in directory /opt/workspace/WS/Team_Razor_D3.6/_artifacts_/x86-wr6-0/system/xad/nc/toolkits/src/samba/samba-4.3.3/obj/lib/util re-defined as EMPTY - was SYSLIB I know this is partially our issue, in that lttng/tracef.h does not exist, but the library does. But this doesn't happen if the library doesn't exist !?!? Looking at the logic below, I'm not quite sure why. Could someone please explain this. I also noticed in lib/util/wscript_configure: if Options.options.enable_lttng != False: conf.check_cfg(package='lttng-ust', args='--cflags --libs', msg='Checking for lttng-ust', uselib_store="LTTNG-UST") conf.CHECK_HEADERS('lttng/tracef.h', lib='lttng-st') conf.CHECK_LIB('lttng-ust', shlib=True) if (conf.CONFIG_SET('HAVE_LTTNG_TRACEF_H') and conf.CONFIG_SET('HAVE_LTTNG_UST')): conf.DEFINE('HAVE_LTTNG_TRACEF', '1') conf.env['HAVE_LTTNG_TRACEF'] = True else: conf.SET_TARGET_TYPE('lttng-ust', 'EMPTY') conf.undefine('HAVE_LTTNG_TRACEF') And was wondering if line conf.CHECK_HEADERS('lttng/tracef.h', lib='lttng-st') should have been conf.CHECK_HEADERS('lttng/tracef.h', lib='lttng-ust'). Is this related and is it correct ? How important is this new functionality with lttng-ust library support, for the smbclient ? Thank you in advance, Mike Tompkins