From 293421f3c64a2adff7dc15f7ad3adb6120c9fd16 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 24 Sep 2003 15:05:22 +0000 Subject: syncing up docs, examples, & packaging from 3.0 (This used to be commit dd1348c566b4700ea01bd89639e2d3330c878167) --- docs/htmldocs/Portability.html | 88 ++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 42 deletions(-) (limited to 'docs/htmldocs/Portability.html') diff --git a/docs/htmldocs/Portability.html b/docs/htmldocs/Portability.html index 50d14207d0..3451a8bd17 100644 --- a/docs/htmldocs/Portability.html +++ b/docs/htmldocs/Portability.html @@ -1,47 +1,52 @@ -Chapter 37. Portability

Chapter 37. Portability

Jelmer R. Vernooij

The Samba Team

Samba works on a wide range of platforms but the interface all the +Chapter 37. Portability

Chapter 37. Portability

Jelmer R. Vernooij

The Samba Team

John H. Terpstra

Samba Team

Samba works on a wide range of platforms but the interface all the platforms provide is not always compatible. This chapter contains -platform-specific information about compiling and using samba.

HPUX

-HP's implementation of supplementary groups is, er, non-standard (for -hysterical reasons). There are two group files, /etc/group and +platform-specific information about compiling and using Samba.

HPUX

+HP's implementation of supplementary groups is non-standard (for +historical reasons). There are two group files, /etc/group and /etc/logingroup; the system maps UIDs to numbers using the former, but -initgroups() reads the latter. Most system admins who know the ropes +initgroups() reads the latter. Most system admins who know the ropes symlink /etc/group to /etc/logingroup -(hard link doesn't work for reasons too stupid to go into here). initgroups() will complain if one of the +(hard link does not work for reasons too obtuse to go into here). initgroups() will complain if one of the groups you're in in /etc/logingroup has what it considers to be an invalid ID, which means outside the range [0..UID_MAX], where UID_MAX is (I think) -60000 currently on HP-UX. This precludes -2 and 65534, the usual nobody +60000 currently on HP-UX. This precludes -2 and 65534, the usual nobody GIDs.

-If you encounter this problem, make sure that the programs that are failing -to initgroups() be run as users not in any groups with GIDs outside the +If you encounter this problem, make sure the programs that are failing +to initgroups() are run as users, not in any groups with GIDs outside the allowed range.

This is documented in the HP manual pages under setgroups(2) and passwd(4).

-On HPUX you must use gcc or the HP ANSI compiler. The free compiler -that comes with HP-UX is not ANSI compliant and cannot compile -Samba. -

SCO UNIX

-If you run an old version of SCO UNIX then you may need to get important +On HP-UX you must use gcc or the HP ANSI compiler. The free compiler +that comes with HP-UX is not ANSI compliant and cannot compile Samba. +

SCO UNIX

+If you run an old version of SCO UNIX, you may need to get important TCP/IP patches for Samba to work correctly. Without the patch, you may -encounter corrupt data transfers using samba. +encounter corrupt data transfers using Samba.

