Thanks Troy, <div><br></div><div>I&#39;m now able to use your prebuilt libsword.so library in my android application. This will at least let me continue building the Android app I had in mind initially.<div><br></div><div>
However I would still like to learn how to at least build the library on my own, I&#39;d like to help as much as I can as well, but I figure getting it to build is a good first step.</div><div><br></div><div>I moved my code to the following directories:</div>
<div>/usr/src/bishop</div><div>/usr/src/sword</div><div>/usr/src/android-ndk-r3-crystax</div><div><br></div><div>Now it compiles a bit farther, but it still throws an error:</div><div><div>Compile thumb  : swordcore &lt;= apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c</div>
<div>apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c:177:19: error: regex.h: No such file or directory</div></div><div>apps/bishop/../../../bishop/jni/../../../src/utilfuns/regex.c:942: error: expected &#39;=&#39;, &#39;,&#39;, &#39;;&#39;, &#39;asm&#39; or &#39;__attribute__&#39; before &#39;re_syntax_options&#39;</div>
<div><br></div><div>Other errors follow, but I assume they are cascading from these.</div><div><br clear="all">-Wes<br>
<br><br><div class="gmail_quote">On Sun, Apr 18, 2010 at 8:01 PM, Troy A. Griffitts <span dir="ltr">&lt;<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Yes, unless you want to rebuild libsword.so, you don&#39;t need the ndk.<br>
Simply place libsword.so at:<br>
<br>
bishop/libs/armeabi/libsword.so<br>
<br>
<br>
But again, the most useful thing at this stage would be to help me<br>
stabilize libsword.so<br>
<br>
But I understand if you&#39;d rather work on your frontend.  I&#39;ll keep you<br>
posted on my progress with libsword.so for android.<br>
<br>
The issues you&#39;ve posted below seem to have something to do with your<br>
paths.  Maybe you could try putting things relative to the same place I<br>
have my stuff.  It is quite possible I have a path setup somewhere which<br>
depends on my directory structure.<br>
<br>
/home/scribe/src/sword/<br>
/home/scribe/src/bishop/<br>
/home/scribe/android-ndk-r3-crystax/<br>
/home/scribe/android-ndk-r3-crystax/apps/bishop/Application.mk<br>
<br>
with:<br>
<div class="im"><br>
APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop<br>
APP_MODULES      := sword swordcore<br>
APP_PLATFORM     := android-3<br>
<br>
<br>
</div>I&#39;m sure you could change /home/scribe to your $HOME, but maybe try to<br>
put everything else relative to your home like mine and see if it works.<br>
 Once we get your setup working maybe we can determine which component<br>
