[BUG] compile error about libcap

NZzi spng.yang at gmail.com
Mon May 19 03:39:01 GMT 2008


hi all:

the samba mailing list achieve has not "search" function,
and I didnt search relative bugs in samba bugzilla, so i
post to here.

i compile samba(v3-2-test git) under F9 with libcap-2.06-4,
had following errors:

Compiling smbd/oplock_linux.c
smbd/oplock_linux.c:36: error: conflicting types for 'capget'
/usr/include/sys/capability.h:111: error: previous declaration of 
'capget' was here
smbd/oplock_linux.c:38: error: conflicting types for 'capset'
/usr/include/sys/capability.h:110: error: previous declaration of 
'capset' was here
The following command failed:
gcc -I. -I/workBench/buildSpot/samba-build/source  -O -D_SAMBA_BUILD_=3 
  -I/workBench/buildSpot/samba-build/source/iniparser/src -Iinclude 
-I./include  -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include 
-I./libaddns -I./librpc -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Iinclude -I./include -I. -I. 
-I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns 
-I./librpc -I./popt -DLDAP_DEPRECATED   -I/include 
-I/workBench/buildSpot/samba-build/source/lib -D_SAMBA_BUILD_=3 -fPIC -c 
smbd/oplock_linux.c -o smbd/oplock_linux.o
make: *** [smbd/oplock_linux.o] Error 1

the interface of capget(in libcap-devel) should be:

extern int capset(cap_user_header_t header, cap_user_data_t data);

not this in samba:

extern int capget(struct cap_user_header * hdrp,
                   struct cap_user_data * datap);

i can use some dirty tricks to bypass the errors, but i think
this should be fixed upstream.


More information about the samba-technical mailing list