[parisc-linux] can not get samba to work

Richard Hirst rhirst@linuxcare.com
Wed, 19 Dec 2001 14:47:29 +0000


On Wed, Dec 19, 2001 at 01:28:44PM +0100, Joerg Hartmann wrote:
> Hello parisc-linux users,
> 
> i can not get samba to work on my 720 with the 0.9.3 Debian.
> smbd dies immediatly with an error message in log.smbd:
> [2001/12/16 19:51:43, 0] lib/messages.c:message_init(97)
>   ERROR: Failed to initialise messages database

This looks like a glibc problem to me - I think it is calling fcntl
where it should be calling fcntl64, and using FSETLKW rather than
F_SETLKW64.

samba builds with

-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

Using a test program, without those defines, i386 strace shows:

fcntl64(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}) = 0

with those defines:

fcntl64(3, F_SETLKW64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}, 0xbffffa9c) = 0


Now on hppa, without those defines

fcntl(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}) = 0

and with them:

fcntl(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=31, len=0}) = 0


note that 'start' and 'len' are wrong in the last case; I think that's
because glibc used a 64 bit struct flock, but didn't specify F_SETLKW64
(and didn't call fcntl64).

Richard