is counting on another being at a certain location, and if we can easily<br>
break that requirement.<br>
<br>
Troy<br>
<div><div></div><div class="h5"><br>
<br>
<br>
Wes Widner wrote:<br>
&gt; Troy,<br>
&gt;<br>
&gt; Thank you VERY much for pointing me in the right direction.<br>
&gt;<br>
&gt; I&#39;ve gotten crystax and have created a test project of my own. But when<br>
&gt; I attempt to run &#39;make APP=bishop&#39; (I named my test app bishop as well)<br>
&gt; I get the following:<br>
&gt; Android NDK: Building for application &#39;bishop&#39;<br>
&gt; Compile++ thumb: sword &lt;= /usr/src/bishop/jni/swordstub.cpp<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:25:21: warning: utilstr.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:26:23: warning: swversion.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:27:19: warning: swmgr.h: No such file<br>
&gt; or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:28:19: warning: swlog.h: No such file<br>
&gt; or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:29:21: warning: filemgr.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:30:22: warning: swmodule.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:31:22: warning: versekey.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:32:23: warning: localemgr.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:33:24: warning: treekeyidx.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:34:24: warning: installmgr.h: No such<br>
&gt; file or directory<br>
&gt; In file included from /usr/src/bishop/jni/swordstub.cpp:36:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:23:22: warning: swfilter.h: No such file<br>
&gt; or directory<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:24:27: warning: markupfiltmgr.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:25:24: warning: osiswordjs.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:26:24: warning: thmlwordjs.h: No such<br>
&gt; file or directory<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:27:23: warning: gbfwordjs.h: No such file<br>
&gt; or directory<br>
&gt; In file included from /usr/src/bishop/jni/swordstub.cpp:22:<br>
&gt; build/platforms/android-3/arch-arm/usr/include/jni.h:489: note: the<br>
&gt; mangling of &#39;va_list&#39; has changed in GCC 4.4<br>
&gt; In file included from /usr/src/bishop/jni/swordstub.cpp:36:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:29: error: &#39;sword&#39; is not a namespace-name<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:29: error: expected namespace-name before<br>
&gt; &#39;;&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:31: error: expected class-name before &#39;{&#39;<br>
&gt; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:32: error: ISO C++ forbids declaration of<br>
&gt; &#39;OSISWordJS&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:32: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:33: error: ISO C++ forbids declaration of<br>
&gt; &#39;ThMLWordJS&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:33: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:34: error: ISO C++ forbids declaration of<br>
&gt; &#39;GBFWordJS&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:34: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:35: error: ISO C++ forbids declaration of<br>
&gt; &#39;SWModule&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:35: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:36: error: ISO C++ forbids declaration of<br>
&gt; &#39;SWModule&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:36: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:37: error: ISO C++ forbids declaration of<br>
&gt; &#39;SWModule&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:37: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:38: error: ISO C++ forbids declaration of<br>
&gt; &#39;SWModule&#39; with no type<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:38: error: expected &#39;;&#39; before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:68: error: &#39;SWModule&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:68: error: &#39;ConfigEntMap&#39; has not been<br>
&gt; declared<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:68: error: &#39;ConfigEntMap&#39; has not been<br>
&gt; declared<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:68: error: expected &#39;,&#39; or &#39;...&#39; before<br>
&gt; &#39;start&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp: In constructor &#39;WebMgr::WebMgr(const<br>
&gt; char*)&#39;:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:42: error: class &#39;WebMgr&#39; does not have<br>
&gt; any field named &#39;SWMgr&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:42: error: expected type-specifier before<br>
&gt; &#39;MarkupFilterMgr&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:42: error: expected &#39;)&#39; before<br>
&gt; &#39;MarkupFilterMgr&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:43: error: &#39;defaultGreekLex&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:44: error: &#39;defaultHebLex&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:45: error: &#39;defaultGreekParse&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:46: error: &#39;defaultHebParse&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:48: error: &#39;osisWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:48: error: expected type-specifier before<br>
&gt; &#39;OSISWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:48: error: expected &#39;;&#39; before &#39;OSISWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:49: error: &#39;thmlWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:49: error: expected type-specifier before<br>
&gt; &#39;ThMLWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:49: error: expected &#39;;&#39; before &#39;ThMLWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:50: error: &#39;gbfWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:50: error: expected type-specifier before<br>
&gt; &#39;GBFWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:50: error: expected &#39;;&#39; before &#39;GBFWordJS&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:51: error: &#39;Load&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:58: error: &#39;setGlobalOption&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp: In destructor &#39;WebMgr::~WebMgr()&#39;:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:62: error: &#39;osisWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:63: error: &#39;thmlWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:64: error: &#39;gbfWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp: In member function &#39;void<br>
&gt; WebMgr::AddGlobalOptions(int*, int&amp;, int)&#39;:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:71: error: request for member &#39;Markup&#39; in<br>
&gt; &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:71: error: &#39;FMT_THML&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:72: error: request for member<br>
&gt; &#39;AddOptionFilter&#39; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:72: error: &#39;thmlWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:75: error: request for member &#39;Markup&#39; in<br>
&gt; &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:75: error: &#39;FMT_GBF&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:76: error: request for member<br>
&gt; &#39;AddOptionFilter&#39; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:76: error: &#39;gbfWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:80: error: &#39;SWMgr&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:80: error: &#39;start&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:80: error: &#39;end&#39; was not declared in this<br>
&gt; scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:83: error: request for member &#39;getConfig&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:84: error: &#39;defaultGreekLex&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:86: error: request for member &#39;getConfig&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:87: error: &#39;defaultHebLex&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:89: error: request for member &#39;getConfig&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:90: error: &#39;defaultGreekParse&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:92: error: request for member &#39;getConfig&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:93: error: &#39;defaultHebParse&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:95: error: request for member &#39;getConfig&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:96: error: &#39;OptionFilterMap&#39; has not been<br>
&gt; declared<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:96: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:97: error: &#39;it&#39; was not declared in this<br>
&gt; scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:97: error: &#39;optionFilters&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:98: error: request for member<br>
&gt; &#39;AddOptionFilter&#39; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:102: error: request for member &#39;Markup&#39;<br>
&gt; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:102: error: &#39;FMT_OSIS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:103: error: request for member<br>
&gt; &#39;AddOptionFilter&#39; in &#39;* module&#39;, which is of non-class type &#39;int&#39;<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:103: error: &#39;osisWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp: In member function &#39;void<br>
&gt; WebMgr::setJavascript(bool)&#39;:<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:109: error: &#39;osisWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:110: error: &#39;thmlWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/webmgr.hpp:111: error: &#39;gbfWordJS&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: At global scope:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:46: error: &#39;sword&#39; is not a namespace-name<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:46: error: expected namespace-name<br>
&gt; before &#39;;&#39; token<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:50: error: expected constructor,<br>
&gt; destructor, or type conversion before &#39;*&#39; token<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:52: error: expected class-name before<br>
&gt; &#39;{&#39; token<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In constructor<br>
&gt; &#39;AndroidLogger::AndroidLogger()&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:57: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:58: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:59: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:60: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:61: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In member function &#39;virtual void<br>
&gt; AndroidLogger::logMessage(const char*, int) const&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:64: error: &#39;SWBuf&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:64: error: expected &#39;;&#39; before &#39;msg&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:65: error: &#39;msg&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:66: error: &#39;msg&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;void init()&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:73: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:74: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:74: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:75: error: &#39;SWBuf&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:75: error: expected &#39;;&#39; before &#39;baseDir&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:76: error: expected &#39;;&#39; before &#39;confPath&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:78: error: &#39;FileMgr&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:78: error: &#39;confPath&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:79: error: &#39;FileMgr&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:82: error: &#39;SWConfig&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:82: error: expected &#39;;&#39; before &#39;config&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:83: error: &#39;config&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;void initInstall()&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:93: error: &#39;installMgr&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:94: error: &#39;SWBuf&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:94: error: expected &#39;;&#39; before &#39;baseDir&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:95: error: expected &#39;;&#39; before &#39;confPath&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:97: error: &#39;FileMgr&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:97: error: &#39;confPath&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:98: error: &#39;FileMgr&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:101: error: &#39;SWConfig&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:101: error: expected &#39;;&#39; before &#39;config&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:102: error: &#39;config&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:105: error: expected type-specifier<br>
&gt; before &#39;InstallMgr&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:105: error: expected &#39;;&#39; before<br>
&gt; &#39;InstallMgr&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_version(JNIEnv*, _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:116: error: &#39;SWVersion&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:116: error: expected &#39;;&#39; before &#39;v&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:117: error: &#39;v&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getPrefixPath(JNIEnv*, _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:139: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;prefixPath&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getConfigPath(JNIEnv*, _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:147: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;configPath&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jobjectArray*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getModInfoList(JNIEnv*, _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:157: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:157: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:157: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:157: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;Modules&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:162: error: &#39;SWLog&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:175: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:175: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:175: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:175: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;Modules&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:176: error: &#39;SWModule&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:176: error: &#39;module&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:179: error: &#39;SWBuf&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:179: error: expected &#39;;&#39; before &#39;type&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:180: error: expected &#39;;&#39; before &#39;cat&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:181: error: expected &#39;;&#39; before &#39;version&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:182: error: &#39;cat&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:182: error: &#39;type&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:187: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:189: error: &#39;type&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:191: error: &#39;version&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jobject*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getModuleByName(JNIEnv*,<br>
&gt; _jobject*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:216: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:216: error: &#39;module&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:216: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;getModule&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:220: error: &#39;SWBuf&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:220: error: expected &#39;;&#39; before &#39;type&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:221: error: expected &#39;;&#39; before &#39;cat&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:222: error: &#39;cat&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:222: error: &#39;type&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:226: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:228: error: &#39;type&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;void<br>
&gt; Java_org_crosswire_android_sword_SWMgr_setGlobalOption(JNIEnv*,<br>
&gt; _jobject*, _jstring*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:247: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;setGlobalOption&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getGlobalOption(JNIEnv*,<br>
&gt; _jobject*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:266: error: &#39;SWBuf&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:266: error: expected &#39;;&#39; before &#39;value&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:270: error: &#39;value&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:270: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getGlobalOptionTip(JNIEnv*,<br>
&gt; _jobject*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:286: error: &#39;SWBuf&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:286: error: expected &#39;;&#39; before &#39;value&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:290: error: &#39;value&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:290: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jstring*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_filterText(JNIEnv*, _jobject*,<br>
&gt; _jstring*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:307: error: &#39;SWBuf&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:307: error: expected &#39;;&#39; before &#39;buf&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:309: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;setGlobalOption&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:310: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;filterText&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:310: error: &#39;buf&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:315: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jobjectArray*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getGlobalOptions(JNIEnv*,<br>
&gt; _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:329: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:329: error: expected &#39;;&#39; before &#39;options&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:331: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:331: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:331: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:331: error: &#39;options&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:339: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:339: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:339: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:339: error: &#39;options&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:340: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jobjectArray*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getGlobalOptionValues(JNIEnv*,<br>
&gt; _jobject*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:359: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:359: error: expected &#39;;&#39; before &#39;options&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:364: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:364: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:364: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:364: error: &#39;options&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:371: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:371: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:371: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:371: error: &#39;options&#39; was not declared<br>
&gt; in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:372: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;void<br>
&gt; Java_org_crosswire_android_sword_SWMgr_setCipherKey(JNIEnv*, _jobject*,<br>
&gt; _jstring*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:392: error: &#39;class WebMgr&#39; has no<br>
&gt; member named &#39;setCipherKey&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;_jobjectArray*<br>
&gt; Java_org_crosswire_android_sword_SWMgr_getAvailableLocales(JNIEnv*,<br>
&gt; _jobject*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:423: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:423: error: expected &#39;;&#39; before<br>
&gt; &#39;localeNames&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:425: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:425: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:425: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:425: error: &#39;localeNames&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:433: error: &#39;sword&#39; has not been declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:433: error: expected &#39;;&#39; before &#39;it&#39;<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:433: error: &#39;it&#39; was not declared in<br>
&gt; this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:433: error: &#39;localeNames&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:434: error: &#39;assureValidUTF8&#39; was not<br>
&gt; declared in this scope<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: In function &#39;void<br>
&gt; Java_org_crosswire_android_sword_SWMgr_setDefaultLocale(JNIEnv*,<br>
&gt; _jobject*, _jstring*)&#39;:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:452: error: &#39;LocaleMgr&#39; has not been<br>
&gt; declared<br>
&gt; /usr/src/bishop/jni/swordstub.cpp: At global scope:<br>
&gt; /usr/src/bishop/jni/swordstub.cpp:462: error: expected constructor,<br>
&gt; destructor, or type conversion before &#39;*&#39; token<br>
&gt; make: *** [out/apps/bishop/armeabi/objs/sword/swordstub.o] Error 1<br>
&gt;<br>
&gt; /usr/src/bishop/jni is symlinked to sword/bindings/java-jni/jni and my<br>
&gt; Application.mk file in  android-ndk-r3-crystax/apps/bishop contains:<br>
&gt; APP_PROJECT_PATH := /usr/src/bishop<br>
&gt; APP_MODULES      := sword swordcore<br>
&gt; APP_PLATFORM     := android-3<br>
&gt;<br>
&gt; Do you know what I&#39;m doing wrong?<br>
&gt;<br>
&gt; Also, I have gotten the libsword.so file from the bishop.apk file you<br>
&gt; posted earlier. Is there any way I could bind to it and use it?<br>
&gt;<br>
&gt; -Wes<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Apr 17, 2010 at 2:55 AM, Troy A. Griffitts &lt;<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a><br>
</div></div><div><div></div><div class="h5">&gt; &lt;mailto:<a href="mailto:scribe@crosswire.org">scribe@crosswire.org</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Dear Wes,<br>
&gt;<br>
&gt;     The files I threw together are still very much a prototype / proof of<br>
&gt;     concept.  But with that warning, everything you need to build libsword<br>
&gt;     for android is included in the svn repository for the SWORD engine.  You<br>
&gt;     can get the source here:<br>
&gt;<br>
&gt;     svn co <a href="https://crosswire.org/svn/sword/trunk" target="_blank">https://crosswire.org/svn/sword/trunk</a> sword/<br>
&gt;<br>
&gt;     The Bishop code is merely a bunch of calls to try out and help develop<br>
&gt;     the libsword bindings and really aren&#39;t worth checking in anywhere, but<br>
&gt;     if you&#39;d like me to post them for an example, I can certainly do that.<br>
&gt;<br>
&gt;     Please again realize these android jni wrappers are fragile and<br>
&gt;     incomplete.  Please feel free to improve them, but please don&#39;t count on<br>
&gt;     them working dependably.<br>
&gt;<br>
&gt;     Build instructions.<br>
&gt;<br>
&gt;     You&#39;ll need an NDK with STL support.  I have been trying crystax release<br>
&gt;     lately.  You can find it on the web.<br>
&gt;<br>
&gt;     After that, you&#39;ll need a basic Application.mk file to place in your<br>
&gt;     apps folder.  Mine for bishop is here:<br>
&gt;<br>
&gt;     ~/android-ndk-r3-crystax/apps/bishop/Application.mk<br>
&gt;<br>
&gt;     and contains:<br>
&gt;<br>
&gt;     APP_PROJECT_PATH := $(call my-dir)/../../../src/bishop<br>
&gt;     APP_MODULES      := sword swordcore<br>
&gt;     APP_PLATFORM     := android-3<br>
&gt;<br>
&gt;     and I have a symlink:<br>
&gt;<br>
&gt;     ~/src/bishop/jni -&gt; ~/src/sword/bindings/java-jni/jni/<br>
&gt;<br>
&gt;     ~/src/sword is simply a checkout of the current sword svn repository.<br>
&gt;<br>
&gt;     Hope this helps get you started.  Let me know your progress!<br>
&gt;<br>
&gt;     Troy<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     Wes Widner wrote:<br>
&gt;     &gt; Hey everyone,<br>
&gt;     &gt;<br>
&gt;     &gt; I&#39;m new to this list so forgive me if it&#39;s answered elsewhere and I&#39;ve<br>
&gt;     &gt; simply overlooked it. Where is the source code for the android project<br>
&gt;     &gt; that uses the sword library via jni?<br>
&gt;     &gt;<br>
&gt;     &gt; Also, does anyone know how I should go about building the jni library<br>
&gt;     &gt; for sword? I can mange to build the .java interface files, but I am<br>
&gt;     &gt; having trouble figuring out where to build the system library (the .so<br>
&gt;     &gt; file).<br>
&gt;     &gt;<br>
&gt;     &gt; Any help is much appreciated!<br>
&gt;     &gt;<br>
&gt;     &gt; Blessings,<br>
&gt;     &gt; -Wes<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
</div></div>&gt;     &lt;mailto:<a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>&gt;<br>
<div class="im">&gt;     &gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt;     &gt; Instructions to unsubscribe/change your settings at above page<br>
&gt;<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
</div>&gt;     &lt;mailto:<a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>&gt;<br>
<div><div></div><div class="h5">&gt;     <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt;     Instructions to unsubscribe/change your settings at above page<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
&gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt; Instructions to unsubscribe/change your settings at above page<br>
<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</div></div></blockquote></div><br></div></div>