summaryrefslogtreecommitdiff
path: root/docs/installation/build_unix_aix.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/installation/build_unix_aix.html')
-rw-r--r--docs/installation/build_unix_aix.html183
1 files changed, 124 insertions, 59 deletions
diff --git a/docs/installation/build_unix_aix.html b/docs/installation/build_unix_aix.html
index 498038c2..00587363 100644
--- a/docs/installation/build_unix_aix.html
+++ b/docs/installation/build_unix_aix.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_notes.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_freebsd.html">Next</a></td>
</tr>
</table>
@@ -42,94 +41,160 @@
<ol type="1">
<li>
<span class="bold">
- <strong>I can't compile and run multithreaded applications.</strong>
+ <strong>I can't compile and run
+ multithreaded applications.</strong>
</span>
- <p>Special compile-time flags are required when compiling threaded
-applications on AIX. If you are compiling a threaded application, you
-must compile with the _THREAD_SAFE flag and load with specific
-libraries; for example, "-lc_r". Specifying the compiler name with a
-trailing "_r" usually performs the right actions for the system.</p>
+ <p>
+ Special compile-time flags are required when
+ compiling threaded applications on AIX. If you are
+ compiling a threaded application, you must compile
+ with the _THREAD_SAFE flag and load with specific
+ libraries; for example, "-lc_r". Specifying the
+ compiler name with a trailing "_r" usually performs
+ the right actions for the system.
+ </p>
<pre class="programlisting">xlc_r ...
cc -D_THREAD_SAFE -lc_r ...</pre>
- <p>The Berkeley DB library will automatically build with the correct options.</p>
+ <p>
+ The Berkeley DB library will automatically build
+ with the correct options.
+ </p>
</li>
<li>
<span class="bold">
- <strong>I can't run using the <a href="../api_reference/C/envopen.html#envopen_DB_SYSTEM_MEM" class="olink">DB_SYSTEM_MEM</a> option to
-<a href="../api_reference/C/envopen.html" class="olink">DB_ENV-&gt;open()</a>.</strong>
+ <strong>I can't run using the
+ <a href="../api_reference/C/envopen.html#envopen_DB_SYSTEM_MEM" class="olink">DB_SYSTEM_MEM</a> option to <a href="../api_reference/C/envopen.html" class="olink">DB_ENV-&gt;open()</a>.</strong>
</span>
- <p>AIX 4.1 allows applications to map only 10 system shared memory
-segments. In AIX 4.3, this has been raised to 256K segments, but only
-if you set the environment variable "export EXTSHM=ON".</p>
+ <p>
+ AIX 4.1 allows applications to map only 10 system
+ shared memory segments. In AIX 4.3, this has been
+ raised to 256K segments, but only if you set the
+ environment variable "export EXTSHM=ON".
+ </p>
</li>
<li>
<span class="bold">
- <strong>On AIX 4.3.2 (or before) I see duplicate symbol warnings when
-building the C++ shared library and when linking applications.</strong>
+ <strong>On AIX 4.3.2 (or before) I see
+ duplicate symbol warnings when building the C++ shared
+ library and when linking applications.</strong>
</span>
- <p>We are aware of some duplicate symbol warnings with this platform,
-but they do not appear to affect the correct operation of applications.</p>
+ <p>
+ We are aware of some duplicate symbol warnings with
+ this platform, but they do not appear to affect the
+ correct operation of applications.
+ </p>
</li>
<li>
<span class="bold">
- <strong>On AIX 4.3.3 I see undefined symbols for DbEnv::set_error_stream,
-Db::set_error_stream or DbEnv::verify when linking C++ applications.
-(These undefined symbols also appear when building the Berkeley DB C++ example
-applications).</strong>
+ <strong>On AIX 4.3.3 I see undefined symbols
+ for DbEnv::set_error_stream, Db::set_error_stream or
+ DbEnv::verify when linking C++ applications. (These
+ undefined symbols also appear when building the
+ Berkeley DB C++ example applications).</strong>
</span>
- <p>By default, Berkeley DB is built with _LARGE_FILES set to 1 to support the
-creation of "large" database files. However, this also affects how
-standard classes, like iostream, are named internally. When building
-your application, use a "-D_LARGE_FILES=1" compilation option, or insert
-"#define _LARGE_FILES 1" before any #include statements.</p>
+ <p>
+ By default, Berkeley DB is built with _LARGE_FILES
+ set to 1 to support the creation of "large" database
+ files. However, this also affects how standard
+ classes, like iostream, are named internally. When
+ building your application, use a "-D_LARGE_FILES=1"
+ compilation option, or insert "#define _LARGE_FILES 1"
+ before any #include statements.
+ </p>
</li>
<li>
<span class="bold">
- <strong>I can't create database files larger than 1GB on AIX.</strong>
+ <strong>I can't create database files larger
+ than 1GB on AIX.</strong>
</span>
- <p>If you're running on AIX 4.1 or earlier, try changing the source code
-for <code class="filename">os/os_open.c</code> to always specify the <span class="bold"><strong>O_LARGEFILE</strong></span>
-flag to the <code class="literal">open</code>(2) system call, and recompile Berkeley DB from
-scratch.</p>
- <p>Also, the documentation for the IBM Visual Age compiler states that it
-does not not support the 64-bit filesystem APIs necessary for creating
-large files; the ibmcxx product must be used instead. We have not heard
-whether the GNU gcc compiler supports the 64-bit APIs or not.</p>
- <p>Finally, to create large files under AIX, the filesystem has to be
-configured to support large files and the system wide user hard-limit
-for file sizes has to be greater than 1GB.</p>
+ <p>
+ If you're running on AIX 4.1 or earlier, try
+ changing the source code for
+ <code class="filename">os/os_open.c</code> to always
+ specify the <span class="bold"><strong>O_LARGEFILE</strong></span> flag to the
+ <code class="literal">open</code>(2) system call, and
+ recompile Berkeley DB from scratch.
+ </p>
+ <p>
+ Also, the documentation for the IBM Visual Age
+ compiler states that it does not not support the
+ 64-bit filesystem APIs necessary for creating large
+ files; the ibmcxx product must be used instead. We
+ have not heard whether the GNU gcc compiler supports
+ the 64-bit APIs or not.
+ </p>
+ <p>
+ Finally, to create large files under AIX, the
+ filesystem has to be configured to support large files
+ and the system wide user hard-limit for file sizes has
+ to be greater than 1GB.
+ </p>
</li>
<li>
<span class="bold">
- <strong>I see errors about "open64" when building Berkeley DB applications.</strong>
+ <strong>I see errors about "open64" when
+ building Berkeley DB applications.</strong>
</span>
- <p>System include files (most commonly fcntl.h) in some releases of AIX
-and Solaris redefine "open" when large-file support is enabled for
-applications. This causes problems when compiling applications because
-"open" is a method in the Berkeley DB APIs. To work around this problem:
-</p>
+ <p>
+ System include files (most commonly fcntl.h) in
+ some releases of AIX and Solaris redefine "open" when
+ large-file support is enabled for applications. This
+ causes problems when compiling applications because
+ "open" is a method in the Berkeley DB APIs. To work
+ around this problem:
+ </p>
<div class="orderedlist">
<ol type="a">
- <li>Avoid including the problematical system include files in source code
-files which also include Berkeley DB include files and call into the Berkeley DB
-API.</li>
- <li>Before building Berkeley DB, modify the generated include file db.h to itself
-include the problematical system include files.</li>
- <li>Turn off Berkeley DB large-file support by specifying the
-<a class="link" href="build_unix_conf.html#build_unix_conf.--disable-largefile">--disable-largefile</a> configuration option and rebuilding.</li>
+ <li>
+ Avoid including the problematical system
+ include files in source code files which also
+ include Berkeley DB include files and call into
+ the Berkeley DB API.
+ </li>
+ <li>
+ Before building Berkeley DB, modify the
+ generated include file db.h to itself include the
+ problematical system include files.
+ </li>
+ <li>
+ Turn off Berkeley DB large-file support by
+ specifying the <a class="link" href="build_unix_conf.html#build_unix_conf.--disable-largefile">--disable-largefile</a>
+ configuration option and rebuilding.
+ </li>
</ol>
</div>
</li>
<li>
<span class="bold">
- <strong>I see the error "Redeclaration of lseek64" when building Berkeley DB with the --enable-sql and --enable-test options.</strong>
+ <strong>I see the error "Redeclaration of
+ lseek64" when building Berkeley DB with the
+ --enable-sql and --enable-test options.</strong>
</span>
- <p>In some releases of AIX, the system include files (most commonly <code class="literal">unistd.h</code>) redefine <code class="literal">lseek</code> to <code class="literal">lseek64</code> when large-file support is enabled even though <code class="literal">lseek</code> may have already been defined when the <code class="literal">_LARGE_FILE_API</code> macro is on. To work around this problem, do either one of the following:
-</p>
+ <p>
+ In some releases of AIX, the system include files
+ (most commonly <code class="literal">unistd.h</code>) redefine
+ <code class="literal">lseek</code> to
+ <code class="literal">lseek64</code> when large-file support
+ is enabled even though <code class="literal">lseek</code> may
+ have already been defined when the
+ <code class="literal">_LARGE_FILE_API</code> macro is on. To
+ work around this problem, do either one of the
+ following:
+ </p>
<div class="orderedlist">
<ol type="a">
- <li>Disable large-file support in Berkeley DB by specifying the <code class="literal">--disable-largefile</code> configuration option and rebuilding. </li>
- <li>Edit <code class="literal">db.h</code> manually after running the configure command, and remove the line that includes <code class="literal">unistd.h</code>. </li>
+ <li>
+ Disable large-file support in Berkeley
+ DB by specifying the
+ <code class="literal">--disable-largefile</code>
+ configuration option and rebuilding.
+ </li>
+ <li>
+ Edit <code class="literal">db.h</code> manually
+ after running the configure command, and
+ remove the line that includes
+ <code class="literal">unistd.h</code>.
+ </li>
</ol>
</div>
</li>