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
