[Samba] Samba, Linux, and file locking

Phil Stracchino alaric at caerllewys.net
Tue Apr 29 21:55:43 GMT 2003

On Tue, Apr 29, 2003 at 09:11:23PM +0000, John H Terpstra wrote:
> On Tue, 29 Apr 2003, Phil Stracchino wrote:
> > Many moons ago, Samba used to build perfectly on Linux.  Ever since I
> > upgraded from 2.2.3, though, I've had to hack the configure script to
> > get it to build, because Samba's configure is utterly and unshakeably
> > convinced that no file locking of any kind exists on Linux.  Once so
> > configured, it builds, tests and runs perfectly.
> >
> > Can anyone tell me why Samba started disbelieving in Linux's file
> > locking?  Perhaps more to the point, can anyone FIX it?  This is
> > starting to become really annoying.
> Phil,
> Really? How do you expect us to help you?
>   You give NO idea as to which Linux platform you are using.
>   You have not given us any information (output from configure, not the
>   options you are passing to configure) to work from.

Sorry.  I was (and arguably still am) trying to do too many things at
once with too many interruptions in the presence of too many screaming
children.  Mea culpa.

I'm currently attempting to build samba-3.0alpha23, but have experienced
this same issue with samba-2.2.8a, samba-2.2.8, and samba-2.2.7.  The
last version i installed prior to 2.2.7 was 2.2.3, and it configured
fine without having to hack configure.

The system was originally installed from a Slackware 7.0 distribution,
but has been very extensively upgraded since then to at least the level
of slackware-9.0, with the exception of glibc which is still v2.1.3.
(Upgrading to glibc-2.3.2 is on my list to do shortly.)

I first tried configuring it as follows:

./configure --prefix=/opt/samba3 --with-smbwrapper --with-ssl
--with-libsmbclient --with-readline --with-acl-support --with-smbmount

Lock-related lines in configure output were as follows (full output is
attached as config-without-spinlocks):

checking for Linux kernel oplocks... yes
checking for IRIX kernel oplock type definitions... no
checking for fcntl locking... no
checking for broken (glibc2.1/x86) 64 bit fcntl locking... no
checking for 64 bit fcntl locking... no
checking configure summary... ERROR: No locking available. Running Samba
would be unsafe

I then tried reconfiguring with the addition of --with-spinlocks.
Configure output did not change.

I have a vague recollection of Samba-2.2.3 and earlier having had a
--enable-flock or --with-flock option to use flock() instead of fcntl(),
and of this having been what I had to use to build it on this machine.
However, well ....   the version number tells you how long ago that was,
and I can't recall for sure.

If I patch configure to automatically pass the fcntl test, Samba builds
cleanly, passes its tests, and runs correctly.  So file locking is
obviously *working*.  The question is why configure thinks it isn't.

Could the fact that I'm building on an NFS-mounted volume (from a
Solaris 2.8 NFS server) and have /tmp on tmpfs affect the outcome of the
fcntl test?

 .*********  Fight Back!  It may not be just YOUR life at risk.  *********.
 : phil stracchino : unix ronin : renaissance man : mystic zen biker geek :
 :  alaric at caerllewys.net : alaric-ruthven at earthlink.net : phil at latt.net  :
 :   2000 CBR929RR, 1991 VFR750F3 (foully murdered), 1986 VF500F (sold)   :
 :    Linux Now!   ...Because friends don't let friends use Microsoft.    :

More information about the samba mailing list