[Samba] Samba4 git pull (11/28/2013) won't compile on FreeBSD 9.2

Pccom Frank pccom.frank at gmail.com
Thu Nov 28 09:17:23 MST 2013


[2799/3801] Compiling source3/locking/locking.c
[2800/3801] Compiling source3/locking/brlock.c
../source3/locking/brlock.c: In function 'brl_get_locks_readonly_parser':
../source3/locking/brlock.c:2071: error: expected expression before 'struct'
../source3/locking/brlock.c:2071: warning: assignment makes pointer from
integer without a cast
../source3/locking/brlock.c: In function 'brl_get_locks_readonly':
../source3/locking/brlock.c:2127: error: expected expression before 'struct'
../source3/locking/brlock.c:2127: warning: assignment makes pointer from
integer without a cast
Waf: Leaving directory `/usr/local/samba-master/bin'
Build failed:  -> task failed (err #1):
        {task: cc brlock.c -> brlock_91.o}
gmake: *** [all] Error 1
root at t60:/usr/local/samba-master #

root at t60:/usr/local/samba-master # uname -a
FreeBSD t60.localpccom.localca 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898:
Fri Sep 27 03:52:52 UTC 2013
root at bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC
i386
root at t60:/usr/local/samba-master #

root at t60:/usr/local/samba-master # gcc -v
Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]
root at t60:/usr/local/samba-master #


The following are the troubled code:

static void brl_get_locks_readonly_parser(TDB_DATA key, TDB_DATA data,
                                          void *private_data)
{
        struct brl_get_locks_readonly_state *state =
                (struct brl_get_locks_readonly_state *)private_data;
        struct byte_range_lock *br_lock;

        br_lock = talloc_pooled_object(
                state->mem_ctx, struct byte_range_lock, 1, data.dsize);
        if (br_lock == NULL) {
                *state->br_lock = NULL;
                return;
        }
        br_lock->lock_data = (struct lock_struct *)talloc_memdup(
                br_lock, data.dptr, data.dsize);
        br_lock->num_locks = data.dsize / sizeof(struct lock_struct);

        if ((data.dsize % sizeof(struct lock_struct)) == 1) {
                br_lock->have_read_oplocks = (data.dptr[data.dsize-1] == 1);
        }


More information about the samba mailing list