1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=ISO-8859-1"><title>Chapter
37. Portability
</title><link rel=
"stylesheet" href=
"samba.css" type=
"text/css"><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.60.1"><link rel=
"home" href=
"index.html" title=
"SAMBA Project Documentation"><link rel=
"up" href=
"Appendixes.html" title=
"Part VI. Appendixes"><link rel=
"previous" href=
"compiling.html" title=
"Chapter 36. How to compile SAMBA"><link rel=
"next" href=
"Other-Clients.html" title=
"Chapter 38. Samba and other CIFS clients"></head><body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Chapter
37. Portability
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"compiling.html">Prev
</a> </td><th width=
"60%" align=
"center">Part VI. Appendixes
</th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"Other-Clients.html">Next
</a></td></tr></table><hr></div><div class=
"chapter" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title"><a name=
"Portability"></a>Chapter
37. Portability
</h2></div><div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Jelmer
</span> <span class=
"othername">R.
</span> <span class=
"surname">Vernooij
</span></h3><div class=
"affiliation"><span class=
"orgname">The Samba Team
<br></span><div class=
"address"><p><tt class=
"email"><<a href=
"mailto:jelmer@samba.org">jelmer@samba.org
</a>></tt></p></div></div></div></div></div><div></div></div><div class=
"toc"><p><b>Table of Contents
</b></p><dl><dt><a href=
"Portability.html#id3013478">HPUX
</a></dt><dt><a href=
"Portability.html#id3016009">SCO Unix
</a></dt><dt><a href=
"Portability.html#id3016039">DNIX
</a></dt><dt><a href=
"Portability.html#id3016210">RedHat Linux Rembrandt-II
</a></dt><dt><a href=
"Portability.html#id3016254">AIX
</a></dt><dd><dl><dt><a href=
"Portability.html#id3016261">Sequential Read Ahead
</a></dt></dl></dd><dt><a href=
"Portability.html#id3016287">Solaris
</a></dt><dd><dl><dt><a href=
"Portability.html#id3016294">Locking improvements
</a></dt><dt><a href=
"Portability.html#winbind-solaris9">Winbind on Solaris
9</a></dt></dl></dd></dl></div><p>Samba works on a wide range of platforms but the interface all the
2 platforms provide is not always compatible. This chapter contains
3 platform-specific information about compiling and using samba.
</p><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3013478"></a>HPUX
</h2></div></div><div></div></div><p>
4 HP's implementation of supplementary groups is, er, non-standard (for
5 hysterical reasons). There are two group files,
<tt class=
"filename">/etc/group
</tt> and
6 <tt class=
"filename">/etc/logingroup
</tt>; the system maps UIDs to numbers using the former, but
7 initgroups() reads the latter. Most system admins who know the ropes
8 symlink
<tt class=
"filename">/etc/group
</tt> to
<tt class=
"filename">/etc/logingroup
</tt>
9 (hard link doesn't work for reasons too stupid to go into here). initgroups() will complain if one of the
10 groups you're in in
<tt class=
"filename">/etc/logingroup
</tt> has what it considers to be an invalid
11 ID, which means outside the range
<tt class=
"constant">[
0..UID_MAX]
</tt>, where
<tt class=
"constant">UID_MAX
</tt> is (I think)
12 60000 currently on HP-UX. This precludes -
2 and
65534, the usual
<tt class=
"constant">nobody
</tt>
15 If you encounter this problem, make sure that the programs that are failing
16 to initgroups() be run as users not in any groups with GIDs outside the
18 </p><p>This is documented in the HP manual pages under setgroups(
2) and passwd(
4).
20 On HPUX you must use gcc or the HP ANSI compiler. The free compiler
21 that comes with HP-UX is not ANSI compliant and cannot compile
23 </p></div><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3016009"></a>SCO Unix
</h2></div></div><div></div></div><p>
24 If you run an old version of SCO Unix then you may need to get important
25 TCP/IP patches for Samba to work correctly. Without the patch, you may
26 encounter corrupt data transfers using samba.
28 The patch you need is UOD385 Connection Drivers SLS. It is available from
29 SCO (
<a href=
"ftp://ftp.sco.com/" target=
"_top">ftp.sco.com
</a>, directory SLS,
30 files uod385a.Z and uod385a.ltr.Z).
31 </p></div><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3016039"></a>DNIX
</h2></div></div><div></div></div><p>
32 DNIX has a problem with seteuid() and setegid(). These routines are
33 needed for Samba to work correctly, but they were left out of the DNIX
34 C library for some reason.
36 For this reason Samba by default defines the macro NO_EID in the DNIX
37 section of includes.h. This works around the problem in a limited way,
38 but it is far from ideal, some things still won't work right.
40 To fix the problem properly you need to assemble the following two
41 functions and then either add them to your C library or link them into
44 put this in the file
<tt class=
"filename">setegid.s
</tt>:
45 </p><pre class=
"programlisting">
59 put this in the file
<tt class=
"filename">seteuid.s
</tt>:
60 </p><pre class=
"programlisting">
74 after creating the above files you then assemble them using
75 </p><pre class=
"screen">
76 <tt class=
"prompt">$
</tt><b class=
"userinput"><tt>as seteuid.s
</tt></b>
77 <tt class=
"prompt">$
</tt><b class=
"userinput"><tt>as setegid.s
</tt></b>
79 that should produce the files
<tt class=
"filename">seteuid.o
</tt> and
80 <tt class=
"filename">setegid.o
</tt>
82 then you need to add these to the LIBSM line in the DNIX section of
83 the Samba Makefile. Your LIBSM line will then look something like this:
84 </p><pre class=
"programlisting">
85 LIBSM = setegid.o seteuid.o -ln
87 You should then remove the line:
88 </p><pre class=
"programlisting">
90 </pre><p>from the DNIX section of
<tt class=
"filename">includes.h
</tt></p></div><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3016210"></a>RedHat Linux Rembrandt-II
</h2></div></div><div></div></div><p>
91 By default RedHat Rembrandt-II during installation adds an
92 entry to
<tt class=
"filename">/etc/hosts
</tt> as follows:
93 </p><pre class=
"programlisting">
94 127.0.0.1 loopback
"hostname
".
"domainname
"
97 This causes Samba to loop back onto the loopback interface.
98 The result is that Samba fails to communicate correctly with
99 the world and therefor may fail to correctly negotiate who
100 is the master browse list holder and who is the master browser.
102 Corrective Action: Delete the entry after the word loopback
103 in the line starting
127.0.0.1
104 </p></div><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3016254"></a>AIX
</h2></div></div><div></div></div><div class=
"sect2" lang=
"en"><div class=
"titlepage"><div><div><h3 class=
"title"><a name=
"id3016261"></a>Sequential Read Ahead
</h3></div></div><div></div></div><p>
105 Disabling Sequential Read Ahead using
<b class=
"userinput"><tt>vmtune -r
0</tt></b> improves
106 Samba performance significantly.
107 </p></div></div><div class=
"sect1" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a name=
"id3016287"></a>Solaris
</h2></div></div><div></div></div><div class=
"sect2" lang=
"en"><div class=
"titlepage"><div><div><h3 class=
"title"><a name=
"id3016294"></a>Locking improvements
</h3></div></div><div></div></div><p>Some people have been experiencing problems with F_SETLKW64/fcntl
108 when running Samba on Solaris. The built in file locking mechanism was
109 not scalable. Performance would degrade to the point where processes would
110 get into loops of trying to lock a file. It would try a lock, then fail,
111 then try again. The lock attempt was failing before the grant was
112 occurring. So the visible manifestation of this would be a handful of
113 processes stealing all of the CPU, and when they were trussed they would
114 be stuck if F_SETLKW64 loops.
116 Sun released patches for Solaris
2.6,
8, and
9. The patch for Solaris
7
117 has not been released yet.
119 The patch revision for
2.6 is
105181-
34
120 for
8 is
108528-
19 and for
9 is
112233-
04
122 After the install of these patches it is recommended to reconfigure
124 </p><p>Thanks to Joe Meslovich for reporting
</p></div><div class=
"sect2" lang=
"en"><div class=
"titlepage"><div><div><h3 class=
"title"><a name=
"winbind-solaris9"></a>Winbind on Solaris
9</h3></div></div><div></div></div><p>
125 Nsswitch on Solaris
9 refuses to use the winbind nss module. This behavior
126 is fixed by Sun in patch
113476-
05 which as of March
2003 is not in any
128 </p></div></div></div><div class=
"navfooter"><hr><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"compiling.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"Appendixes.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"Other-Clients.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">Chapter
36. How to compile SAMBA
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> Chapter
38. Samba and other CIFS clients
</td></tr></table></div></body></html>