The patch you need is UOD385 Connection Drivers SLS. It is available from -SCO (ftp.sco.com, directory SLS, +SCO (ftp.sco.com, directory SLS, files uod385a.Z and uod385a.ltr.Z). -

DNIX

+

+The information provided here refers to an old version of SCO UNIX. If you require +binaries for more recent SCO UNIX products, please contact SCO to obtain packages that are +ready to install. You should also verify with SCO that your platform is up-to-date for the +binary packages you will install. This is important if you wish to avoid data corruption +problems with your installation. To build Samba for SCO UNIX products may +require significant patching of Samba source code. It is much easier to obtain binary +packages directly from SCO. +

DNIX

DNIX has a problem with seteuid() and setegid(). These routines are needed for Samba to work correctly, but they were left out of the DNIX C library for some reason.

For this reason Samba by default defines the macro NO_EID in the DNIX section of includes.h. This works around the problem in a limited way, -but it is far from ideal, some things still won't work right. +but it is far from ideal, and some things still will not work right.

-To fix the problem properly you need to assemble the following two +To fix the problem properly, you need to assemble the following two functions and then either add them to your C library or link them into -Samba. -

-put this in the file setegid.s: +Samba. Put the following in the file setegid.s:

         .globl  _setegid
 _setegid:
@@ -56,7 +61,7 @@ _setegid:
         clrl    d0
         rts
 

-put this in the file seteuid.s: +Put this in the file seteuid.s:

         .globl  _seteuid
 _seteuid:
@@ -71,7 +76,7 @@ _seteuid:
         clrl    d0
         rts
 

-after creating the above files you then assemble them using +After creating the above files, you then assemble them using

 $ as seteuid.s
 $ as setegid.s
@@ -79,7 +84,7 @@ after creating the above files you then assemble them using
 that should produce the files seteuid.o and 
 setegid.o
 

-then you need to add these to the LIBSM line in the DNIX section of +Then you need to add these to the LIBSM line in the DNIX section of the Samba Makefile. Your LIBSM line will then look something like this:

 LIBSM = setegid.o seteuid.o -ln
@@ -87,25 +92,25 @@ LIBSM = setegid.o seteuid.o -ln
 You should then remove the line:
 

 #define NO_EID
-

from the DNIX section of includes.h

RedHat Linux Rembrandt-II

-By default RedHat Rembrandt-II during installation adds an +

from the DNIX section of includes.h.

Red Hat Linux

+By default during installation, some versions of Red Hat Linux add an entry to /etc/hosts as follows:

-	127.0.0.1 loopback "hostname"."domainname"
+	127.0.0.1 loopback "hostname"."domainname"
 

This causes Samba to loop back onto the loopback interface. The result is that Samba fails to communicate correctly with -the world and therefor may fail to correctly negotiate who +the world and therefore may fail to correctly negotiate who is the master browse list holder and who is the master browser.

-Corrective Action: Delete the entry after the word loopback - in the line starting 127.0.0.1 -

AIX

Sequential Read Ahead

+Corrective Action: Delete the entry after the word "loopback" +in the line starting 127.0.0.1. +

AIX

Sequential Read Ahead

Disabling Sequential Read Ahead using vmtune -r 0 improves Samba performance significantly. -

Solaris

Locking improvements

Some people have been experiencing problems with F_SETLKW64/fcntl -when running Samba on Solaris. The built in file locking mechanism was +

Solaris

Locking Improvements

Some people have been experiencing problems with F_SETLKW64/fcntl +when running Samba on Solaris. The built-in file locking mechanism was not scalable. Performance would degrade to the point where processes would get into loops of trying to lock a file. It would try a lock, then fail, then try again. The lock attempt was failing before the grant was @@ -116,13 +121,12 @@ be stuck if F_SETLKW64 loops. Sun released patches for Solaris 2.6, 8, and 9. The patch for Solaris 7 has not been released yet.

-The patch revision for 2.6 is 105181-34 -for 8 is 108528-19 and for 9 is 112233-04 +The patch revision for 2.6 is 105181-34, for 8 is 108528-19 and for 9 is 112233-04.

-After the install of these patches it is recommended to reconfigure -and rebuild samba. -

Thanks to Joe Meslovich for reporting

Winbind on Solaris 9

-Nsswitch on Solaris 9 refuses to use the winbind nss module. This behavior -is fixed by Sun in patch 113476-05 which as of March 2003 is not in any +After the install of these patches, it is recommended to reconfigure +and rebuild Samba. +

Thanks to Joe Meslovich for reporting this.

Winbind on Solaris 9

+Nsswitch on Solaris 9 refuses to use the Winbind NSS module. This behavior +is fixed by Sun in patch 113476-05, which as of March 2003, is not in any roll-up packages. -

+

-- cgit