diff options
Diffstat (limited to 'docs/installation/build_unix_macosx.html')
-rw-r--r-- | docs/installation/build_unix_macosx.html | 108 |
1 files changed, 63 insertions, 45 deletions
diff --git a/docs/installation/build_unix_macosx.html b/docs/installation/build_unix_macosx.html index 95f9e868..b600cf5c 100644 --- a/docs/installation/build_unix_macosx.html +++ b/docs/installation/build_unix_macosx.html @@ -14,7 +14,7 @@ <body> <div xmlns="" class="navheader"> <div class="libver"> - <p>Library Version 11.2.5.3</p> + <p>Library Version 12.1.6.1</p> </div> <table width="100%" summary="Navigation header"> <tr> @@ -22,9 +22,8 @@ </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="build_unix_linux.html">Prev</a> </td> - <th width="60%" align="center">Chapter 7. - Building Berkeley DB for UNIX/POSIX - </th> + <th width="60%" align="center">Chapter 7. Building Berkeley DB for UNIX/POSIX + </th> <td width="20%" align="right"> <a accesskey="n" href="build_unix_qnx.html">Next</a></td> </tr> </table> @@ -42,52 +41,71 @@ <ol type="1"> <li> <span class="bold"> - <strong>When trying to link multiple Berkeley DB language interfaces (for -example, Tcl, C++, Java, Python) into a single process, I get "multiple -definitions" errors from dyld.</strong> + <strong>When trying to link multiple + Berkeley DB language interfaces (for example, Tcl, + C++, Java, Python) into a single process, I get + "multiple definitions" errors from dyld.</strong> </span> - <p>To fix this problem, set the environment variable MACOSX_DEPLOYMENT_TARGET -to 10.3 (or your current version of OS X), and reconfigure and rebuild -Berkeley DB from scratch. See the OS X ld(1) and dyld(1) man pages for information -about how OS X handles symbol namespaces, as well as undefined and -multiply-defined symbols.</p> + <p> + To fix this problem, set the environment variable + MACOSX_DEPLOYMENT_TARGET to 10.3 (or your current + version of OS X), and reconfigure and rebuild Berkeley + DB from scratch. See the OS X ld(1) and dyld(1) man + pages for information about how OS X handles symbol + namespaces, as well as undefined and multiply-defined + symbols. + </p> </li> <li> <span class="bold"> - <strong>When trying to use system-backed shared memory on OS X I see -failures about "too many open files".</strong> + <strong>When trying to use system-backed + shared memory on OS X I see failures about "too many + open files".</strong> </span> - <p>The default number of shared memory segments on OS X is too low. To fix -this problem, edit the file /etc/rc, changing the kern.sysv.shmmax and -kern.sysv.shmseg values as follows:</p> - <pre class="programlisting">*** /etc/rc.orig Fri Dec 19 09:34:09 2003 ---- /etc/rc Fri Dec 19 09:33:53 2003 -*************** -*** 84,93 **** - # System tuning - sysctl -w kern.maxvnodes=$(echo $(sysctl -n hw.physmem) '33554432 / -512 * 1024 +p'|dc) -! sysctl -w kern.sysv.shmmax=4194304 - sysctl -w kern.sysv.shmmin=1 - sysctl -w kern.sysv.shmmni=32 -! sysctl -w kern.sysv.shmseg=8 - sysctl -w kern.sysv.shmall=1024 - if [ -f /etc/sysctl-macosxserver.conf ]; then - awk '{ if (!-1 && -1) print $1 }' < -/etc/sysctl-macosxserver.conf | while read ---- 84,93 ---- - # System tuning - sysctl -w kern.maxvnodes=$(echo $(sysctl -n hw.physmem) '33554432 / -512 * 1024 +p'|dc) -! sysctl -w kern.sysv.shmmax=134217728 - sysctl -w kern.sysv.shmmin=1 - sysctl -w kern.sysv.shmmni=32 -! sysctl -w kern.sysv.shmseg=32 - sysctl -w kern.sysv.shmall=1024 - if [ -f /etc/sysctl-macosxserver.conf ]; then - awk '{ if (!-1 && -1) print $1 }' < - /etc/sysctl-macosxserver.conf | while read</pre> - <p>and then reboot the system.</p> + <p> + The default number of shared memory segments on OS + X is too low. To fix this problem, create a file named + <code class="literal">/etc/sysctl.conf</code>, containing the + variable assignments: + </p> + <pre class="programlisting">kern.sysv.shmmax=134217728 +kern.sysv.shmmin=1 +kern.sysv.shmmni=32 +kern.sysv.shmseg=32 +kern.sysv.shmall=1024</pre> + <p> + and then reboot the system. + </p> + <p> + Check the version of OS X carefully because some + versions require all five parameters to be set. + </p> + <p> + The <code class="literal">SHMMAX</code> variable should be set to a value + that is an exact multiple of 4096. Some versions of + OS X ignore the value if it is not an exact multiple. + </p> + <p> + Please check and verify with the OS X documentation + on the proper setting of these parameters. In some + cases a reboot is necessary and in others it is possible + to change them dynamically using <code class="literal">sysctl</code>. + </p> + <p> + The <code class="literal">/etc/sysctl.conf</code> file exists in OS X + 10.3.9 and later. If you are running a version of OS X + previous to 10.3.x, edit the <code class="literal">/etc/rc</code> + file and change the values in the following commands: + </p> + <pre class="programlisting">sysctl -w kern.sysv.shmmax=134217728 +sysctl -w kern.sysv.shmseg=32</pre> + <p> + and then reboot the system. + </p> + <p> + OS X system updates will overwrite <code class="literal">/etc/rc</code> + so any changes to the file must be redone after sytem updates. + </p> </li> </ol> </div> |