mvnForum Homepage

Print at Jul 11, 2014 4:19:51 PM
Posts: 16   Pages: 2   [ 1 2 | Next Page ]
View all posts in this thread on one page
Posted by DavidStrickland at Aug 22, 2010 7:44:35 AM
5 years and it still won't compile.
First The Sword project is great I've used it many times. I found it almost 8 years ago. 5 years ago I had an idea of how I could create a resource built on the Sword Project. I'm a microsoft developer using Visual Studio. The Source of course wouldn't compile various dependencies were missing and the source wasn't really intended to work with Visual Studio and Visual Studio didn't work well with any code not generated by it.

The first time I asked how to accomplish it I got flamed by a rather ignorant individual spouting the death of Microsoft and the pointlessness of working with it. I gave up there after assuming this to be the attitude of all of the Sword Project Team since no one said different.

I've tried numerous times to compile it over the years spent a day or two fighting with it gave up. Once again for the last 2 days I've tried to get it to compile and once again I've given up. The string of errors and debuging is so long I've again lost all confidence in the code. Even if It finally get it to compile it's likely just going to blow up.

It would be nice if someone would actually take a clean install of VS and your Source code distro and write up a walk-through step by step of how you compile this thing in VS. Where to get the dependencies. What versions to use etc. I was hoping to do this myself if I could have gotten it to work.

And before anyone starts shooting links to all the supposed instructions on the web none of them work at least none of them Google, Bing or Yahoo can find nor any located on the They are all simplistic to start with implying it's just unzip and compile and even those are filled with missing steps, broken links and assumed pre-configured settings. The numer of C++ developers drops by the day and the ability to get the library compiled goes with it. If you have this knowledge please share it so the rest of us can benefit from all the work the group has already done.

Posted by Osk at Aug 22, 2010 10:55:38 AM
Re: 5 years and it still won't compile.
VC++ is actually how we build the module developer utilities for Win32 now, so it's a fairly well-supported platform for us now. That said, there could be missing steps in the setup instructions, as you've said.

But for starters, are you using the latest SVN? Or just the most recent release? (The latter has a good chance of not working, since we may have updated the VC++ projects more recently than the last release.)

I'll take a look through the instructions in the Wiki, and try to build it all from scratch later this afternoon.

Posted by DavidStrickland at Aug 22, 2010 3:38:45 PM
Re: 5 years and it still won't compile.
I tried the latest SVN load and I tried various tarballs. All in all in the last 48 I tried everything I could find mentioned referenced or suggested. In the end though I'm a C# developer and I once I did get libsword to compile. I had hoped to use DLLImport to call into the dll but it looks like there are to many instance methods and user classes to be able to do that with much success. I updated the Wiki entry for compiling on Visual Studio the best I could.

What it boils down to is I need programmatic access to the biblical texts. From the .Net Framework. I don't need the whole Lib just SWText I spent the last 8 hours trying to untangle the .bzz files to see if I could just write an interface straight to what I need. But I can't find any documentation on it and can't decipher what this format is of how to parse it or decompress it.

I had hoped to create a bible study website that would naturally localize to the language of the visitors browser by using the biblical text appropriate. To do this though I need access to multiple bibles in the largest possible range of languages. All the THML files are copyrighted and can't be used for anything without CCEL permission. There's virtually nothing in Osis Format or GBF. VPL and IMP are virtually non-exsistent accept I assume internally within Crosswire. Esword has a good library of Documents but their locked MDB's and they can't be used for anything without violating copyrights. By far the largest collection of Reusable Christian Documents on the web are in the Sword Projects bz? format but it is undocumented and thus unusable unless you go through libsword or I assume Jsword neither of which can be consumed on the Microsoft Framework.

In the end thanks for the response but even if I get it to compile at this point it is so far from being usable for the purposes I need as to create a mountain I probably do not have time to climb. I've been trying to get programmatic access to the biblical texts for so many years I will without doubt continue to try. Maybe after another couple years when I come back around to it I'll be able to do it.

