Tobias,
I’m sorry for the confusion that I’m having (and seem to be sharing).
I get a clean build on the sword-build-win32
sword\bindings\csharp\Sword.csproj which includes the NativeMethods class.
That class is made up of DLLIMPORT calls to a ‘libsword.dll’. However,
when I step through the code it won’t load the dll specified even when I
change the name or relative path. I have checked the dllName (DLLNAME
const) and the reference points to a copy of the sword.dll. That leads me
to believe that it’s actually a call to a dependency that’s causing the
problem. PEStudio has pointed me to various missing dependencies. I’m not
sure of the algorithm that it uses to determine those dependencies as its
focus is actually on viral threat assessment.
It’s currently showing:
libbz2.dll
liblzma.dll
libcurl.dll
icuin65
icuuc65.dll
kernel32.dll
msvcp140.dll
vcruntime140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
The first five are part of sword. The next three aren’t a problem. But
the ‘api-ms-win-crt-…’ have been rolled up into libraries. I’ve tried
several different methods to install them but all I get are the new
version. This is a new computer and new installation of Windows 10. I’m
guessing that this would run if I had installed the earlier version of the
Redistributable (VS2015, VS2017) these would have installed. But the
currently available version doesn’t include these dlls. It only includes
the new libraries which replace those listed here.
I’ve tried to verify the existence of the entry points but I’m certain that
it would give a different error than the ‘cannot load’ error that always
comes up.
Could this be what’s been giving me problems?
Again, thank you so much for the help,
Jeff
From: Tobias Klein [mailto:cont...@tklein.info]
Sent: Monday, June 14, 2021 11:19 PM
To: Jeff Becker
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Hi Jeff,
I do not have another/later set of SWORD dlls.
What do you mean when you say "NativeMethods class"?
I am not sure right now where the name of the SWORD.dll is configured.
Potentially in the SWORD CMake configuration.
This is what is done for building SWORD (once all the dependencies are
available):
cmake -B build\sword -G "Visual Studio 16 2019" -A Win32 ^
-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ^
-DBZIP2_LIBRARY=%cd%\%2\libbz2.lib ^
-DBZIP2_INCLUDE_DIR=%cd%\bzip2 ^
-DXZ_LIBRARY=%cd%\%2\liblzma.lib ^
-DXZ_INCLUDE_DIR=%cd%\xz\src\liblzma\api ^
-DICU_ROOT=%cd%\icu\icu4c ^
-DICU_INCLUDE_DIR=%cd%\icu\icu4c\include ^
-DCURL_LIBRARY=%cd%\%2\libcurl_imp.lib ^
-DCURL_INCLUDE_DIR=%cd%\curl\include ^
sword
devenv build\sword\libsword.sln /Build Debug /Project sword
dir build\sword\Debug\
copy build\sword\Debug\sword.dll %2\
copy build\sword\Debug\sword.lib %2\
copy build\sword\Debug\sword.pdb %2\
Are the "missing DLLs" actually causing any issue with a linked binary?
When I link node-sword-interface with the sword.dll on Windows I do not
face such issues - neither during build, nor during runtime. But that's a
different configuration/usecase I suppose.
Did you try already try to link the sword dll into some sample application?
Moving forward, the only way I can help is if you submit your Visual Studio
project (of that sample application) - can you share it, can you put it on
GitHub? If I do not have access to your project configuration I'll not be
able to debug/reproduce/understand.
Best regards,
Tobias
On 6/14/21 11:39 AM, Jeff Becker wrote:
I did try the dlls from the link you gave (it’s also in another email
thread). That was when I ran into the missing Windows dlls problem
(msvcr80.dll and msvcp80.dll as indicated by an assessment tool). Those
dlls only install with the VS2005 C++ Redistribution Kit (which is no
longer available on Microsoft.com) or with various MS Office and other 32
bit MS applications (which I don’t have installed on my Windows 10
machine). Also, the NativeMethods class in the sword-build-win32 looks for
‘libsword’ (.dll) not sword.dll. The latter (sword.dll) is in the release
artifacts on Git. I don’t know the difference between the two dlls. I also
noticed that the NativeMethods class uses the Windows CE calling convention
rather than the standard Winapi. I don’t know if that has a effect on all
of this. Or maybe I’m just not understanding the way that the Sword dlls
are organized.
All of that was the reason I tried to get a compile but had some difficulties.
I can try to find a reliable version of the MS dlls from a third party but
I’m not very trusting when comes to those sites. I’ve checked a Windows 7
machine that I have here but those dlls were not on it. (Note that you
have to look directly into the folders for them because search sometimes
overlook hidden and system files.)
Is it possible that you have a later set of Sword dlls that import a later
version of the Windows dlls (mscrt100.dll, etc.)?
Sorry to be a burden. Thank you for the help.
Jeff
From: Tobias Klein [mailto:cont...@tklein.info]
Sent: Sunday, June 13, 2021 12:52 AM
To: Jeff Becker
Subject: RE: [sword-devel] Greek/Hebrew Reader screenshots
The released DLLs are not in the Git repo, but rather uploaded as release
artifacts.
See
https://github.com/ezra-bible-app/sword-build-win32/releases/tag/v1.8.900-2020-11-04
Best regards,
Tobias
Am 13. Juni 2021 09:08:25 schrieb "Jeff Becker" <jbec...@fiveviews.com>:
Maybe the problem is VS2017 or Windows 10. A compiled dll should be
backward compatible to VS2017 from VS2019 (in most cases) because it relies
mostly on Windows compatibility once a library is compiled.
I tried geting the Dlls from the Github clone but didn’t find them. I dug
around and got dlls but they didn’t load. The CSSword project compiled in
C# but the dll but wouldn’t load when called in my project (missing
libsword.dll). I checked dependencies and they were looking for dlls that
weren’t in the build and weren’t in Windows 10, VS2017 (C#,C++,VB). Two of
the dlls that came up were msvcr80.dll and msvcp80.dll which I could only
find in a VS 2005 C++ Redistribution installer. The system32 folder had
later versions and an earlier version (msvcp40.dll, I think).
I’ll go back and try it again. Maybe I missed something.
Thanks for your response,
Jeff
From: Tobias Klein [mailto:cont...@tklein.info]
Sent: Saturday, June 12, 2021 11:23 AM
To: SWORD Developers' Collaboration Forum; Jeff Becker
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Jeff, I'll have a look asap. What I can say is that with the current
scripts used this all automatically built via GitHub actions using the
MSVS2019 tool chain and CMake without any trouble. Since there are DLLs
available (both SWORD and its dependencies) I still don't fully understand
your need for a rebuild. Did you try the DLLs and that didn't work? What
didn't work exactly?
Best regards,
Tobias
Am 11. Juni 2021 09:31:10 schrieb "Jeff Becker" <jbec...@fiveviews.com>:
I'm impressed with all that I see in this project. The more that I learn
about the SWORD Project, as I dig into the code and all that has been done,
the more impressed I become. I think this is an impressive work and
everyone involved should be honored as part of it.
But I keep hitting roadblocks.
I'm trying to get a compile of Ezra/sword-build-win32 on Visual Studio 2017
on Windows 10 (I have the community version installed at home where I'm
working). It appears that there was some attempt to overcome problems with
Visual Studio versions but there seems to be a disconnect in the batch
files. So, with minor tweaks, I get compiles on everything except
build_sword.bat. A change to the .bat file got an actual attempt at a
compile. Some missing .h files were soled with added some Include paths.
Then some missing C files were flagged. Tried to fix that and it all blew up.
I've also tried to take dlls from other repositories in an attempt to
bypass the compile problems but run into other version issues with Windows
10 and VS 2017 (missing msvcr80.dll and msvcp80.dll among others).
I don't want to be a burden. I also don't want to give up trying. I'd like
to contribute but I also want my contribution to be effective. And I don't
have unlimited time to resolve these issues on my own.
I think I've explained what I'm trying to do so I won't bore you with
another long explanation, but simply put, I'd like to access data so I can
use it in C# and ASP.Net.
I'm not sure if I should wait for another sword-build-win32 build or try to
fix what I can.
Any advice? Am I missing something?
Thanks for all of your patience.
Jeff Becker
-----Original Message-----
From: sword-devel [mailto:sword-devel-boun...@crosswire.org] On Behalf Of
Peter Von Kaehne
Sent: Tuesday, June 08, 2021 5:41 AM
To: sword-devel@crosswire.org
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Gesendet: Dienstag, 08. Juni 2021 um 12:42 Uhr
Von: "Bob Eaton" <bob_ea...@sall.com>
P.S. my version of CSSword has a fix for the problem of the 1.9.0 sources
not displaying non-roman scripts well in the data returned by the install
manager. I think the fix is two-part, one in libsword.dll and one in
CSSword.dll. How do I communicate the fixes to the folks responsible for
the source code?
Wrt libsword - open a bug report (unless it already exists) in JIRA and
attach any patches you have to it. One of us will pick it up and if it
makes sense apply it. If it is in a filter, likely me, if it is more
profound, likely Troy will need to look at it. Send an email onto the list
with reference to the issue opened just for completeness sake
http://tracker.crosswire.org/projects/API/issues/API-217?filter=allopenissues
Peter
From: sword-devel <sword-devel-boun...@crosswire.org> On Behalf Of Jeff Becker
Sent: Saturday, June 5, 2021 4:24 AM
To: 'SWORD Developers' Collaboration Forum' <sword-devel@crosswire.org>
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Tobias,
Thanks for the reply. I’m still getting the lay-of-the-land in what has
been done in the SWORD Project so pardon me if I sound like a bit of a newb.
As for what I’m trying to do, the long and the short of it is this:
I’m looking for from SWORD is content, including:
Bible translations,Greek and Hebrew Texts,Strong’s numbers and
content,Bible dictionaries,section headers,parallel references,etc.
which can be delivered (preferably) via IIS / .Net / COM / C#, etc. to a
reader. The current version is HTML 5, JavaScript and CSS tested primarily
in Firefox and delivered via IIS from a C# application. The content is
‘borrowed’ from BibleHub’s Interlinear pages and even though I’m the only
user I feel like I’m not respecting their licensing.
So, the easiest way for me to move my work forward is to find a way to
access SWORD content in C#.
How do I do that?
I was assuming that the Win32 interface could be used in a C# application
to access Bible translations and other materials which could then be
delivered to Web browsers via IIS on the Windows Server platform. That
usually requires implementing either a COM or .Net compatible interface in
a DLL. I hope I’m not over-explaining but I know that most in this group
uses Linux based systems and I’ve also seen mention of Borland development
tools on Windows.
What technology are you considering for the frontend side?
I’ve spent most of my programming time for the last few decades in Visual
Studio and do most of my work in C#. It’s a well-rounded language and
simplifies a lot of the usual peculiarities of C programming. My
professional focus is on business database applications with Web delivery,
either in Internet, Intranet or Extranet environments.
Any specific JS or CSS libraries/frameworks?
The simple answer to your question is: vanilla Javascript and pure CSS in
HTML5. Honestly, I’ve been programming for decades and after watching and
participating in the comings and goings of many frameworks and libraries
I’ve become something of a purist. I even try to avoid JQuery unless a
customer is already committed to it. My apps are generally clean and fast
because of it.
Are you planning to use or develop reusable web components?
I can. My hope would be a set of DLLs with .Net interface access. I’m open
to other environments and have worked (less extensively) in LAMP and Linux
Shell Scripting (as well as a bunch of outdated and/or obscure languages
and platforms). But my preference is still Visual Studio and ASP.Net.
I’ve looked at other databases and content storage formats but I’m very
impressed with the SWORD Project. I’ve been on the Crosswire mailing list
since 2008.
Regardless of the environment everything that I do will be released as
open-source under whatever licensing structure that you all prefer. I’d
like to see this translated to as many (human) languages as possible. And
along with that I intend to respect all licensing restrictions of content.
While that may be limiting or complicating for development it is the only
way. Even if that means modifying content delivery on a per-user basis
that tracks content licenses the same way.
As for my ability to code, my first production code was on a Burroughs
B6700 in FORTRAN 4. It was then converted to run on a PDP/8e in IEBASIC.
It was in High School and we also had a cute little TRS-80 that the
computer club purchased with money we made by selling candy in the
lunchroom. The first Bible software that I wrote was a KJV reader and
concordance written in Revelation software (a PICK licensee). It was 1987
and I was in Bible college at the time. I downloaded the KJV book-by-book
in plain text format from a local BBS. I guess I was frustrated with
spending long hours in the Bible College library and with the limitations
of paper (and the shortcomings of Strong’s work). My concordance was
actually more exhaustive than Strong’s, particularly in the Minor Prophets
where his work tended to get a little hit-and-miss. I wish I still had a
copy of it but it was lost in a move years ago. I actually attended the
same Bible College as the guys who started BibleSoft. I offered to consult
on what they (well, at that time it was just Jim) were doing but things
changed at the church and we went our separate ways. We crossed paths again
a few years later but nothing came of it.
Thank you so much,
Jeff
From: sword-devel
[mailto:sword-devel-boun...@crosswire.org[mailto:sword-devel-boun...@crosswire.org]]
On Behalf Of Tobias Klein
Sent: Wednesday, June 02, 2021 11:24 PM
To: SWORD Developers' Collaboration Forum
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Hi Jeff,
When you say Win32 code are you referring to this?
https://github.com/ezra-bible-app/sword-build-win32[https://github.com/ezra-bible-app/sword-build-win32]
That’s the SWORD dll (and its dependencies) that becomes part of Ezra Bible
App.
To be exact you find the dlls in the release:
https://github.com/ezra-bible-app/sword-build-win32/releases/tag/v1.8.900-2020-11-04[https://github.com/ezra-bible-app/sword-build-win32/releases/tag/v1.8.900-2020-11-04]
As I tried to implement the dll in a Web application I found that I also
had to compile the c++ code (libsword) in order to use the c# dll.
I don’t understand this statement.
Why did you have to compile C++ code?
My understanding is that you can include DLLs also via C# (and this works
in other languages like Python, too) and use them directly without any
additional C/C++ compilation necessary.
With that I’m also wondering if the appropriate dlls (from c++ source code)
might be included in a later version of the Win32 code on Github.
I will keep releasing new builds of SWORD as I need them for Ezra Bible App.
I actually need to perform one soon, because I would like to utilize Troy’s
latest changes regarding the extraction of section headers.
However, with trunk there are currently still CMake build issues on Windows
(Did you have a chance to look into this, Greg?).
One alternative for your C# server side implementation could be to use
node-sword-interface and serve the requests via node.js. I have been
thinking about implementing a web-based backend for Ezra Bible App on this
basis at some point.
What technology are you considering for the frontend side?
Any specific JS or CSS libraries/frameworks?
Are you planning to use or develop reusable web components?
Jeff, good luck with your efforts!
Best regards,
Tobias
Am 01.06.2021 um 14:03 schrieb Jeff Becker
<jbec...@fiveviews.com[mailto:jbec...@fiveviews.com]>:
Tobias (et al),
I’ve downloaded the Win32 code and had a successful compile. As I tried to
implement the dll in a Web application I found that I also had to compile
the c++ code (libsword) in order to use the c# dll. Not a problem but as I
was setting up my new computer with the rather cumbersome c++ environment
it occurred to me that it might be easier to ask for help.
I’m wondering if it’s possible to get a compiled dll from another developer
that will run (safely and securely) in my environment.
Since I don’t have any other reasons to develop in c++ at this time I might
be able to avoid the gyrations of getting everything downloaded and
configured. It seems that there might be others who would also be
interested in c# development who would also be benefitted from it. With
that I’m also wondering if the appropriate dlls (from c++ source code)
might be included in a later version of the Win32 code on Github.
I’m just getting familiar with the code so I don’t know how much I’m really
asking. Is it a simple matter to get a copy of the dlls from someone else
or do I have to compile myself in my own environment?
Thanks,
Jeff
From: sword-devel
[mailto:sword-devel-boun...@crosswire.org[mailto:sword-devel-boun...@crosswire.org]]
On Behalf Of Jeff Becker
Sent: Monday, May 24, 2021 4:28 AM
To: 'SWORD Developers' Collaboration Forum'
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Tobias,
Thank you for the feedback. I agree that the parabible is as similar to
what I’m trying to accomplish as anything I’ve found so far. I will
definitely contact the author.
Regarding the DLLs, since Win32 is reaching the end of its support I’d like
to update to 64-bit technology including later versions of .Net framework.
Doing so may provide significant improvements in ease of programming and
performance. If it’s all right with you I’ll try to start with the Win32
code that you have on GitHub and work from there. I’d appreciate hearing
your thoughts and goals for that code when it was created so I can keep
with that as much as is practical. However, I would like to keep an open
mind. Sometimes it might be more advantageous to start fresh in order to
take full advantage of changing technologies.
I would also appreciate any guidance in keeping with SWORD protocols and
practices so that any work that is done can be readily used by others.
I think I have what I need to get started. After I’m familiar with the
available code I’ll come back with any design / redesign questions for
discussion.
Thanks again to all for the help,
Jeff
From: sword-devel
[mailto:sword-devel-boun...@crosswire.org[mailto:sword-devel-boun...@crosswire.org]]
On Behalf Of Tobias Klein
Sent: Sunday, May 23, 2021 4:55 AM
To: sword-devel@crosswire.org[mailto:sword-devel@crosswire.org]
Subject: Re: [sword-devel] Greek/Hebrew Reader screenshots
Hi Jeff,
I have recently discovered this:
https://github.com/parabible/parabible-client[https://github.com/parabible/parabible-client]
https://parabible.com/
Maybe you should contact the author ... seems similar to what you have been
describing and showing ... also webserver / webclient based architecture.
Regarding a functioning SWORD build for Windows (DLLs built with latest
MSVS compilers ...) - have a look here:
https://github.com/ezra-bible-app/sword-build-win32[https://github.com/ezra-bible-app/sword-build-win32]
A general thought regarding web-based frontends ...
There are now web components since a few years - a standard that enables
easier re-use of web-based components across applications.
Have a look here:
https://developer.mozilla.org/en-US/docs/Web/Web_Components[https://developer.mozilla.org/en-US/docs/Web/Web_Components]
I have been starting to use web components in Ezra Bible App ... and if you
also work on certain frontend components maybe there is a possibility for
sharing things!
Best regards,
Tobias
On 5/23/21 3:19 AM, Jeff Becker wrote:
Thank you for the feedback (not included here).
I think I’ve figured out what I’d like to do:
1. Stay with Web delivery of this content
1.
Screenshot_1[http://bible.fiveviews.net/Images/ScreenShots/Screenshot_2021-05-15-20-33-04.png]
Screenshot_2[http://bible.fiveviews.net/Images/ScreenShots/Screenshot_2021-05-15-20-18-43.png]
Screenshot
3[http://bible.fiveviews.net/Images/ScreenShots/Screenshot_2021-05-15-20-30-14.png]
Screenshot
4[http://bible.fiveviews.net/Images/ScreenShots/Screenshot_2021-05-15-20-53-40.png]
(see details below)
2. Implement the Crosswire / SWORD Project content (adhering to all
applicable licensing)
1. Including multilingual content and flexibility (English only seems
short-sighted)
3. Continue developing in ASP.Net[http://asp.net/] / IIS / Visual
Studio / CLR
1. Even after considering all of the suggestions and reviewing
available applications (partly because it’s my wheelhouse)
4. Develop reusable code for the MS platform and make it available
for download
1. I’d like to see a wrapper that parallels the existing Crosswire /
SWORD Project code base so that developers can easily implement it in VS20xx
2. Possibly a dll that runs under MS Common Language Runtime (CLR) so
that it’s readily available for C#, VB, C++, etc. developers (I’m not sure
if just making source code available is enough)
5. Find or develop a database of English (or any available language)
words derived from Biblical Greek words
1. Does anyone know anything about ‘English derivatives from the
Greek New Testament’ by Charles Van der Pool?
So, if that’s acceptable, I could use some help getting started:
6. Advice from others who have developed in Visual Studio (the latest
code that I was able to find was for VS 2013)
7. A document or Wiki that would get content available in Windows 10,
Windows Server 2019, etc.
8. Instructions on how to make this compliant with Crosswire / SWORD
Project standards including licensing of content
Thanks again for any help you can provide.
Jeff Becker
From: sword-devel
[mailto:sword-devel-boun...@crosswire.org[mailto:sword-devel-boun...@crosswire.org]]
On Behalf Of Jeff Becker
Sent: Saturday, May 15, 2021 9:09 PM
To: 'SWORD Developers' Collaboration Forum'
Subject: [sword-devel] Greek/Hebrew Reader screenshots
Here are some screenshots of the Greek/Hebrew Reader that I’ve been describing.
Some points of interest:
1. ‘guid=’ in URL just indicates the user id used as a record key for
preferences and bookmarks on the server;
2. Navigation buttons shift to left for Hebrew to be out of the way
as much as possible;
3. Bookmark is stored when a verse reference number is clicked/touched;
4. Shaded bookmark (paperclip) button: shaded at top means that
server has outdated info, bottom means bookmarks need to be downloaded;
5. Font enlarge and shrink buttons (per device basis);
6. Arrow buttons: up/down to top/bottom; center button scrolls to
current bookmark; left goes to previous chapter/book; right to next
chapter/book;
7. Banner at top displays relevant information and links (I’d like to
make this customizable for readers of varying skill levels);
8. Options panel displays when bookmark (paperclip) is clicked;
9. ‘Select / Go To Bookmark’ displays select of stored bookmarks (per
user based on guid, see additional screenshot);
10. Books are marked as ‘Done’ when on the last chapter of the book and
the ‘Next Chapter/Book’ button is selected;
11. Reading plan is selected through select prompt;
12. Red text on Upload / Download buttons shows that client or server has
later information (also displayed in shading of paperclip nav button);
13. ‘Move verse to top on Click’ scrolls bookmarked verse to top of
window when verse number is clicked;
14. ‘Store v1 on Next Chapter Click’ automatically updates current
bookmark to next chapter/book when Next button is clicked;
15. Current bookmark is displayed;
16. Previous / Next are chapters in reading plan (not that ‘Next’ shows
Matthew 1 after Mark 16 based on Daniel Wallace’s reading plan;
17. Cookies are for debugging purposes;
18. Text is currently just a cleaned up version of the BibleHub
Interlinear page;
The BibleHub page content is the main problem that I’d like to change next
and, as such, is the main reason for all of this communication. I’d like
to replace it with licensed content that is easier to control and display.
I hope that explains things better.
Jeff
_______________________________________________
sword-devel mailing list:
sword-devel@crosswire.org[mailto:sword-devel@crosswire.org]
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list:
sword-devel@crosswire.org[mailto:sword-devel@crosswire.org]
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________ sword-devel mailing list:
sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel[http://crosswire.org/mailman/listinfo/sword-devel]
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page