samba4 (from git) and FreeBSD (9-stable) (+ PATCH)

Andrew Bartlett abartlet at samba.org
Wed May 23 17:37:51 MDT 2012


On Tue, 2012-05-22 at 19:51 +0400, Lev Serebryakov wrote:
> Hello, Samba-technical.
> 
>   I've tried to build today's samba4 from git on FreeBSD
>  9-STABLE/amd64.
> 
>   Here are some results:
> 
> (1) I've wrote xattr wrapper (patch attached). I'm not sure, that it
> is ideal solution for config scripts, as I see WAF for first time in
> my life, but it seems to work :)

Thanks.  It seems to be the week for FreeBSD fixes.  Thanks for having a
go at the waf patches, but we need to tweak it a bit.  As I said to
Andriy in the other thread, we need to move the code in
source3/lib/system.c to lib/replace, changing it from sys_fgetxattr to
rep_fgetxattr(), and then add the replacement macros.

What I didn't realise is that we also had the lib/util/wrap_xattr.c code
you found.  Once we move the source3/lib/system.c code to lib/replace,
then we should not need lib/util/wrap_xattr.c any more. 

Your particular fix has an error, that we need to map the 'system.'
namespace to the EXTATTR_NAMESPACE_SYSTEM class. 

> (2) Build could not be finished with strange errors:
> [3581/3736] abi_check: bin/default/librpc/libndr.so
> libndr.so: symbol ndr_transfer_syntax_ndr64 has changed - please update major version
>         old_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "\265\333\357\234\314\066"}, if_version = 1
>         new_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "╣шО\234л6"}, if_version = 1
> libndr.so: symbol ndr_transfer_syntax_ndr has changed - please update major version
>         old_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237\350", node = "\b\000+\020H`"}, if_version = 2
>         new_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237Х", node = "\b\000+\020H`"}, if_version = 2
> Waf: Leaving directory `/usr/home/lev/samba4/bin'
> Build failed: ABI for libndr.so has changed - please fix library version then build with --abi-update
> See http://wiki.samba.org/index.php/Waf#ABI_Checking for more information
> If you have not changed any ABI, and your platform always gives this error, please configure with --abi-check-disable to skip this check
> 
>   But without ABI check build seems to be Ok.

Yes, it seems the FreeBSD version of gdb does not escape as many
characters as the embedded constant strings.

We should not actually consider the string values as part of the ABI,
but my regex foo on buildtools/wafsamba/samba_abi.py were not good
enough when I last gave it a shot.  (We should change ' = "string"' to '
= ""' and then forcibly update the ABI).  Hopefully the new message
(mentioning --abi-check-disable) is enough of a clue for those
developing on FreeBSD.  

As long as we check the ABI fully on Linux in our autobuild system,
there is no risk of a regression here (local changes excepted of
course). 

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org



More information about the samba-technical mailing list