Posted by Osk at Aug 22, 2010 6:48:57 PM
Re: 5 years and it still won't compile.
From my testing, aside from the fact that cURL has a problem with their metalink and aside from a bug in diatheke (which I need to confirm isn't already corrected in SVN), there are no problems with the directions at I made the direction "Build all" more explicit: Click Build | Batch Build... | Select All | Build. That might have been the cause of your troubles.

Using the directions there, I compiled cURL, icu-sword, Sword 1.6.1, and the Sword utilities without any problems.

As to our storage format, you are better directing your energies elsewhere. We absolutely will not give assistance in using our resources without our library (and doing so will generally constitute copyright violation). The format is undocumented, since the people who need to understand it already do. There's also no guarantee of storage format stability. It may change in the future, and has done so in the past.

Posted by DavidStrickland at Aug 23, 2010 3:04:02 AM
Re: 5 years and it still won't compile.
I originally edited when I was doing it but it looks like someone has chosen to undo all the changes I made that worked for me but if I remember correctly. From my experience Utilities still blows up. ICU-Sword compiles to a dll not a lib so Lib-Sword wont compile ICUUC.Lib doesn't exist so Utilities can't compile. Anyway. Looks like I'm done trying. Not worth the effort to continue.

Concerning Format the Mod2Osis Utility will extract what I need into a format I can use. It is unfortunate that there is a attitude of protection by ignorance and obfuscation. The format could be deconstructed from a reading of the source code and the subsequent findings legally published anywhere. If theSwordProject wanted to protect the format then the source code would be copyrighted.

"Opensource" was created by those with the opinion that knowledge can be advanced most effectively by sharing it not protecting it with copyrights, patents and licenses TheSwordProject is "OpenSource" yet it seems some members of the community enjoy the power of knowledge and want to protect their position by keeping the file format obfuscated behind smoke and mirrors. When I get a chance I'll try to spend a couple more days sifting through the source code of mod2osis and get started on deconstructing the format and publish the results here on this thread and in the Wiki. That is unless the powers that want to protect the knowledge aren't the same powers that control the Wiki and the forum ;). If you come across this post and want to collaborate on this or already have information along these lines email me at davidstrickland0*hotmail

Posted by mdbergmann at Aug 26, 2010 4:35:22 AM
Re: 5 years and it still won't compile.

All that one creates (source code in this regard) is copyrighted. That however is unrelated to open source. Our sources are released under GPL with all regulations that come therewith.

The storage format of our modules is documented in the source codes. Documenting it in a more abstract way means a lot of effort and time which would be better spent in implementing features in the library itself.
As Chris already said, the storage format is subject of change and pointing people to write or read this directly would be wrong.

If you are only looking for a way to get bible texts out of modules you could create a simple C++ program similar to one of the example in the source distribution that fits your needs, make it accept command line parameters and call via a process in .Net.


Posted by DavidStrickland at Aug 27, 2010 6:22:34 AM
Re: 5 years and it still won't compile.
Thanks for replying.

As for the Format being Documented in the source code. I've seen this statement before on the forums concerning the Module format. The source Code is written in a "language" designed to communication a set of instructions not intentions or information. Though intentions or information can be extracted from the instructions it's like saying your New Car's Owner Manual is documented in Service-Centers Repair Manual. I assume OSK understood as much when he remarked that it is currently "Undocumented". It also seems that this concept is understood in the application as well as there is an extensive amount of English language documentation for it. Though it could simply be said that users should read the source if they wanted to understand the application.

As for the fact that it might change that is obvious anything in software development might change at any time if we all stopped coding on anything that might change we'd never have anything but Dos apps. It isn't a question of if it will change but how likely that change is. If a breaking change is made to the format so drastic as to make all documentation of the Format obsolete the subsequent required Changes to Libsword and Jsword would very likely make any apps built on them obsolete as well. Not to mention that every module would need to be re compiled to the format and all third party modules would need to be recompiled as well. Such a change would take years to implement and dual support within the Instructions would be mandatory for years to come.

