diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
---|---|---|
committer | <> | 2015-03-17 16:26:24 +0000 |
commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /docs/installation/build_unix_aix.html | |
parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
download | berkeleydb-master.tar.gz |
Diffstat (limited to 'docs/installation/build_unix_aix.html')
-rw-r--r-- | docs/installation/build_unix_aix.html | 183 |
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->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->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> |