![](http://www.gnu-darwin.org/hexley-gd-sm.png)
|
- Berkeley DB Reference Guide:
- Building Berkeley DB for UNIX systems
|
![Prev](../../images/prev.gif) ![Ref](../../images/ref.gif)
|
AIX
- I can't compile and run multithreaded applications.
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.
xlc_r ...
cc -D_THREAD_SAFE -lc_r ...
The Berkeley DB library will automatically build with the correct options.
- I can't run using the DB_SYSTEM_MEM option to
DB_ENV->open.
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".
- I can't create database files larger than 1GB on AIX.
If you're running on AIX 4.1 or earlier, try changing the source code
for os/os_open.c to always specify the O_LARGEFILE
flag to the open(2) system call, and recompile Berkeley DB from
scratch.
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.
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.
Copyright Sleepycat Software
|