From the hostility this issue seems to get and the initial review I've done of the Modules format I suspect there is another motivation behind the module formats lack of documentation. It appears that the security of the modules is wrapped around the ability to decompress the data. It may not be very difficult for a crack app to be written that would unlock any locked module. Though such an application would not violate the GPL the project is released under it could be used to violate the copyright of every publisher that has placed their trust in The Sword Project. Such an application or even the awareness of it potential would undermine the projects ability to get new bible versions or other books released.

If such a security flaw exists discouraging others from finding it is no protection against it's inevitable exploitation. If such a flaw does not exist the only way to prove it is to document the modules structure. I find it surprising that such documentation doesn't exist since any publisher wanting to ensure their intellectual property is adequately protected would require documentation explaining the format their property would be distributed in and the exact measures used to protect it before placing their faith in The Sword Project or any other distributor.

Posted by karl at Aug 27, 2010 9:45:45 AM
Re: 5 years and it still won't compile.
From the hostility this issue seems to get and the initial review I've done of the Modules format I suspect there is another motivation behind the module formats lack of documentation. It appears that the security of the modules is wrapped around the ability to decompress the data

I just glazed over much of this, but this paragraph caught my eye.

You're imputing evil motives where none exist. That's rather improper. The only area where there is a security issue is in the case of locked modules, and the password-handling code is really pretty clear if you look around just a little. Otherwise, any of the modules can be dumped with e.g. "mod2imp KJV" and you can see the full content as perceived by Sword tools. By design, the module format has no security except for locked (password-protected) modules.

There is a lack of documentation in many areas. I've been around Sword for almost 5 years now and I've just gotten used to the idea that many things one needs to learn simply have to be gained by crawling through code or asking the right questions in the IRC channels. (Freenode, #sword.) No one is hiding anything from you, and rather a lot of us build Sword software as a matter of routine. I live mostly in the land of Linux, and the build tools there are second nature to me, so I just do it. I have no concern for module format as such because for my purposes it's an abstract concept that I handle from arm's length, other than for producing texts that the command line tools can convert properly to the needed format, and that too long ago became second nature to me.

In all seriousness, just keep looking around. People work with this code all the time. You're not the first and you won't be the last to walk up to it, or to find difficulty with it, or (eventually) to figure out how to work with it.

In Linux, building Sword tools consists in its entirety of this:
- unpack the tarball or check out a copy from SVN.
- ./
- change a few options in if needed
- ./
- make -j6 && sudo 'make -j6 install'

Compiles fine for me, every time except when some major new development is underway, and we developers get used to that sort of interruption and instability.
Project Admin, Xiphos

Posted by DavidStrickland at Aug 27, 2010 11:24:44 AM
Re: 5 years and it still won't compile.
Thanks for weighing in on it perhaps i am just seeing it with an evil eye. It's just a gut feeling of course. I've worked on more open source then I can count and generally any help is greeted if not with open enthusiasm at least it is never discouraged. In this case being discouraged from it with justifications that hold little water just seems very odd and it made me start to wonder about motivation. Getting help on any project especial with documentation is near to impossible being discouraged from it by two different sources seems plain odd.

Posted by mdbergmann at Aug 27, 2010 11:57:54 AM
Re: 5 years and it still won't compile.
Yeah, I agree. The module format is not the only thing that lacks documentation. While working with SWORD I learned a lot but mostly from asking questions in the mailing lists and looking through the code.
The documentation has actually improved a lot since we have the wiki which is about 2 years ago.

I don't actually had any need to understand the module format while working on MacSword. However I learned a little on the module formats while implementing the personal commentary file access in JSword and I can tell you there is no magic whatsoever and nothing is intentionally hidden from anyone.

After all this is an open source project and lives from the community and the work the people of the community are willing to spend.
You could go ahead and create wiki pages for the module format if you wish and do a documentation in a proper way other than the source codes.


Posts: 16   Pages: 2   [ 1 2 | Next Page ]