summaryrefslogtreecommitdiff
path: root/docs/installation/build_wince_faq.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/installation/build_wince_faq.html')
-rw-r--r--docs/installation/build_wince_faq.html185
1 files changed, 151 insertions, 34 deletions
diff --git a/docs/installation/build_wince_faq.html b/docs/installation/build_wince_faq.html
index e5f64528..c22b356e 100644
--- a/docs/installation/build_wince_faq.html
+++ b/docs/installation/build_wince_faq.html
@@ -9,12 +9,12 @@
<link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
<link rel="up" href="build_wince.html" title="Chapter 6.  Building Berkeley DB for Windows Mobile" />
<link rel="prev" href="build_wince_notes.html" title="Windows Mobile notes" />
- <link rel="next" href="build_unix.html" title="Chapter 7.  Building Berkeley DB for UNIX/POSIX" />
+ <link rel="next" href="build_winec_intro.html" title="Building for Windows Embedded Compact 7" />
</head>
<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,10 +22,8 @@
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="build_wince_notes.html">Prev</a> </td>
- <th width="60%" align="center">Chapter 6. 
- Building Berkeley DB for Windows Mobile
- </th>
- <td width="20%" align="right"> <a accesskey="n" href="build_unix.html">Next</a></td>
+ <th width="60%" align="center">Chapter 6.  Building Berkeley DB for Windows Mobile </th>
+ <td width="20%" align="right"> <a accesskey="n" href="build_winec_intro.html">Next</a></td>
</tr>
</table>
<hr />
@@ -40,58 +38,178 @@
</div>
<div class="orderedlist">
<ol type="1">
+ <li><span class="bold"><strong>What if my Windows Mobile device
+ does not support SetFilePointer and/or
+ SetEndOfFile?</strong></span><p>
+ You can manually disable the truncate functionality
+ from the build.
+ </p><p>
+ Do that by opening the
+ <code class="filename">db-X.X.X/build_wince/db_config.h</code>
+ file, and change the line that reads
+ </p><pre class="programlisting">#define HAVE_FTRUCATE 1</pre>
+ to read
+ <pre class="programlisting">#undef HAVE_FTRUNCATE</pre><p>
+ Making this change disables <a href="../api_reference/C/dbcompact.html" class="olink">DB-&gt;compact()</a> for btree
+ databases.
+ </p></li>
<li>
<span class="bold">
- <strong>What if my Windows Mobile device does not support SetFilePointer and/or SetEndOfFile?</strong>
+ <strong>Why doesn't automatic log archiving work?</strong>
</span>
- <p>You can manually disable the truncate functionality from the build.</p>
- <p>Do that by opening the <code class="filename">db-X.X.X/build_wince/db_config.h</code> file, and change the line that reads </p>
- <pre class="programlisting">#define HAVE_FTRUCATE 1</pre>
- <p> to read </p>
- <pre class="programlisting">#undef HAVE_FTRUNCATE</pre>
- <p>Making this change disables <a href="../api_reference/C/dbcompact.html" class="olink">DB-&gt;compact()</a> for btree databases.</p>
+ <p>
+ The Windows Mobile platform does not have a concept
+ of a working directory. This means that the
+ <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_REMOVE" class="olink">DB_ARCH_REMOVE</a> and <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_ABS" class="olink">DB_ARCH_ABS</a> flags do not work
+ properly within Windows Mobile, because they rely on
+ having a working directory.
+ </p>
+ <p>
+ To work around this issue, you can call log_archive
+ with the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_LOG" class="olink">DB_ARCH_LOG</a> flag, the list of returned file
+ handles will not contain absolute paths. Your
+ application can take this list of files, construct
+ absolute paths, and delete the files.
+ </p>
</li>
<li>
<span class="bold">
- <strong>Why doesn't automatic log archiving work?</strong>
+ <strong>Does Berkeley DB support Windows Mobile?</strong>
</span>
- <p>The Windows Mobile platform does not have a concept of a working directory. This means that the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_REMOVE" class="olink">DB_ARCH_REMOVE</a> and <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_ABS" class="olink">DB_ARCH_ABS</a> flags do not work properly within Windows Mobile, because they rely on having a working directory.</p>
- <p> To work around this issue, you can call log_archive with the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_LOG" class="olink">DB_ARCH_LOG</a> flag, the list of returned file handles will not contain absolute paths. Your application can take this list of files, construct absolute paths, and delete the files.</p>
+ <p>
+ Yes.
+ </p>
+ <p>
+ Berkeley DB relies on a subset of the Windows API,
+ and some standard C library APIs. These are provided
+ by Windows CE. Windows Mobile is built "on top" of
+ Windows CE.
+ </p>
</li>
<li>
<span class="bold">
- <strong>Does Berkeley DB support Windows Mobile?</strong>
+ <strong>Does Berkeley DB support Windows CE?</strong>
</span>
<p>Yes. </p>
- <p>Berkeley DB relies on a subset of the Windows API, and some standard C library APIs. These are provided by Windows CE. Windows Mobile is built "on top" of Windows CE.</p>
+ <p>
+ Berkeley DB relies on a subset of the Windows API,
+ and some standard C library APIs. These are provided
+ by Windows CE.
+ </p>
</li>
<li>
<span class="bold">
- <strong>Does Berkeley DB support Windows CE?</strong>
+ <strong>Does Berkeley DB support Windows Embedded
+ Compact 7?</strong>
</span>
<p>Yes. </p>
- <p>Berkeley DB relies on a subset of the Windows API, and some standard C library APIs. These are provided by Windows CE.</p>
+ <p>
+ Starting from release 12.1.6.1, it is possible to build Berkeley DB
+ on Windows Embedded Compact 7. Below are tips for the build process:
+ </p>
+ <div class="orderedlist">
+ <ol type="a">
+ <li>
+ <span class="emphasis">
+ <em>Compile error at line 146 in stdlib.h</em>
+ </span>
+ <p>
+ This is a known bug for the Windows Embedded Compact 7 SDK.
+ A workaround is to change the line 146 in stdlib.h to read:
+ </p>
+ <pre class="programlisting">__checkReturn __bcount(_Size) void * __cdecl _alloca(__in size_t
+_Size);</pre>
+ </li>
+ <li>
+ <span class="emphasis">
+ <em>error LNK2019: unresolved external symbol _localtime_s referenced in function _osLocaltime</em>
+ </span>
+ <p>
+ This link error is caused by the fact that the Windows
+ Embedded Compact 7 runtime used to link Berkeley DB does not
+ provide the localtime_s() function. A workaround is to add
+ </p>
+ <pre class="programlisting">HAVE_LOCALTIME_S=0</pre>
+ <p>
+ to the proprocessor definitions of the db_sql project. This
+ can be done by right clicking the db_sql project, select
+ Properties-&gt;Configuration Properties-&gt;C/C++-&gt;Preprocessor-&gt;Proprocessor Definitions,
+ and append </p>
+ <pre class="programlisting">HAVE_LOCALTIME_S=0</pre>
+ <p>
+ at the end of the list.
+ </p>
+ </li>
+ <li>
+ <span class="emphasis">
+ <em>error LNK1221: a subsystem can't be inferred and must be defined</em>
+ </span>
+ <p>
+ This link error happens on Visual Studio 2008, because it
+ cannot understand the subsystem configured for Visual
+ Studio 2005. To fix this error, right click the project
+ reporting this link error, select Properties-&gt;Configuration Properties-&gt;
+ Linker-&gt;System-&gt;SubSystem, and change the value to WindowsCE (/SUBSYSTEM:WINDOWSCE).
+ </p>
+ </li>
+ <li>
+ <span class="emphasis">
+ <em>warning C4996: 'xxx': This function or variable may be unsafe.</em>
+ </span>
+ <p>
+ Used within the Berkeley DB source tree, these functions are actually safe.
+ You can safely ignore these warnings.
+ </p>
+ </li>
+ </ol>
+ </div>
</li>
<li>
<span class="bold">
- <strong>What platforms are the supplied sample applications designed for?</strong>
+ <strong>What platforms are the supplied
+ sample applications designed for?</strong>
</span>
- <p>The supplied sample applications were developed for the Pocket PC 2003 emulator. They are known to work on real pocket PC devices and later versions of the emulator as well.</p>
- <p>The supplied applications are not designed to work with Smartphone devices. The screen size and input mechanisms are not compatible.</p>
+ <p>
+ The supplied sample applications were developed for
+ the Pocket PC 2003 emulator. They are known to work on
+ real pocket PC devices and later versions of the
+ emulator as well.
+ </p>
+ <p>
+ The supplied applications are not designed to work
+ with Smartphone devices. The screen size and input
+ mechanisms are not compatible.
+ </p>
</li>
<li>
<span class="bold">
- <strong>I see a file mapping error when opening a Berkeley DB environment or database. What is wrong?</strong>
+ <strong>I see a file mapping error when
+ opening a Berkeley DB environment or database. What is
+ wrong?</strong>
</span>
- <p>The default behavior of Berkeley DB is to use memory mapped files in the environment. Windows Mobile does not allow memory mapped files to be created on flash storage.</p>
- <p>There are two workarounds:</p>
+ <p>
+ The default behavior of Berkeley DB is to use memory
+ mapped files in the environment. Windows Mobile does
+ not allow memory mapped files to be created on flash
+ storage.
+ </p>
+ <p>
+ There are two workarounds:
+ </p>
<div class="orderedlist">
<ol type="a">
<li>
- Configure the Berkeley DB environment not to use memory mapped files. The options are discussed in detail in
- <a href="../programmer_reference/env_region.html" class="olink">Shared memory region</a>.
- </li>
- <li>Create the Berkeley DB environment on non-flash storage. It is possible to store database and log files in a different location to using the <a href="../api_reference/C/envset_data_dir.html" class="olink">DB_ENV-&gt;set_data_dir()</a> and <a href="../api_reference/C/envset_lg_dir.html" class="olink">DB_ENV-&gt;set_lg_dir()</a> APIs.</li>
+ Configure the Berkeley DB environment not
+ to use memory mapped files. The options are
+ discussed in detail in <a href="../programmer_reference/env_region.html" class="olink">Shared memory region</a>.
+ </li>
+ <li>
+ Create the Berkeley DB environment on
+ non-flash storage. It is possible to store
+ database and log files in a different location to
+ using the <a href="../api_reference/C/envadd_data_dir.html" class="olink">DB_ENV-&gt;add_data_dir()</a> and <a href="../api_reference/C/envset_lg_dir.html" class="olink">DB_ENV-&gt;set_lg_dir()</a>
+ APIs.
+ </li>
</ol>
</div>
</li>
@@ -106,16 +224,15 @@
<td width="20%" align="center">
<a accesskey="u" href="build_wince.html">Up</a>
</td>
- <td width="40%" align="right"> <a accesskey="n" href="build_unix.html">Next</a></td>
+ <td width="40%" align="right"> <a accesskey="n" href="build_winec_intro.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Windows Mobile notes </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
- <td width="40%" align="right" valign="top"> Chapter 7. 
- Building Berkeley DB for UNIX/POSIX
- </td>
+ <td width="40%" align="right" valign="top"> Building for Windows
+ Embedded Compact 7</td>
</tr>
</table>
</div>