File: solaris.html

package info (click to toggle)
evolution-data-server 1.0.4-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 39,504 kB
  • ctags: 26,423
  • sloc: ansic: 175,347; tcl: 30,499; sh: 20,699; perl: 11,320; xml: 9,039; java: 7,653; cpp: 6,029; makefile: 4,866; awk: 1,338; yacc: 1,103; sed: 772; cs: 505; lex: 134; asm: 14
file content (97 lines) | stat: -rw-r--r-- 5,497 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!--$Id: solaris.html,v 1.1.1.1 2003/11/20 22:14:11 toshok Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB Reference Guide: Solaris</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Building Berkeley DB for UNIX systems</dl></h3></td>
<td align=right><a href="../../ref/build_unix/sco.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/build_unix/sunos.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p>
<h1 align=center>Solaris</h1>
<p><ol>
<p><li><b>I can't compile and run multithreaded applications.</b>
<p>Special compile-time flags and additional libraries are required when
compiling threaded applications on Solaris.  If you are compiling a
threaded application, you must compile with the D_REENTRANT flag and link
with the libpthread.a or libthread.a libraries:
<p><blockquote><pre>cc -mt ...
cc -D_REENTRANT ... -lthread
cc -D_REENTRANT ... -lpthread</pre></blockquote>
<p>The Berkeley DB library will automatically build with the correct options.
<hr size=1 noshade>
<p><li><b>I've installed gcc on my Solaris system, but configuration
fails because the compiler doesn't work.</b>
<p>On some versions of Solaris, there is a cc executable in the user's path,
but all it does is display an error message and fail:
<p><blockquote><pre>% which cc
/usr/ucb/cc
% cc
/usr/ucb/cc: language optional software package not installed</pre></blockquote>
<p>Because Berkeley DB always uses the native compiler in preference to gcc, this
is a fatal error.  If the error message you are seeing is the following,
then this may be the problem:
<p><blockquote><pre>checking whether the C compiler (cc -O) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.</pre></blockquote>
<p>The simplest workaround is to set your CC environment variable to the
system compiler and reconfigure; for example:
<p><blockquote><pre>env CC=gcc ../dist/configure</pre></blockquote>
<p>If you are using the --configure-cxx option, you may also want to specify
a C++ compiler, for example the following:
<p><blockquote><pre>env CC=gcc CCC=g++ ../dist/configure</pre></blockquote>
<hr size=1 noshade>
<p><li><b>I see the error
"libc internal error: _rmutex_unlock: rmutex not held", followed by a core
dump when running threaded or JAVA programs.</b>
<p>This is a known bug in Solaris 2.5 and it is fixed by Sun patch 103187-25.
<hr size=1 noshade>
<p><li><b>I see error reports of nonexistent files, corrupted metadata
pages and core dumps.</b>
<p>Solaris 7 contains a bug in the threading libraries (-lpthread,
-lthread), which causes the wrong version of the pwrite routine to be
linked into the application if the thread library is linked in after
the C library.  The result will be that the pwrite function is called
rather than the pwrite64.  To work around the problem, use an explicit
link order when creating your application.
<p>Sun Microsystems is tracking this problem with Bug Id's 4291109 and 4267207,
and patch 106980-09 to Solaris 7 fixes the problem:
<p><blockquote><pre>Bug Id: 4291109
Duplicate of: 4267207
Category: library
Subcategory: libthread
State: closed
Synopsis: pwrite64 mapped to pwrite
Description:
When libthread is linked after libc, there is a table of functions in
libthread that gets "wired into" libc via _libc_threads_interface().
The table in libthread is wrong in both Solaris 7 and on28_35 for the
TI_PWRITE64 row (see near the end).</pre></blockquote>
<hr size=1 noshade>
<p><li><b>I see corrupted databases when doing hot backups or creating
a hot failover archive.</b>
<p>The Solaris cp utility is implemented using the mmap system call, and
so writes are not blocked when it reads database pages.  See
<a href="../../ref/transapp/reclimit.html">Berkeley DB recoverability</a> for more
information.
<hr size=1 noshade>
<p><li><b>I see errors about "open64" when building C++ applications.</b>
<p>In some releases of Solaris, include files redefine "open" when big-file
support (the HAVE_FILE_OFFSET_BITS and _FILE_OFFSET_BITS #defines) is
enabled.  This causes problems when compiling for C++, where "open" is
a legal identifier used in the Berkeley DB C++ API.  To work around this
problem, avoid including those include files in C++ files which also
include Berkeley DB include files and call into the Berkeley DB API, or specify the
<a href="../../ref/build_unix/conf.html#--disable-largefile">--disable-largefile</a> configuration option and then rebuild.
</ol>
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/build_unix/sco.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/build_unix/sunos.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>