mvnForum Homepage

Print at Aug 22, 2014 8:39:47 PM View all posts in this thread on one page
Posted by QueenGeek at Aug 3, 2008 5:43:00 AM
Need Help with Module Utilities
Hello everyone.

I'm another newbie. I am attempting to create an OSIS module for import into Sword and have already encountered difficulties. I downloaded the utility executables from here:

http://crosswire.org/ftpmirror/pub/sword/utils/win32/

I downloaded an OSIS formatted World English Bible to use to learn how to use the utilities. I first ran the OSIS validation and it passed. Yeah!

However, I have run into a problem using the osis2mod.exe utility. If I run in a DOS prompt, I get the error message, "This application has failed to start because ICUDT40.DLL was not found. Re-installing the application may fix this problem." If I try running in a cygwin shell, it simply does nothing and returns to the command prompt, even if I run the utility with no parameters. I would have expected the utility to print out the usage information and then die. I get the same results when running other utilities as well.

I am running Windows XP 64-bit. I have not encountered problems running apps compiled on XP 32-bit, so I don't *think* this is the problem.

But... in that event, I also tried downloading all the source from SVN using the instructions here:

http://www.crosswire.org/sword/develop/swordapi/

Downloading worked (note I downloaded both the sword API AND the utilities -- so I did get the osis2mod.cpp, etc files). However, the compilation instructions on this web page do not work. The instructions say to use "./autogen.sh", which is standard for Linux apps. Fine I can deal with that. But, there is no "./autogen.sh" in the SVN repository -- at least when I did the check out, I got none for either the API or the utilities. Have the instructions perhaps changed and the web site just hasn't been updated???

My preference would be to get the executables working without recompilation, but any help would be appreciated!!!

Posted by Osk at Aug 3, 2008 7:19:49 AM
Re: Need Help with Module Utilities
You just need icu40dt.dll, like the error message said. It's available in the same directory as the utility binaries. You can get either icu40dt.zip (which is the version that will ship with new releases of the Windows frontend) or icu40dt-big.zip (which has additional data, intended primarily for developers).

Posted by QueenGeek at Aug 3, 2008 12:23:49 PM
Re: Need Help with Module Utilities
Well thanks! Silly me... I downloaded "allutilities.zip" and expected it to contain everything in the utilities directory as opposed to just the utility executables themselves. I see now that a LOT of stuff is missing from that zip file. I should have gone back to the repository and checked rather than assuming.

Hmmm. Now it does run in both a dos windows and in cygwin, so there is progress. biggrin Unfortunately even though the source passed the validator (osisCore.2.1.1), osis2mod.exe is complaining that a bunch of stuff is not well formed. Then I get the nasty "Do you want to send an error report to Microsoft" error dialog. :( :(

So, to be sure... the validator I am using is the one pointed to at the bottom of this page: http://www.crosswire.org/wiki/index.php/OSIS_Bibles

Is there a different validator I should be using???

Posted by dmsmith at Aug 4, 2008 2:17:25 PM
Re: Need Help with Module Utilities
osis2mod.exe is complaining that a bunch of stuff is not well formed.


This complaint is issued for verses that are not well-formed. This typically happens when the milestoned version of the verse element is used as in:
<verse sID="xxxx" osisID="Gen.1.5"/>
....
</div>
<div type="section">
.....
<verse eID="xxxx" osisID="Gen.1.5"/>

The other thing that often happens is an improper encoding of osis where the container starts between verses and ends within a verse at the end. Or starts within a verse at the beginning and ends outside a verse. E.g.
<verse sID="xxxx" osisID="Gen.1.5"/>
....
</div>
<verse eID="xxxx" osisID="Gen.1.5"/>

This should be:
<verse sID="xxxx" osisID="Gen.1.5"/>
....
<verse eID="xxxx" osisID="Gen.1.5"/>
</div>

Likewise:
<verse sID="xxxx" osisID="Gen.1.5"/>
<div type="section">
.....
<verse eID="xxxx" osisID="Gen.1.5"/>

should be:
<div type="section">
<verse sID="xxxx" osisID="Gen.1.5"/>
.....
<verse eID="xxxx" osisID="Gen.1.5"/>


At the moment osis2mod expects a priority on Book/Chapter/Verse (BCV) and not on Book/Chapter/Section/Paragraph (BCSP). This is because most front-ends are geared toward BCV and cannot handle verses that are not self-contained. These warnings mean that there is one or more front-ends that cannot handle the problem verse as encoded.

We suggest that as a temporary work around that xslt be used to transform BCSP into milestoned versions of the elements. (You don't need to do that with paragraphs as osis2mod already handles those).

We will be improving osis2mod to normalize BCSP into BCV modules. At that time the warnings will go away.

(I don't have answers to your other comments.)