diff options
Diffstat (limited to 'docs/docbook/projdoc/Compiling.xml')
-rw-r--r-- | docs/docbook/projdoc/Compiling.xml | 127 |
1 files changed, 71 insertions, 56 deletions
diff --git a/docs/docbook/projdoc/Compiling.xml b/docs/docbook/projdoc/Compiling.xml index 279be2fdb4..ccb2f46f3f 100644 --- a/docs/docbook/projdoc/Compiling.xml +++ b/docs/docbook/projdoc/Compiling.xml @@ -1,13 +1,13 @@ <chapter id="compiling"> <chapterinfo> &author.jelmer; - <author><surname>Someone; Jerry perhaps?</surname></author> + &author.tridge; <pubdate> 22 May 2001 </pubdate> <pubdate> 18 March 2003 </pubdate> </chapterinfo> -<title>How to compile SAMBA</title> +<title>How to compile Samba</title> <para> You can obtain the samba source from the @@ -18,6 +18,8 @@ you can download samba from CVS or using rsync. <sect1> <title>Access Samba source code via CVS</title> +<indexterm><primary>CVS</primary></indexterm> + <sect2> <title>Introduction</title> @@ -31,7 +33,7 @@ detailed in this chapter. <para> This chapter is a modified version of the instructions found at -<ulink url="http://samba.org/samba/cvs.html">http://samba.org/samba/cvs.html</ulink> +<ulink noescape="1" url="http://samba.org/samba/cvs.html">http://samba.org/samba/cvs.html</ulink> </para> </sect2> @@ -49,6 +51,8 @@ of accessing the CVS server on this host. <sect3> <title>Access via CVSweb</title> +<indexterm><primary>CVS</primary><secondary>web</secondary></indexterm> + <para> You can access the source code via your favourite WWW browser. This allows you to access the contents of @@ -59,7 +63,7 @@ listing between any two versions on the repository. <para> Use the URL : <ulink -url="http://samba.org/cgi-bin/cvsweb">http://samba.org/cgi-bin/cvsweb</ulink> +noescape="1" url="http://samba.org/cgi-bin/cvsweb">http://samba.org/cgi-bin/cvsweb</ulink> </para> </sect3> @@ -78,7 +82,7 @@ just a casual browser. <para> To download the latest cvs source code, point your browser at the URL : -<ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink>. +<ulink noescape="1" url="http://www.cyclic.com/">http://www.cyclic.com/</ulink>. and click on the 'How to get cvs' link. CVS is free software under the GNU GPL (as is Samba). Note that there are several graphical CVS clients which provide a graphical interface to the sometimes mundane CVS commands. @@ -167,11 +171,14 @@ on this system just substitute the correct package name <sect1> <title>Accessing the samba sources via rsync and ftp</title> + <indexterm><primary>rsync</primary></indexterm> + <indexterm><primary>ftp</primary></indexterm> + <para> pserver.samba.org also exports unpacked copies of most parts of the CVS - tree at <ulink url="ftp://pserver.samba.org/pub/unpacked">ftp://pserver.samba.org/pub/unpacked</ulink> and also via anonymous rsync at - <ulink url="rsync://pserver.samba.org/ftp/unpacked/">rsync://pserver.samba.org/ftp/unpacked/</ulink>. I recommend using rsync rather than ftp. - See <ulink url="http://rsync.samba.org/">the rsync homepage</ulink> for more info on rsync. + tree at <ulink noescape="1" url="ftp://pserver.samba.org/pub/unpacked">ftp://pserver.samba.org/pub/unpacked</ulink> and also via anonymous rsync at + <ulink noescape="1" url="rsync://pserver.samba.org/ftp/unpacked/">rsync://pserver.samba.org/ftp/unpacked/</ulink>. I recommend using rsync rather than ftp. + See <ulink noescape="1" url="http://rsync.samba.org/">the rsync homepage</ulink> for more info on rsync. </para> <para> @@ -197,17 +204,19 @@ With that said, go ahead and download the following files: </para> <para><screen> -<prompt>$ </prompt><userinput> wget http://us1.samba.org/samba/ftp/samba-2.2.8a.tar.asc</userinput> -<prompt>$ </prompt><userinput> wget http://us1.samba.org/samba/ftp/samba-pubkey.asc</userinput> +&prompt;<userinput>wget http://us1.samba.org/samba/ftp/samba-2.2.8a.tar.asc</userinput> +&prompt;<userinput>wget http://us1.samba.org/samba/ftp/samba-pubkey.asc</userinput> </screen></para> + <para> +<indexterm><primary>GPG</primary></indexterm> The first file is the PGP signature for the Samba source file; the other is the Samba public PGP key itself. Import the public PGP key with: </para> <screen> - <prompt>$ </prompt><userinput>gpg --import samba-pubkey.asc</userinput> +&prompt;<userinput>gpg --import samba-pubkey.asc</userinput> </screen> <para> @@ -215,8 +224,8 @@ And verify the Samba source code integrity with: </para> <screen> - <prompt>$ </prompt><userinput>gzip -d samba-2.2.8a.tar.gz</userinput> - <prompt>$ </prompt><userinput>gpg --verify samba-2.2.8a.tar.asc</userinput> +&prompt;<userinput>gzip -d samba-2.2.8a.tar.gz</userinput> +&prompt;<userinput>gpg --verify samba-2.2.8a.tar.asc</userinput> </screen> <para> @@ -226,51 +235,58 @@ then all is well. The warnings about trust relationships can be ignored. An example of what you would not want to see would be: </para> +<para> <computeroutput> gpg: BAD signature from "Samba Distribution Verification Key" -</computeroutput> + </computeroutput> + </para> </sect1> <sect1> <title>Building the Binaries</title> - <para>To do this, first run the program <userinput>./configure +<indexterm><primary>configure</primary></indexterm> + + <para> + To do this, first run the program <userinput>./configure </userinput> in the source directory. This should automatically configure Samba for your operating system. If you have unusual needs then you may wish to run</para> - <para>&rootprompt;<userinput>./configure --help - </userinput></para> +<para><screen>&rootprompt;<userinput>./configure --help +</userinput></screen></para> <para>first to see what special options you can enable. Then executing</para> + +<indexterm><primary>make</primary></indexterm> - <para>&rootprompt;<userinput>make</userinput></para> +<para><screen>&rootprompt;<userinput>make</userinput></screen></para> <para>will create the binaries. Once it's successfully compiled you can use </para> - <para>&rootprompt;<userinput>make install</userinput></para> +<para><screen>&rootprompt;<userinput>make install</userinput></screen></para> <para>to install the binaries and manual pages. You can separately install the binaries and/or man pages using</para> - <para>&rootprompt;<userinput>make installbin - </userinput></para> +<para><screen>&rootprompt;<userinput>make installbin +</userinput></screen></para> <para>and</para> - <para>&rootprompt;<userinput>make installman - </userinput></para> + <para><screen>&rootprompt;<userinput>make installman + </userinput></screen></para> <para>Note that if you are upgrading for a previous version of Samba you might like to know that the old versions of the binaries will be renamed with a ".old" extension. You can go back to the previous version with</para> - <para>&rootprompt;<userinput>make revert - </userinput></para> +<para><screen>&rootprompt;<userinput>make revert +</userinput></screen></para> <para>if you find this version a disaster!</para> @@ -311,10 +327,10 @@ example of what you would not want to see would be: <para>On Debian you need to install the following packages:</para> <para> - <simplelist> - <member>libkrb5-dev</member> - <member>krb5-user</member> - </simplelist> + <itemizedlist> + <listitem><para>libkrb5-dev</para></listitem> + <listitem><para>krb5-user</para></listitem> + </itemizedlist> </para> </sect3> @@ -323,11 +339,11 @@ example of what you would not want to see would be: <para>On RedHat this means you should have at least: </para> <para> - <simplelist> - <member>krb5-workstation (for kinit)</member> - <member>krb5-libs (for linking with)</member> - <member>krb5-devel (because you are compiling from source)</member> - </simplelist> + <itemizedlist> + <listitem><para>krb5-workstation (for kinit)</para></listitem> + <listitem><para>krb5-libs (for linking with)</para></listitem> + <listitem><para>krb5-devel (because you are compiling from source)</para></listitem> + </itemizedlist> </para> <para>in addition to the standard development environment.</para> @@ -344,11 +360,14 @@ example of what you would not want to see would be: <sect1> <title>Starting the &smbd; and &nmbd;</title> + <indexterm><primary>inetd</primary></indexterm> + <para>You must choose to start &smbd; and &nmbd; either as daemons or from <application>inetd</application>. Don't try to do both! Either you can put them in <filename> inetd.conf</filename> and have them started on demand - by <application>inetd</application>, or you can start them as + by <application>inetd</application> or <application>xinetd</application>, + or you can start them as daemons either from the command line or in <filename> /etc/rc.local</filename>. See the man pages for details on the command line options. Take particular care to read @@ -363,6 +382,8 @@ example of what you would not want to see would be: <sect2> <title>Starting from inetd.conf</title> + <indexterm><primary>inetd</primary></indexterm> + <note> <para>The following will be different if you use NIS, NIS+ or LDAP to distribute services maps.</para> @@ -388,7 +409,11 @@ example of what you would not want to see would be: <para>The exact syntax of <filename>/etc/inetd.conf</filename> varies between unixes. Look at the other entries in inetd.conf - for a guide.</para> + for a guide. </para> + + <indexterm><primary>xinetd</primary></indexterm> + <para>Some distributions use xinetd instead of inetd. Consult the + xinetd manual for configuration information.</para> <note><para>Some unixes already have entries like netbios_ns (note the underscore) in <filename>/etc/services</filename>. @@ -396,8 +421,9 @@ example of what you would not want to see would be: <filename>/etc/inetd.conf</filename> to make them consistent. </para></note> + <indexterm><primary>ifconfig</primary></indexterm> <note><para>On many systems you may need to use the - <parameter>interfaces</parameter> option in &smb.conf; to specify the IP + <smbconfoption><name>interfaces</name></smbconfoption> option in &smb.conf; to specify the IP address and netmask of your interfaces. Run <application>ifconfig</application> as root if you don't know what the broadcast is for your @@ -412,13 +438,19 @@ example of what you would not want to see would be: from <command>inetd</command>.</para></warning> <para>Restart <application>inetd</application>, perhaps just send - it a HUP. If you have installed an earlier version of &nmbd; then - you may need to kill &nmbd; as well.</para> + it a HUP. </para> + + <screen> + &rootprompt;<userinput>killall -HUP inetd</userinput> + </screen> + </sect2> <sect2> <title>Alternative: starting it as a daemon</title> + <indexterm><primary>daemon</primary></indexterm> + <para>To start the server as a daemon you should create a script something like this one, perhaps calling it <filename>startsmb</filename>.</para> @@ -445,21 +477,4 @@ example of what you would not want to see would be: </sect2> </sect1> -<sect1> -<title>Common Errors</title> - -<para><quote> -I'm using gcc 3 and I've compiled Samba-3 from the CVS and the -binaries are very large files (40 Mb and 20 Mb). I've the same result with -<option>--enable-shared</option> ? -</quote> -</para> - -<para> -The dwarf format used by GCC 3 for storing debugging symbols is very inefficient. -Strip the binaries, don't compile with -g or compile with -gstabs. -</para> - -</sect1> - </chapter> |