|
![]() ![]() ![]() |
The shmget(2) interfaces are not always used on HP-UX, even though they exist, as anonymous memory allocated using shmget(2) cannot be used to store the standard HP-UX msemaphore semaphores. For this reason, it may not be possible to specify the DB_SYSTEM_MEM flag on some versions of HP-UX.
In addition, it is not possible to store the standard HP-UX msemaphore semaphores in memory returned by malloc(3). For this reason, it may not be possible to specify both the DB_PRIVATE and DB_THREAD flags on some versions of HP-UX.
Special compile-time flags are required when compiling threaded applications on HP-UX. If you are compiling a threaded application, you must compile with the _REENTRANT flag:
cc -D_REENTRANT ...
The Berkeley DB library will automatically build with the correct options.
Due to the constraints of the PA-RISC memory architecture, HP-UX does not allow a process to map a file into its address space multiple times. For this reason, each Berkeley DB environment may be opened only once by a process on HP-UX, i.e., calls to DBENV->open will fail if the specified Berkeley DB environment has been opened and not subsequently closed.
#error "Large Files (ILP32) not supported in strict ANSI mode."
We believe this is an error in the HP-UX include files, but we don't really understand it. The only workaround we have found is to add -D__STDC_EXT__ to the C preprocessor defines as part of compilation.
![]() ![]() ![]() |