summaryrefslogtreecommitdiff
path: root/docs/installation/build_unix_macosx.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/installation/build_unix_macosx.html')
-rw-r--r--docs/installation/build_unix_macosx.html108
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 &amp;&amp; -1) print $1 }' &lt;
-/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 &amp;&amp; -1) print $1 }' &lt;
- /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>