Date: Thu, 24 Jan 2013 15:03:30 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r40735 - head/en_US.ISO8859-1/books/handbook/linuxemu Message-ID: <201301241503.r0OF3U5J077013@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Thu Jan 24 15:03:30 2013 New Revision: 40735 URL: http://svnweb.freebsd.org/changeset/doc/40735 Log: White space fix only. Translators can ignore. Approved by: gjb (mentor) Modified: head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Modified: head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Thu Jan 24 14:57:42 2013 (r40734) +++ head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Thu Jan 24 15:03:30 2013 (r40735) @@ -32,7 +32,9 @@ <sect1 id="linuxemu-synopsis"> <title>Synopsis</title> - <indexterm><primary>Linux binary compatibility</primary></indexterm> + + <indexterm><primary>Linux binary + compatibility</primary></indexterm> <indexterm> <primary>binary compatibility</primary> <secondary>Linux</secondary> @@ -41,52 +43,57 @@ <para>FreeBSD provides binary compatibility with several other &unix; like operating systems, including Linux. At this point, you may be asking yourself why exactly, does - FreeBSD need to be able to run Linux binaries? The answer to that - question is quite simple. Many companies and developers develop - only for Linux, since it is the latest <quote>hot thing</quote> in - the computing world. That leaves the rest of us FreeBSD users - bugging these same companies and developers to put out native - FreeBSD versions of their applications. The problem is, that most - of these companies do not really realize how many people would use - their product if there were FreeBSD versions too, and most continue - to only develop for Linux. So what is a FreeBSD user to do? This - is where the Linux binary compatibility of FreeBSD comes into - play.</para> - - <para>In a nutshell, the compatibility allows FreeBSD users to run - about 90% of all Linux applications without modification. This - includes applications such as <application>&staroffice;</application>, - the Linux version of <application>&netscape;</application>, + FreeBSD need to be able to run Linux binaries? The answer to + that question is quite simple. Many companies and developers + develop only for Linux, since it is the latest <quote>hot + thing</quote> in the computing world. That leaves the rest + of us FreeBSD users bugging these same companies and developers + to put out native FreeBSD versions of their applications. The + problem is, that most of these companies do not really realize + how many people would use their product if there were FreeBSD + versions too, and most continue to only develop for Linux. + So what is a FreeBSD user to do? This is where the Linux binary + compatibility of FreeBSD comes into play.</para> + + <para>In a nutshell, the compatibility allows FreeBSD users to + run about 90% of all Linux applications without modification. + This includes applications such as + <application>&staroffice;</application>, the Linux version of + <application>&netscape;</application>, <application>&adobe; &acrobat;</application>, <application>&realplayer;</application>, <application>&oracle;</application>, - <application>&wordperfect;</application>, <application>Doom</application>, + <application>&wordperfect;</application>, + <application>Doom</application>, <application>Quake</application>, and more. It is also reported - that in some situations, Linux binaries perform better on FreeBSD - than they do under Linux.</para> + that in some situations, Linux binaries perform better on + FreeBSD than they do under Linux.</para> <para>There are, however, some Linux-specific operating system - features that are not supported under FreeBSD. Linux binaries will - not work on FreeBSD if they overly use &i386; specific + features that are not supported under FreeBSD. Linux binaries + will not work on FreeBSD if they overly use &i386; specific calls, such as enabling virtual 8086 mode.</para> <para>After reading this chapter, you will know:</para> <itemizedlist> <listitem> - <para>How to enable Linux binary compatibility on your system.</para> + <para>How to enable Linux binary compatibility on your + system.</para> </listitem> <listitem> <para>How to install additional Linux shared libraries.</para> - </listitem> + </listitem> <listitem> - <para>How to install Linux applications on your FreeBSD system.</para> + <para>How to install Linux applications on your FreeBSD + system.</para> </listitem> <listitem> - <para>The implementation details of Linux compatibility in FreeBSD.</para> + <para>The implementation details of Linux compatibility in + FreeBSD.</para> </listitem> </itemizedlist> @@ -95,7 +102,7 @@ <itemizedlist> <listitem> <para>Know how to install additional third-party - software (<xref linkend="ports"/>).</para> + software (<xref linkend="ports"/>).</para> </listitem> </itemizedlist> @@ -104,7 +111,8 @@ <sect1 id="linuxemu-lbc-install"> <title>Installation</title> - <indexterm><primary>KLD (kernel loadable object)</primary></indexterm> + <indexterm><primary>KLD (kernel loadable + object)</primary></indexterm> <para>Linux binary compatibility is not turned on by default. The easiest way to enable this functionality is to load the @@ -127,19 +135,22 @@ Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko</screen> + <indexterm> <primary>kernel options</primary> <secondary>COMPAT_LINUX</secondary> </indexterm> - <para>If for some reason you do not want to or cannot load the KLD, - then you may statically link Linux binary compatibility into the kernel - by adding <literal>options COMPAT_LINUX</literal> to your kernel - configuration file. Then install your new kernel as described in + <para>If for some reason you do not want to or cannot load the + KLD, then you may statically link Linux binary compatibility + into the kernel by adding <literal>options + COMPAT_LINUX</literal> to your kernel configuration file. + Then install your new kernel as described in <xref linkend="kernelconfig"/>.</para> <sect2> <title>Installing Linux Runtime Libraries</title> + <indexterm> <primary>Linux</primary> <secondary>installing Linux libraries</secondary> @@ -150,36 +161,38 @@ Id Refs Address Size Name by installing them <link linkend="linuxemu-libs-manually">manually</link>.</para> - <sect3 id="linuxemu-libs-port"> - <title>Installing Using the linux_base Port</title> - <indexterm><primary>Ports Collection</primary></indexterm> - - <para>This is by far the easiest method to use when installing the - runtime libraries. It is just like installing any other port - from the <link linkend="ports">Ports Collection</link>:</para> + <sect3 id="linuxemu-libs-port"> + <title>Installing Using the linux_base Port</title> - <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-f10</userinput> + <indexterm><primary>Ports Collection</primary></indexterm> + + <para>This is by far the easiest method to use when installing + the runtime libraries. It is just like installing any other + port from the <link linkend="ports">Ports + Collection</link>:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-f10</userinput> &prompt.root; <userinput>make install distclean</userinput></screen> <note> <para>On &os; systems prior to &os; 8.0, you will have to use the <filename - role="package">emulators/linux_base-fc4</filename> port + role="package">emulators/linux_base-fc4</filename> port instead of <filename - role="package">emulators/linux_base-f10</filename>.</para> + role="package">emulators/linux_base-f10</filename>.</para> </note> <para>You should now have working Linux binary compatibility. - Some programs may complain about incorrect minor versions of the - system libraries. In general, however, this does not seem to be - a problem.</para> + Some programs may complain about incorrect minor versions + of the system libraries. In general, however, this does + not seem to be a problem.</para> <note><para>There may be multiple versions of the <filename - role="package">emulators/linux_base</filename> port available, - corresponding to different versions of various Linux distributions. - You should install the port most closely resembling the - requirements of the Linux applications you would like to - install.</para></note> + role="package">emulators/linux_base</filename> port + available, corresponding to different versions of various + Linux distributions. You should install the port most + closely resembling the requirements of the Linux + applications you would like to install.</para></note> </sect3> @@ -187,48 +200,52 @@ Id Refs Address Size Name <title>Installing Libraries Manually</title> <para>If you do not have the <quote>ports</quote> collection - installed, you can install the libraries by hand instead. You - will need the Linux shared libraries that the program depends on - and the runtime linker. Also, you will need to create a - <quote>shadow root</quote> directory, - <filename>/compat/linux</filename>, for Linux libraries on your - FreeBSD system. Any shared libraries opened by Linux programs - run under FreeBSD will look in this tree first. So, if a Linux - program loads, for example, <filename>/lib/libc.so</filename>, - FreeBSD will first try to open - <filename>/compat/linux/lib/libc.so</filename>, and if that does - not exist, it will then try <filename>/lib/libc.so</filename>. - Shared libraries should be installed in the shadow tree + installed, you can install the libraries by hand instead. + You will need the Linux shared libraries that the program + depends on and the runtime linker. Also, you will need to + create a <quote>shadow root</quote> directory, + <filename>/compat/linux</filename>, for Linux libraries + on your FreeBSD system. Any shared libraries opened by + Linux programs run under FreeBSD will look in this tree + first. So, if a Linux program loads, for example, + <filename>/lib/libc.so</filename>, FreeBSD will first try + to open <filename>/compat/linux/lib/libc.so</filename>, + and if that does not exist, it will then try + <filename>/lib/libc.so</filename>. Shared libraries should + be installed in the shadow tree <filename>/compat/linux/lib</filename> rather than the paths that the Linux <command>ld.so</command> reports.</para> - <para>Generally, you will need to look for the shared libraries - that Linux binaries depend on only the first few times that you - install a Linux program on your FreeBSD system. After a while, - you will have a sufficient set of Linux shared libraries on your - system to be able to run newly imported Linux binaries without - any extra work.</para> + <para>Generally, you will need to look for the shared + libraries that Linux binaries depend on only the first few + times that you install a Linux program on your FreeBSD + system. After a while, you will have a sufficient set of + Linux shared libraries on your system to be able to run + newly imported Linux binaries without any extra work.</para> </sect3> <sect3> <title>How to Install Additional Shared Libraries</title> + <indexterm><primary>shared libraries</primary></indexterm> - <para>What if you install the <filename>linux_base</filename> port - and your application still complains about missing shared - libraries? How do you know which shared libraries Linux - binaries need, and where to get them? Basically, there are 2 - possibilities (when following these instructions you will need - to be <username>root</username> on your FreeBSD system).</para> + <para>What if you install the <filename>linux_base</filename> + port and your application still complains about missing + shared libraries? How do you know which shared libraries + Linux binaries need, and where to get them? Basically, + there are 2 possibilities (when following these instructions + you will need to be <username>root</username> on your + FreeBSD system).</para> <para>If you have access to a Linux system, see what shared - libraries the application needs, and copy them to your FreeBSD - system. Look at the following example:</para> + libraries the application needs, and copy them to your + FreeBSD system. Look at the following example:</para> <informalexample> - <para>Let us assume you used FTP to get the Linux binary of - <application>Doom</application>, and put it on a Linux system you have access to. You - then can check which shared libraries it needs by running + <para>Let us assume you used FTP to get the Linux binary + of <application>Doom</application>, and put it on a Linux + system you have access to. You then can check which + shared libraries it needs by running <command>ldd linuxdoom</command>, like so:</para> <screen>&prompt.user; <userinput>ldd linuxdoom</userinput> @@ -237,10 +254,11 @@ libX11.so.3 (DLL Jump 3.1) => /usr/X1 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> <indexterm><primary>symbolic links</primary></indexterm> - <para>You would need to get all the files from the last column, - and put them under <filename>/compat/linux</filename>, with - the names in the first column as symbolic links pointing to - them. This means you eventually have these files on your + <para>You would need to get all the files from the last + column, and put them under + <filename>/compat/linux</filename>, with the names in + the first column as symbolic links pointing to them. + This means you eventually have these files on your FreeBSD system:</para> <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0 @@ -252,15 +270,16 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/ <blockquote> <note> - <para>Note that if you already have a Linux shared library - with a matching major revision number to the first column - of the <command>ldd</command> output, you will not need to - copy the file named in the last column to your system, the - one you already have should work. It is advisable to copy - the shared library anyway if it is a newer version, - though. You can remove the old one, as long as you make - the symbolic link point to the new one. So, if you have - these libraries on your system:</para> + <para>Note that if you already have a Linux shared + library with a matching major revision number to the + first column of the <command>ldd</command> output, + you will not need to copy the file named in the last + column to your system, the one you already have should + work. It is advisable to copy the shared library + anyway if it is a newer version, though. You can + remove the old one, as long as you make the symbolic + link point to the new one. So, if you have these + libraries on your system:</para> <screen>/compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen> @@ -271,13 +290,13 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/ <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> - <para>If it is only one or two versions out of date in the - trailing digit then do not worry about copying - <filename>/lib/libc.so.4.6.29</filename> too, because the - program should work fine with the slightly older version. - However, if you like, you can decide to replace the - <filename>libc.so</filename> anyway, and that should leave - you with:</para> + <para>If it is only one or two versions out of date + in the trailing digit then do not worry about copying + <filename>/lib/libc.so.4.6.29</filename> too, because + the program should work fine with the slightly older + version. However, if you like, you can decide to + replace the <filename>libc.so</filename> anyway, and + that should leave you with:</para> <screen>/compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> @@ -287,10 +306,10 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/ <blockquote> <note> <para>The symbolic link mechanism is - <emphasis>only</emphasis> needed for Linux binaries. The - FreeBSD runtime linker takes care of looking for matching - major revision numbers itself and you do not need to worry - about it.</para> + <emphasis>only</emphasis> needed for Linux binaries. + The FreeBSD runtime linker takes care of looking for + matching major revision numbers itself and you do not + need to worry about it.</para> </note> </blockquote> </informalexample> @@ -299,21 +318,23 @@ libc.so.4 (DLL Jump 4.5pl26) => /lib/ <sect2> <title>Installing Linux ELF Binaries</title> + <indexterm> <primary>Linux</primary> <secondary>ELF binaries</secondary> </indexterm> <para>ELF binaries sometimes require an extra step of - <quote>branding</quote>. If you attempt to run an unbranded ELF - binary, you will get an error message like the following:</para> + <quote>branding</quote>. If you attempt to run an unbranded + ELF binary, you will get an error message like the + following:</para> <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> ELF binary type not known Abort</screen> - <para>To help the FreeBSD kernel distinguish between a FreeBSD ELF - binary and a Linux binary, use the &man.brandelf.1; + <para>To help the FreeBSD kernel distinguish between a FreeBSD + ELF binary and a Linux binary, use the &man.brandelf.1; utility.</para> <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> @@ -327,19 +348,19 @@ Abort</screen> <sect2> <title>Installing a Random Linux RPM Based Application</title> - <para>FreeBSD has its own package database and it is used to track - all ports (&linux; ports as well). So the &linux; RPM database is not - used (not supported).</para> + <para>FreeBSD has its own package database and it is used to + track all ports (&linux; ports as well). So the &linux; RPM + database is not used (not supported).</para> - <para>However if you need to install a random &linux; RPM-based - application it can be achieved by:</para> + <para>However if you need to install a random &linux; + RPM-based application it can be achieved by:</para> <screen>&prompt.root; <userinput>cd /compat/linux</userinput> &prompt.root; <userinput>rpm2cpio -q < /path/to/linux.archive.rpm | cpio -id</userinput></screen> <para>Then brandelf installed ELF binaries (not libraries!). - You will not be able to do a clean uninstall, but it may help you - to do tests.</para> + You will not be able to do a clean uninstall, but it may + help you to do tests.</para> </sect2> <sect2> @@ -357,14 +378,16 @@ Abort</screen> <programlisting>order hosts, bind multi on</programlisting> - <para>The order here specifies that <filename>/etc/hosts</filename> - is searched first and DNS is searched second. When + <para>The order here specifies that + <filename>/etc/hosts</filename> is searched first and DNS + is searched second. When <filename>/compat/linux/etc/host.conf</filename> is not installed, Linux applications find FreeBSD's <filename>/etc/host.conf</filename> and complain about the incompatible FreeBSD syntax. You should remove - <literal>bind</literal> if you have not configured a name server - using the <filename>/etc/resolv.conf</filename> file.</para> + <literal>bind</literal> if you have not configured a name + server using the <filename>/etc/resolv.conf</filename> + file.</para> </sect2> </sect1> @@ -389,7 +412,8 @@ multi on</programlisting> version of <application>&mathematica; 5.X</application> onto a FreeBSD system.</para> - <para>The Linux version of <application>&mathematica;</application> + <para>The Linux version of + <application>&mathematica;</application> or <application>&mathematica; for Students</application> can be ordered directly from Wolfram at <ulink url="http://www.wolfram.com/"></ulink>.</para> @@ -433,9 +457,10 @@ multi on</programlisting> <para>The shell scripts that <application>&mathematica;</application> created during - installation have to be modified before you can use them. If - you chose <filename class="directory">/usr/local/bin</filename> - as the directory to place the + installation have to be modified before you can use them. + If you chose <filename + class="directory">/usr/local/bin</filename> as the directory + to place the <application>&mathematica;</application> executables in, you will find symlinks in this directory to files called <filename>math</filename>, <filename>mathematica</filename>, @@ -472,10 +497,10 @@ done</programlisting> <application>&mathematica;</application> on different machines.</para> - <para>When you register with Wolfram, either by email, phone or fax, - you will give them the <quote>machine ID</quote> and they will - respond with a corresponding password consisting of groups of - numbers.</para> + <para>When you register with Wolfram, either by email, phone + or fax, you will give them the <quote>machine ID</quote> and + they will respond with a corresponding password consisting + of groups of numbers.</para> </sect2> <sect2> @@ -483,25 +508,27 @@ done</programlisting> <para><application>&mathematica;</application> uses some special fonts to display characters not - present in any of the standard font sets (integrals, sums, Greek - letters, etc.). The X protocol requires these fonts to be install - <emphasis>locally</emphasis>. This means you will have to copy - these fonts from the CDROM or from a host with - <application>&mathematica;</application> - installed to your local machine. These fonts are normally stored - in <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> on the - CDROM, or - <filename>/usr/local/mathematica/SystemFiles/Fonts</filename> on - your hard drive. The actual fonts are in the subdirectories - <filename>Type1</filename> and <filename>X</filename>. There are - several ways to use them, as described below.</para> - - <para>The first way is to copy them into one of the existing font - directories in <filename>/usr/X11R6/lib/X11/fonts</filename>. - This will require editing the <filename>fonts.dir</filename> file, - adding the font names to it, and changing the number of fonts on - the first line. Alternatively, you should also just be able to - run &man.mkfontdir.1; in the directory you have copied + present in any of the standard font sets (integrals, sums, + Greek letters, etc.). The X protocol requires these fonts + to be install <emphasis>locally</emphasis>. This means you + will have to copy these fonts from the CDROM or from a host + with <application>&mathematica;</application> installed to + your local machine. These fonts are normally stored in + <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> on + the CDROM, or + <filename>/usr/local/mathematica/SystemFiles/Fonts</filename> + on your hard drive. The actual fonts are in the + subdirectories <filename>Type1</filename> and + <filename>X</filename>. There are several ways to use them, + as described below.</para> + + <para>The first way is to copy them into one of the existing + font directories in + <filename>/usr/X11R6/lib/X11/fonts</filename>. This will + require editing the <filename>fonts.dir</filename> file, + adding the font names to it, and changing the number of fonts + on the first line. Alternatively, you should also just be + able to run &man.mkfontdir.1; in the directory you have copied them to.</para> <para>The second way to do this is to copy the directories to @@ -524,14 +551,16 @@ done</programlisting> &prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput> &prompt.root; <userinput>xset fp rehash</userinput></screen> - <para>If you are using the <application>&xorg;</application> server, you can have these font - directories loaded automatically by adding them to your + <para>If you are using the <application>&xorg;</application> + server, you can have these font directories loaded + automatically by adding them to your <filename>xorg.conf</filename> file.</para> <indexterm><primary>fonts</primary></indexterm> - <para>If you <emphasis>do not</emphasis> already have a directory - called <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, you + <para>If you <emphasis>do not</emphasis> already have a + directory called + <filename>/usr/X11R6/lib/X11/fonts/Type1</filename>, you can change the name of the <filename>MathType1</filename> directory in the example above to <filename>Type1</filename>.</para> @@ -564,36 +593,40 @@ done</programlisting> <secondary><application>Maple</application></secondary> </indexterm> - <para><application>&maple;</application> is a commercial mathematics program similar to - <application>&mathematica;</application>. You must purchase this software from <ulink - url="http://www.maplesoft.com/"></ulink> and then register there - for a license file. To install this software on FreeBSD, please - follow these simple steps.</para> - - <procedure> - <step><para>Execute the <filename>INSTALL</filename> shell - script from the product distribution. Choose the - <quote>RedHat</quote> option when prompted by the - installation program. A typical installation directory - might be <filename + <para><application>&maple;</application> is a commercial + mathematics program similar to + <application>&mathematica;</application>. You must purchase + this software from <ulink + url="http://www.maplesoft.com/"></ulink> and then register + there for a license file. To install this software on FreeBSD, + please follow these simple steps.</para> + + <procedure> + <step><para>Execute the <filename>INSTALL</filename> shell + script from the product distribution. Choose the + <quote>RedHat</quote> option when prompted by the + installation program. A typical installation directory + might be <filename class="directory">/usr/local/maple</filename>.</para></step> - <step><para>If you have not done so, order a license for <application>&maple;</application> - from Maple Waterloo Software (<ulink url="http://register.maplesoft.com/"></ulink>) - and copy it to + <step><para>If you have not done so, order a license for + <application>&maple;</application> from Maple Waterloo + Software (<ulink + url="http://register.maplesoft.com/"></ulink>) and copy it + to <filename>/usr/local/maple/license/license.dat</filename>.</para></step> - <step><para>Install the <application>FLEXlm</application> + <step><para>Install the <application>FLEXlm</application> license manager by running the <filename>INSTALL_LIC</filename> install shell script that comes with <application>&maple;</application>. Specify the primary hostname for your machine for the license server.</para></step> - <step><para>Patch the - <filename>/usr/local/maple/bin/maple.system.type</filename> - file with the following:</para> -<programlisting> ----- snip ------------------ + <step><para>Patch the + <filename>/usr/local/maple/bin/maple.system.type</filename> + file with the following:</para> + <programlisting> ----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** @@ -608,18 +641,19 @@ done</programlisting> # We have two Linux implementations, one for Red Hat and ----- snip end of patch -----</programlisting> - <para>Please note that after the <literal>"FreeBSD"|\</literal> no other - whitespace should be present.</para> - - <para>This patch instructs <application>&maple;</application> to - recognize <quote>FreeBSD</quote> as a type of Linux system. - The <filename>bin/maple</filename> shell script calls the - <filename>bin/maple.system.type</filename> shell script - which in turn calls <command>uname -a</command> to find out the operating - system name. Depending on the OS name it will find out which - binaries to use.</para></step> + <para>Please note that after the + <literal>"FreeBSD"|\</literal> no other whitespace should + be present.</para> + + <para>This patch instructs <application>&maple;</application> + to recognize <quote>FreeBSD</quote> as a type of Linux + system. The <filename>bin/maple</filename> shell script + calls the <filename>bin/maple.system.type</filename> shell + script which in turn calls <command>uname -a</command> to + find out the operating system name. Depending on the OS + name it will find out which binaries to use.</para></step> - <step><para>Start the license server.</para> + <step><para>Start the license server.</para> <para>The following script, installed as <filename>/usr/local/etc/rc.d/lmgrd.sh</filename> is a @@ -653,29 +687,34 @@ exit 0 ----- snip ------------</programlisting></step> - <step><para>Test-start <application>&maple;</application>:</para> - <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput> + <step><para>Test-start + <application>&maple;</application>:</para> + + <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput> &prompt.user; <userinput>./xmaple</userinput></screen> - <para>You should be up and running. Make sure to write + <para>You should be up and running. Make sure to write Maplesoft to let them know you would like a native FreeBSD version!</para></step> - </procedure> + </procedure> - <sect2> - <title>Common Pitfalls</title> + <sect2> + <title>Common Pitfalls</title> - <itemizedlist> - <listitem><para>The <application>FLEXlm</application> license manager can be a difficult - tool to work with. Additional documentation on the subject - can be found at <ulink - url="http://www.globetrotter.com/"></ulink>.</para></listitem> - - <listitem><para><command>lmgrd</command> is known to be very picky - about the license file and to core dump if there are any - problems. A correct license file should look like this:</para> + <itemizedlist> + <listitem><para>The <application>FLEXlm</application> + license manager can be a difficult tool to work with. + Additional documentation on the subject can be found at + <ulink + url="http://www.globetrotter.com/"></ulink>.</para></listitem> + + <listitem><para><command>lmgrd</command> is known to be very + picky about the license file and to core dump if there + are any problems. A correct license file should look + like this:</para> -<programlisting># ======================================================= + <programlisting># +======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY @@ -687,27 +726,27 @@ FEATURE Maple maplelmg 2000.0831 permane ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX</programlisting> - <note><para>Serial number and key 'X''ed out. <hostid>chillig</hostid> is a - hostname.</para></note> - - <para>Editing the license file works as long as you do not - touch the <quote>FEATURE</quote> line (which is protected by the - license key).</para></listitem> - </itemizedlist> - </sect2> - </sect1> + <note><para>Serial number and key 'X''ed out. + <hostid>chillig</hostid> is a hostname.</para></note> - <sect1 id="linuxemu-matlab"> - <sect1info> - <authorgroup> - <author> - <firstname>Dan</firstname> - <surname>Pelleg</surname> - <contrib>Contributed by </contrib> - </author> + <para>Editing the license file works as long as you do not + touch the <quote>FEATURE</quote> line (which is protected + by the license key).</para></listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="linuxemu-matlab"> + <sect1info> + <authorgroup> + <author> + <firstname>Dan</firstname> + <surname>Pelleg</surname> + <contrib>Contributed by </contrib> + </author> <!-- daniel+handbook@pelleg.org --> - </authorgroup> - </sect1info> + </authorgroup> + </sect1info> <title>Installing &matlab;</title> <indexterm> @@ -721,11 +760,11 @@ FEATURE Maple maplelmg 2000.0831 permane <application>&java.virtual.machine;</application> (see <xref linkend="matlab-jre"/>).</para> - <para>The Linux version of <application>&matlab;</application> can be - ordered directly from The MathWorks at <ulink - url="http://www.mathworks.com"></ulink>. Make sure you also get - the license file or instructions how to create it. While you - are there, let them know you would like a native &os; + <para>The Linux version of <application>&matlab;</application> + can be ordered directly from The MathWorks at <ulink + url="http://www.mathworks.com"></ulink>. Make sure you also + get the license file or instructions how to create it. While + you are there, let them know you would like a native &os; version of their software.</para> <sect2> @@ -746,28 +785,31 @@ FEATURE Maple maplelmg 2000.0831 permane <tip> <para>The installer is graphical. If you get errors about not being able to open a display, type - <command>setenv HOME ~<replaceable>USER</replaceable></command>, - where <replaceable>USER</replaceable> is the user you did a - &man.su.1; as.</para> + <command>setenv HOME + ~<replaceable>USER</replaceable></command>, + where <replaceable>USER</replaceable> is the user you + did a &man.su.1; as.</para> </tip> </step> <step> <para> - When asked for the <application>&matlab;</application> root - directory, type: + When asked for the <application>&matlab;</application> + root directory, type: <userinput>/compat/linux/usr/local/matlab</userinput>.</para> <tip> <para>For easier typing on the rest of the installation process, type this at your shell prompt: - <command>set MATLAB=/compat/linux/usr/local/matlab</command></para> + <command>set + MATLAB=/compat/linux/usr/local/matlab</command></para> </tip> </step> <step> <para>Edit the license file as instructed when - obtaining the <application>&matlab;</application> license.</para> + obtaining the <application>&matlab;</application> + license.</para> <tip> <para>You can prepare this file in advance using your @@ -789,9 +831,11 @@ FEATURE Maple maplelmg 2000.0831 permane <sect2> <title>License Manager Startup</title> + <procedure> <step> - <para>Create symlinks for the license manager scripts:</para> + <para>Create symlinks for the license manager + scripts:</para> <screen>&prompt.root; <userinput>ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW</userinput> &prompt.root; <userinput>ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW</userinput></screen> @@ -801,9 +845,9 @@ FEATURE Maple maplelmg 2000.0831 permane <para>Create a startup file at <filename>/usr/local/etc/rc.d/flexlm.sh</filename>. The example below is a modified version of the distributed - <filename>$MATLAB/etc/rc.lm.glnx86</filename>. The changes - are file locations, and startup of the license manager - under Linux emulation.</para> + <filename>$MATLAB/etc/rc.lm.glnx86</filename>. The + changes are file locations, and startup of the license + manager under Linux emulation.</para> <programlisting>#!/bin/sh case "$1" in @@ -861,8 +905,7 @@ exit 0</programlisting> <procedure> <step> <para>Place the following startup script in - <filename>/usr/local/bin/matlab</filename>: - </para> + <filename>/usr/local/bin/matlab</filename>:</para> <programlisting>#!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"</programlisting> @@ -876,9 +919,9 @@ exit 0</programlisting> <tip> <para>Depending on your version of - <filename role="package">emulators/linux_base</filename>, you - may run into errors when running this script. To avoid that, - edit the file + <filename role="package">emulators/linux_base</filename>, + you may run into errors when running this script. To avoid + that, edit the file <filename>/compat/linux/usr/local/matlab/bin/matlab</filename>, and change the line that says:</para> @@ -915,14 +958,14 @@ exit 0</programlisting> your workspace before quitting. If you use either of them, insert the line above immediately after the <literal>save</literal> command.</para></tip> - </step> + </step> - <step> - <para>Create a file - <filename>$MATLAB/bin/finish.sh</filename>, which will - contain the following:</para> + <step> + <para>Create a file + <filename>$MATLAB/bin/finish.sh</filename>, which will + contain the following:</para> - <programlisting>#!/compat/linux/bin/sh + <programlisting>#!/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0</programlisting> </step> @@ -963,49 +1006,61 @@ exit 0</programlisting> <sect2> <title>Preface</title> - <para>This document describes the process of installing <application>&oracle; 8.0.5</application> and - <application>&oracle; 8.0.5.1 Enterprise Edition</application> for Linux onto a FreeBSD - machine.</para> + + <para>This document describes the process of installing + <application>&oracle; 8.0.5</application> and + <application>&oracle; 8.0.5.1 Enterprise Edition</application> + for Linux onto a FreeBSD machine.</para> </sect2> <sect2> <title>Installing the Linux Environment</title> - <para>Make sure you have both <filename role='package'>emulators/linux_base</filename> and - <filename role='package'>devel/linux_devtools</filename> from the Ports Collection - installed. If you run into difficulties with these ports, - you may have to use - the packages or older versions available in the Ports Collection.</para> + <para>Make sure you have both <filename + role='package'>emulators/linux_base</filename> and + <filename role='package'>devel/linux_devtools</filename> + from the Ports Collection installed. If you run into + difficulties with these ports, you may have to use the + packages or older versions available in the Ports + Collection.</para> <para>If you want to run the intelligent agent, you will also need to install the Red Hat Tcl package: - <filename>tcl-8.0.3-20.i386.rpm</filename>. The general command - for installing packages with the official <application>RPM</application> port (<filename role='package'>archivers/rpm</filename>) is:</para> + <filename>tcl-8.0.3-20.i386.rpm</filename>. The general + command for installing packages with the official + <application>RPM</application> port (<filename + role='package'>archivers/rpm</filename>) is:</para> <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen> - <para>Installation of the <replaceable>package</replaceable> should not generate any errors.</para> + <para>Installation of the <replaceable>package</replaceable> + should not generate any errors.</para> </sect2> <sect2> <title>Creating the &oracle; Environment</title> - <para>Before you can install <application>&oracle;</application>, you need to set up a proper - environment. This document only describes what to do - <emphasis>specially</emphasis> to run <application>&oracle;</application> for Linux on FreeBSD, not - what has been described in the <application>&oracle;</application> installation guide.</para> + <para>Before you can install + <application>&oracle;</application>, you need to set up a + proper environment. This document only describes what to do + <emphasis>specially</emphasis> to run + <application>&oracle;</application> for Linux on FreeBSD, not + what has been described in the + <application>&oracle;</application> installation guide.</para> <sect3 id="linuxemu-kernel-tuning"> - <title>Kernel Tuning</title> + <title>Kernel Tuning</title> + <indexterm><primary>kernel tuning</primary></indexterm> - <para>As described in the <application>&oracle;</application> installation guide, you need to set - the maximum size of shared memory. Do not use - <literal>SHMMAX</literal> under FreeBSD. <literal>SHMMAX</literal> - is merely calculated out of <literal>SHMMAXPGS</literal> and + <para>As described in the <application>&oracle;</application> + installation guide, you need to set the maximum size of + shared memory. Do not use <literal>SHMMAX</literal> under + FreeBSD. <literal>SHMMAX</literal> is merely calculated + out of <literal>SHMMAXPGS</literal> and <literal>PGSIZE</literal>. Therefore define - <literal>SHMMAXPGS</literal>. All other options can be used as - described in the guide. For example:</para> + <literal>SHMMAXPGS</literal>. All other options can be + used as described in the guide. For example:</para> <programlisting>options SHMMAXPGS=10000 options SHMMNI=100 @@ -1014,38 +1069,43 @@ options SEMMNS=200 options SEMMNI=70 options SEMMSL=61</programlisting> - <para>Set these options to suit your intended use of <application>&oracle;</application>.</para> + <para>Set these options to suit your intended use of + <application>&oracle;</application>.</para> - <para>Also, make sure you have the following options in your kernel - configuration file:</para> + <para>Also, make sure you have the following options in your + kernel configuration file:</para> -<programlisting>options SYSVSHM #SysV shared memory + <programlisting>options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication</programlisting> </sect3> <sect3 id="linuxemu-oracle-account"> - <title>&oracle; Account</title> + <title>&oracle; Account</title> - <para>Create an <username>oracle</username> account just as you would create any other - account. The <username>oracle</username> account is special only that you need to give - it a Linux shell. Add <literal>/compat/linux/bin/bash</literal> to - <filename>/etc/shells</filename> and set the shell for the <username>oracle</username> - account to <filename>/compat/linux/bin/bash</filename>.</para> + <para>Create an <username>oracle</username> account just as + you would create any other account. The + <username>oracle</username> account is special only that + you need to give it a Linux shell. Add + <literal>/compat/linux/bin/bash</literal> to + <filename>/etc/shells</filename> and set the shell for + the <username>oracle</username> account to + <filename>/compat/linux/bin/bash</filename>.</para> </sect3> <sect3 id="linuxemu-environment"> - <title>Environment</title> + <title>Environment</title> - <para>Besides the normal <application>&oracle;</application> variables, such as - <envar>ORACLE_HOME</envar> and <envar>ORACLE_SID</envar> you must - set the following environment variables:</para> + <para>Besides the normal <application>&oracle;</application> + variables, such as <envar>ORACLE_HOME</envar> and + <envar>ORACLE_SID</envar> you must set the following + environment variables:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> - <colspec colwidth="1*"/> - <colspec colwidth="2*"/> + <colspec colwidth="1*"/> + <colspec colwidth="2*"/> <thead> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301241503.r0OF3U5J077013>