Compilation problem : Samba 2.2.8 & ACL on Debian Woody

Sebastien Munch sebastien.munch at adelux.fr
Tue Mar 18 16:23:14 GMT 2003


Hello.



Samba 2.2.8 with ACL support on Debian Woody won't compile, and I
haven't found why. Searched for hours, asked on #samba-technical
(freenode), but no solution...

--------------------------------------------------------------------

Versions :

Debian Woody r1 (& security upgrades)
Samba 2.2.8 (the same problem occurred with 2.2.7a)

Linux Kernel 2.4.20 (from ftp.kernel.org)
linux-2.4.20-xattr+acl+trusted-0.8.55.diff.gz

(Yes, I've enabled the right options; getfacl and setfacl work
perfectly)

--------------------------------------------------------------------

Sid libacl & libattr :
 deb-src [...] sid [...] > sources.list

 apt-get source -b attr
 dpkg -i libattr1*.deb
 apt-get source -b acl
 dpkg -i libacl1*.deb acl*.deb

I use the Sid libraries because Samba doesn't detect ACL support with
the Woody libraries (yes, "-dev" installed).

--------------------------------------------------------------------

Making as explained in packaging/Debian/README, with only one
difference:
I've added "--with-acl-support" to the debian/rules file.

When starting "debian/rules binary" or "dpkg-buildpackage", the
./configure works well, but :


Compiling smbd/server.c
In file included from include/smb.h:463,
                 from include/includes.h:683,
                 from smbd/server.c:22:
include/vfs.h:111: parse error before `acl_t'
include/vfs.h:112: parse error before `acl_entry_t'
[...]
include/vfs.h:115: warning: no semicolon at end of struct or union
include/vfs.h:116: parse error before `*'
include/vfs.h:116: `acl_t' declared as function returning a function
include/vfs.h:116: warning: data definition has no type or storage class
include/vfs.h:117: parse error before `acl_permset_t'
[...]
In file included from include/includes.h:683,
                 from smbd/server.c:22:
include/smb.h:481: field `vfs_ops' has incomplete type
In file included from include/includes.h:743,
                 from smbd/server.c:22:
include/proto.h:852: parse error before `the_acl'
include/proto.h:853: parse error before `entry_d'
[...]
include/proto.h:858: parse error before `permset'
include/proto.h:858: `sys_acl_clear_perms' redeclared as different kind
of symbol
include/vfs.h:117: previous declaration of `sys_acl_clear_perms'
[...]

--------------------------------------------------------------------

The main parts of the discussion on IRC :

<waider> acl_t and acl_entry_t should be defined in
/usr/include/sys/acl.h
<yeiazel> waider: I think they are (I don't understand C well :)

<waider> is this in config.h #define HAVE_POSIX_ACLS 1
<yeiazel> yes

<waider> hmm, seems like it should work then.

--------------------------------------------------------------------

Thanks a lot for any answer...

-- 
          Sebastien Munch - Adelux
sebastien.munch at adelux.fr - http://www.adelux.fr


More information about the samba-technical mailing list