📄 swarm.installbook.install.article.html
字号:
<HTML><HEAD><TITLE>Installing Swarm</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.53"><LINKREL="HOME"TITLE="Documentation Set for Swarm 2.1.1"HREF="set.html"><LINKREL="UP"TITLE="Getting Started with Swarm"HREF="book468.html"><LINKREL="PREVIOUS"TITLE="Getting Started with Swarm"HREF="book468.html"><LINKREL="NEXT"TITLE="Overview of the Swarm Distribution"HREF="swarm.installbook.distrib.article.html"></HEAD><BODYCLASS="ARTICLE"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Documentation Set for Swarm 2.1.1</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="book468.html">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="swarm.installbook.distrib.article.html">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="ARTICLE"><H1><ANAME="SWARM.INSTALLBOOK.INSTALL.ARTICLE">Installing Swarm</A></H1><TABLECLASS="SIDEBAR"BORDER="1"CELLPADDING="5"><TR><TD><DIVCLASS="SIDEBAR"><P></P><P>Unless you are using a Windows or a Unix system withpre-built package manager support (Debian GNU/Linux 2.2, Redhat 6.1,Solaris 2.7), installing Swarm will take some time: various externallibraries need to be acquired, compiled, and installed, and then Swarmitself needs to be compiled. Please report any problems duringinstallation back so that we can try to fix them in thefuture. </P><P>If you are using a Unix system with binary package manager support,please read the manual appropriate to the manager. Respectively,these are `dpkg', `rpm', and `pkgadd'.</P><P>Swarm uses quite a few libraries and is intended to run under all major flavors of Unix. This presents the unpleasant but largely unavoidable side-effect of making Swarm hard to install. Ideally, you should get the sys-admin for your site to do the job. In any event, the new online <ICLASS="EMPHASIS">Swarm FAQ</I> where we've tried to compile some of the common obstacles to installation, may be useful. </P><P></P><UL><LI><DIVCLASS="FORMALPARA"><P><B> <AHREF="http://lark.cc.ukans.edu/~pauljohn/SwarmFaq/SwarmOnlineFaq.html"TARGET="_top">Online FAQ</A>. </B>Paul Johnson's active Swarm FAQ. <ICLASS="EMPHASIS">Share your wisdom!</I></P></DIV></LI></UL><P></P></DIV></TD></TR></TABLE><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN726">1. Supported Systems</A></H4><P></P><UL><LI><DIVCLASS="FORMALPARA"><P><B>Unix. </B>Our intention is that Swarm will run on any modern Unix system. Ideally, Swarm itself should be 100% portable. Swarm has been known to run on SunOS 4.1.3, Solaris 2.[567], GNU/Linux systems for Intel, Sparc, and PPC, FreeBSD, HPUX 9, 10, and 11, IRIX 5.3 & 6.5, Digital Unix for Alpha and MachTen/68k. </P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B>Windows NT. </B>Swarm can be used on Windows. Installation on Windows is a simple matter of running the InstallShield package. Please see the <AHREF="http://www.swarm.org/release-swarm.html"TARGET="_top">release page</A>, for more details.</P></DIV></LI></UL><P>See the <AHREF="http://www.swarm.org/release-platforms.html"TARGET="_top">Platform News</A> web page for the most up-to-date information.</P></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN740">2. Prerequisite Programs</A></H4><P>We assume you already have Unix and X Windows on your system: the rest of this software is freely available. Expect to spend some time compiling and installing these packages. URLs on this page are to the home distribution site: as a convenience, the Swarm ftp site contains copies of the necessary packages in <AHREF="ftp://ftp.swarm.org/pub/swarm/needed-software"TARGET="_top">needed-software</A>. </P><P> <P></P><UL><LI><DIVCLASS="FORMALPARA"><P><B>GNU gcc. </B>gcc is the FSF's GNU Compiler Collection. You need gcc 2.95.2 or greater installed on your system, including the Objective C support. The latest version is available from <AHREF="ftp://ftp.gnu.org/pub/gnu"TARGET="_top">ftp://ftp.gnu.org/pub/gnu/gcc</A>. </P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B>GNU make. </B>Make is used to automate building programs: every OS ships their own version of make with some random set of features. The Swarm makefiles currently use features that are not supported by all makes: GNU make is the only one guaranteed to work. Linux systems probably use GNU make already. The latest version of GNU make is available <AHREF="ftp://ftp.gnu.org/pub/gnu/make"TARGET="_top">here</A>.</P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B>GNU gdb. </B>gdb is the GNU debugger: Swarm doesn't require this, but you will probably want gdb on your system to debug programs. gdb is available <AHREF="ftp://ftp.gnu.org/pub/gnu/gdb"TARGET="_top">here</A>.</P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B>GNU Emacs. </B>Emacs is a programmable text processing system and editor. Emacs is needed if you want to build Swarm for Java from source code. Emacs is also a good program for editing Objective C and Java code. Emacs is available <AHREF="ftp://ftp.gnu.org/pub/gnu/emacs/"TARGET="_top">here</A>.</P></DIV></LI></UL></P></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN766">3. Prerequisite Libraries</A></H4><P>Swarm uses a variety of freely available software libraries. All of these libraries need to be configured and installed independently of Swarm. When you configure Swarm itself, take a look at the output of "configure --help" to see what "--with-*dir" options are available for locating the installations of these libraries. </P><P></P><UL><LI><DIVCLASS="FORMALPARA"><P><B><AHREF="http://www.inria.fr/koala/lehors/xpm.html"TARGET="_top">XPM Library</A>. </B>The XPM library adds pixmap (coloured bitmap) support to X11. XPM is a common X library, many systems already have it installed. A reasonably modern version is needed: we've used version 3.4f. If you get complaints about "Object" being multiply defined, your version of libXpm is too old. The library is available from <AHREF="ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz"TARGET="_top">ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz</A>.</P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B><AHREF="http://www.scriptics.com"TARGET="_top">Tcl/Tk</A>. </B>Swarm works with Tcl/Tk versions <AHREF="ftp://ftp.scriptics.com/pub/tcl/tcl8_2/tcl8.2.3.tar.gz"TARGET="_top">8.2.3</A>/<AHREF="ftp://ftp.scriptics.com/pub/tcl/tcl8_2/tk8.2.3.tar.gz"TARGET="_top">8.2.3</A> and later.</P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B><AHREF="http://www.tcltk.com/blt/index.html"TARGET="_top">BLT</A>. </B>BLT is an add-on to Tk that provides more widgets. <AHREF="http://ftp.tcltk.com/pub/blt/BLT2.4o.tar.gz"TARGET="_top">BLT 2.4o</A>is the current version. </P></DIV></LI><LI><DIVCLASS="FORMALPARA"><P><B><AHREF="http://clisp.cons.org/~haible/packages-ffcall.html"TARGET="_top">ffcall</A> / <AHREF="http://www.cygnus.com/~green/libffi.html"TARGET="_top">libffi</A>. </B>Either ffcall or libffi can be used in Swarm to provide the underlying support for message probing. ffcall is provided with Swarm and works for most platforms. Both libraries provide a portable, high level programming interface to various platform calling conventions. This allows a programmer to call any function specified by a call interface description at run time. ffi stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. </P></DIV><P>The latest version of ffcall is <AHREF="ftp://ftp.swarm.org/pub/gnu/ffcall-1.6.tar.gz"TARGET="_top">1.6</A> </P><P>The latest version of libffi is: <AHREF="ftp://ftp.cygnus.com:/pub/green/libffi-1.20.tar.gz"TARGET="_top">1.20</A> </P></LI><LI><DIVCLASS="FORMALPARA"><P><B><AHREF="http://www.cdrom.com/pub/png"TARGET="_top">libpng</A>. </B> Swarm requires support for pixmap images - `png' provides that support. </P></DIV><P>The current version is <AHREF="ftp://swrinde.nde.swri.edu/pub/png/src/libpng-1.0.5.tar.gz"TARGET="_top">1.0.5</A> </P><DIVCLASS="FORMALPARA"><P><B><AHREF="http://www.cdrom.com/pub/infozip/zlib"TARGET="_top">zlib</A>. </B> png requires data compression which zlib, a general data compression library, provides. </P></DIV><P> The current version is <AHREF="ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.tar.gz"TARGET="_top">1.1.3</A>. </P></LI></UL></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN812">4. Configuring and Installing Swarm</A></H4><P>Once you have all of the above software installed, the next step is to configure Swarm. First unpack the Swarm .tar.gz file into a convenient place <TTCLASS="LITERAL">(via gzip -dc swarm-xx.yy.zz.tar.gz | tar xf -)</TT>. </P><P>As of the Swarm 1.2 release, the compilation and installation of Swarm is handled by a GNU <BCLASS="COMMAND">configure</B> script. This removes a large burden from the user, as <BCLASS="COMMAND">configure</B> has some intelligence which automatically sets many common options. </P><P>You first need to read the file <TTCLASS="FILENAME">INSTALL</TT> with the release of Swarm, in the top-level source directory, to determine the appropriate and recent options to give to the <BCLASS="COMMAND">configure</B> script (this is analogous to what you needed to do when editing the *INCDIR macros in the obsolete <TTCLASS="FILENAME">Makefile.conf</TT> in earlier releases). </P></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN823">5. Compiling Swarm Libraries -- (not required for binary distributions)</A></H4><P>You've done the hard part, now type <BCLASS="COMMAND">make</B>, as in earlier releases from the top of the source directory, and watch the fun! If running <BCLASS="COMMAND">make</B> in the root Swarm directory does nothing, you probably aren't running GNU Make.</P><P>There is now an explicit "installation" step to install Swarm -- <BCLASS="COMMAND">make install</B> so that binaries and libraries can be installed cleanly to a specified location. On many Unix systems this likely to somewhere like <TTCLASS="FILENAME">/usr/local/</TT>. </P><P>The Makefiles included by user-created libraries, and user-created applications are <TTCLASS="FILENAME">Makefile.lib</TT>, and <TTCLASS="FILENAME">Makefile.appl</TT>, respectively. These distributed with earlier versions are now generated by <BCLASS="COMMAND">configure</B> . If you run into problems, the right thing to do is to re-run <BCLASS="COMMAND">configure</B>, and re-install Swarm, tinkering with these generated Makefiles directly is not recommended. </P></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN836">6. Compiling and Running Swarm Applications</A></H4><P>Swarm applications are distributed separately: you will need to download and unpack applications independently. After the application is unpacked, you will have to set the <TTCLASS="LITERAL">SWARMHOME</TT> environment variable to where you installed Swarm. All you need to do now, to compile an application is type <BCLASS="COMMAND">make</B>.</P><P>Once the application is compiled, just run it out of its own directory. A control panel and a couple of parameter windows should pop up; press the "Go" button to watch it run. Congratulations!</P></DIV><DIVCLASS="SIMPLESECT"><H4CLASS="SIMPLESECT"><ANAME="AEN842">7. Post-compile cleanup</A></H4><P>After you've tried out the Swarm libraries for awhile you may want to clean up the intermediate .o files, and other generated files, in the original source directory. Once you have done the <BCLASS="COMMAND">make install</B> you can remove the entire source directory, or if you might want to re-install later with different option, just type <BCLASS="COMMAND">make clean</B> to clean-up all files generated by the original make. See your the file <TTCLASS="FILENAME">INSTALL</TT> in the Swarm distribution, for more details. </P><P> Just remember to set <TTCLASS="LITERAL">$(SWARMHOME)</TT> to the right directory in your application's makefile. If you have installed Swarm, but for some reason, need to recompile the library and want to start from a completely clean source directory, you can run <BCLASS="COMMAND">make uninstall</B> and then <BCLASS="COMMAND">make clean</B>- see <TTCLASS="FILENAME">INSTALL</TT> file again here.</P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="book468.html">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="set.html">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="swarm.installbook.distrib.article.html">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Getting Started with Swarm</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="book468.html">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Overview of the Swarm Distribution</TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -