<div dir="ltr"><div>If you're missing dependencies you should be able to do, "dnf builddep mingw-sword".</div><div><br></div><div>--Greg<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 27, 2020 at 1:33 AM Greg Hellings <<a href="mailto:greg.hellings@gmail.com">greg.hellings@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 26, 2020 at 4:56 PM Tobias Klein <<a href="mailto:contact@tklein.info" target="_blank">contact@tklein.info</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hi Troy,</p>
<p>The latest version builds successfully.</p>
<p>I created a new intermediate release of sword-build-win32 for
further testing on Windows:</p></div></blockquote><div>It's still failing for me trying to do a cross-compile with MinGW:</div><div><br></div><div>[ 6%] Building CXX object CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj<br>/usr/bin/i686-w64-mingw32-g++ -DCLUCENE2 -DCURLAVAILABLE -DCURLSFTPAVAILABLE -DEXCLUDEBZIP2 -DEXCLUDEXZ -DGLOBCONFPATH=\"/usr/i686-w64-mingw32/sys-root/mingw/etc/sword.conf\" -DUSEICUREGEX -DUSELUCENE -DU_USING_ICU_NAMESPACE -D_FTPLIB_NO_COMPAT -D_ICU_ -Dsword_EXPORTS @CMakeFiles/sword.dir/includes_CXX.rsp -D_ICUSWORD_ -g3 -Wall -O0 -D_ICUSWORD_ -o CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj -c /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp<br>/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static member function 'static int sword::FileMgr::createParent(const char*)':<br>/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:439:5: error: '_wmkdir' was not declared in this scope; did you mean 'mkdir'?<br> 439 | _wmkdir((const wchar_t *)utf8ToWChar(buf).getRawData());<br> | ^~~~~~~<br> | mkdir<br>make[2]: *** [CMakeFiles/sword.dir/build.make:282: CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error 1<br>make[2]: Leaving directory '/builddir/build/BUILD/sword-1.8.900/build_win32'<br>make[1]: Leaving directory '/builddir/build/BUILD/sword-1.8.900/build_win32'<br>make[1]: *** [CMakeFiles/Makefile2:277: CMakeFiles/sword.dir/all] Error 2<br>make: *** [Makefile:152: all] Error 2<br>make: Leaving directory '/builddir/build/BUILD/sword-1.8.900/build_win32'</div><div><br></div><div>Commands to do the build, from Fedora 32, include this lovely invocation of CMake from within a subfolder of the source (build_win32 for the above):<br></div><div>/usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw32.cmake -DBUILD_SHARED_LIBS:BOOL=ON -DSYSCONF_INSTALL_DIR:PATH=/usr/i686-w64-mingw32/sys-root/mingw/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/i686-w64-mingw32/sys-root/mingw/share -DCMAKE_INSTALL_PREFIX:PATH=/usr/i686-w64-mingw32/sys-root/mingw -DCMAKE_INSTALL_LIBDIR:PATH=/usr/i686-w64-mingw32/sys-root/mingw/lib -DICU_CONFIG_BIN_PATH=/usr/i686-w64-mingw32/sys-root/mingw/bin -DINCLUDE_INSTALL_DIR:PATH=/usr/i686-w64-mingw32/sys-root/mingw/include -DCMAKE_VERBOSE_MAKEFILE=ON -DLIBSWORD_LIBRARY_TYPE=Shared -DSWORD_BUILD_EXAMPLES=Yes -DCMAKE_BUILD_TYPE=Debug -DICU_CONFIG_OPTS=--noverify -DCROSS_COMPILE_MINGW32=TRUE ..</div><div><br></div><div>Followed by</div><div><br></div><div>make</div><div><br></div><div>--Greg<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<p><a href="https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-07-26" target="_blank">https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-07-26</a></p>
<p>Best regards,<br>
Tobias<br>
</p>
<div>On 7/26/20 8:37 PM, Troy A. Griffitts
wrote:<br>
</div>
<blockquote type="cite">
<p>Thanks Tobias,</p>
<p>I've made these updates and should have fixed the error in
filemgr.cpp on line 410. I appreciate the feedback. Please
update and try this out and let me know. Thanks for testing
your compiler.</p>
<p>Troy</p>
<p><br>
</p>
<div>On 7/26/20 8:25 PM, Tobias Klein
wrote:<br>
</div>
<blockquote type="cite">
<p>To address the errors below I had to add the include for
<windows.h> both in <b>src/mgr/filemgr.cpp</b> and in <b>src/modules/commons/zipmgr.cpp</b>.</p>
<p>After that I'm getting the next error:</p>
<p>1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
error C2664: 'BOOL FindNextFileA(HANDLE,LPWIN32_FIND_DATAA)':
cannot convert argument 2 from 'WIN32_FIND_DATAW *' to
'LPWIN32_FIND_DATAA'<br>
1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
note: Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast</p>
<p>Best regards,<br>
Tobias<br>
</p>
<div>On 7/26/20 4:44 PM, Troy A.
Griffitts wrote:<br>
</div>
<blockquote type="cite">
<p>Can one of you guys try simply including <windows.h>
at the top of filemgr.cpp and see if this fixes it for you?</p>
<p><br>
</p>
<div>On 7/26/20 4:01 PM, Tobias Klein
wrote:<br>
</div>
<blockquote type="cite">
<p>I'm getting similar error messages with Visual Studio
2019. Note that I'm also generating the make files via
CMake.<br>
</p>
<p>First couple of error messages:<br>
</p>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(88,96,105)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,2): error C2065: 'WIN32_FIND_DATAW': undeclared identifier
</span></span></div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2146: syntax error: missing ';' before identifier 'fileData'
</span></span></div>
</div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250)"><br>
</div>
</div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2065: 'fileData': undeclared identifier
</span></span></div>
</div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250)"><br>
</div>
</div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,2): error C2065: 'HANDLE': undeclared identifier
</span></span></div>
</div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250)"><br>
</div>
</div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2146: syntax error: missing ';' before identifier 'findIterator'
</span></span></div>
</div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2065: 'findIterator': undeclared identifier
</span></span></div>
</div>
</div>
<div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250);background-color:rgb(47,54,61)"><span style="box-sizing:border-box;margin-left:16px;display:inline-block;overflow-x:auto;white-space:pre-wrap"><span style="box-sizing:border-box">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,51): error C2065: 'fileData': undeclared identifier
</span></span></div>
</div>
<div style="box-sizing:border-box">
<div style="box-sizing:border-box;display:flex;color:rgb(246,248,250)"><br>
</div>
</div>
</div>
<div><br>
</div>
<div>Best regards,<br>
Tobias<br>
</div>
<div><br>
</div>
<div>On 7/26/20 3:00 PM, Greg
Hellings wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul 26, 2020
at 6:42 AM Troy A. Griffitts <<a href="mailto:scribe@crosswire.org" target="_blank">scribe@crosswire.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>I've just committed the last bit for fixing the
WIN32 Unicode issues. If anyone can try
compiling and running Xiphos without the Xiphos
patch or any other projects for Windows, and let
me know if things work for them in folders which
include Unicode character, I would appreciate
it. I've tested BibleCS and it now works with a
SWORD_PATH defined to /books/χαρις. I've tested
using and installing modules in this
configuration and believe all the bugs are
squashed, but I would love confirmation from
other projects.</p>
<p>Thanks for any feedback,</p>
<p>Troy</p>
</div>
</blockquote>
<div>During cross-compile I'm getting the following
errors:</div>
<div><br>
</div>
<div>[ 6%] Building CXX object
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj<br>
/usr/bin/i686-w64-mingw32-g++ -DCLUCENE2
-DCURLAVAILABLE -DCURLSFTPAVAILABLE -DEXCLUDEBZIP2
-DEXCLUDEXZ
-DGLOBCONFPATH=\"/usr/i686-w64-mingw32/sys-root/mingw/etc/sword.conf\"
-DUSEICUREGEX -DUSELUCENE -DU_USING_ICU_NAMESPACE
-D_FTPLIB_NO_COMPAT -D_ICU_ -Dsword_EXPORTS
@CMakeFiles/sword.dir/includes_CXX.rsp -D_ICUSWORD_
-g3 -Wall -O0 -D_ICUSWORD_ -o
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj -c
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static
member function 'static
std::vector<sword::DirEntry>
sword::FileMgr::getDirList(const char*, bool,
bool)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:395:2: error:
'WIN32_FIND_DATAW' was not declared in this scope<br>
395 | WIN32_FIND_DATAW fileData;<br>
| ^~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:398:2: error:
'HANDLE' was not declared in this scope<br>
398 | HANDLE findIterator =
FindFirstFileW(wcharPath, &fileData);<br>
| ^~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:6: error:
'findIterator' was not declared in this scope<br>
399 | if (findIterator != INVALID_HANDLE_VALUE) {<br>
| ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:22: error:
'INVALID_HANDLE_VALUE' was not declared in this
scope<br>
399 | if (findIterator != INVALID_HANDLE_VALUE) {<br>
| ^~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:401:35: error:
'fileData' was not declared in this scope<br>
401 | SWBuf dirEntName =
wcharToUTF8(fileData.cFileName);<br>
| ^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:405:49: error:
'FILE_ATTRIBUTE_DIRECTORY' was not declared in this
scope<br>
405 | i.isDirectory =
fileData.dwFileAttributes &
FILE_ATTRIBUTE_DIRECTORY;<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:40: error:
'fileData' was not declared in this scope<br>
409 | } while (FindNextFile(findIterator,
&fileData) != 0);<br>
|
^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:12: error:
'FindNextFile' was not declared in this scope<br>
409 | } while (FindNextFile(findIterator,
&fileData) != 0);<br>
| ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:410:3: error:
'FindClose' was not declared in this scope; did you
mean '_findclose'?<br>
410 | FindClose(findIterator);<br>
| ^~~~~~~~~<br>
| _findclose<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:397:17: warning:
unused variable 'wcharPath' [-Wunused-variable]<br>
397 | const wchar_t *wcharPath = (const wchar_t
*)wcharBuf.getRawData();<br>
| ^~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static
member function 'static int
sword::FileMgr::createParent(const char*)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:436:5: error:
'_wmkdir' was not declared in this scope; did you
mean 'mkdir'?<br>
436 | _wmkdir((const wchar_t
*)utf8ToWChar(buf).getRawData());<br>
| ^~~~~~~<br>
| mkdir<br>
make[2]: *** [CMakeFiles/sword.dir/build.make:283:
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error
1</div>
<div><br>
</div>
<div>I'm assuming there's a new package or macro I
need to define? On my system the WIN32_FIND_DATAW
struct is defined in both minwinbase.h and
shtypes.h. I'm building with MinGW which might have
a different header structure than your compilers, if
you're using Borland?</div>
<div><br>
</div>
<div>--Greg<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>On 7/20/20 7:18 PM, Greg Hellings wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Sorry for the previous blank email - user
error when I tried to reply:<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun,
Jul 19, 2020 at 2:40 PM Tobias Klein <<a href="mailto:contact@tklein.info" target="_blank">contact@tklein.info</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="DE">
<div>
<p class="MsoNormal"><span lang="EN-US">Thanks for giving me
the background on this, Karl! I
appreciate it!</span></p>
<p class="MsoNormal"><span lang="EN-US">Is Xiphos the only
frontend that has been patching
Sword for this purpose? Then I
suppose all other frontends suffer
from this issue, huh?</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>When I first encountered this patch in
Xiphos I tested with BibleTime and The
Sword Project for Windows and both of them
do crash under these circumstances.</div>
<div><br>
</div>
<div>Yes, other toolkits such as Qt do have
wrappers for this shortcoming already, but
none of the other front ends I've worked
with have bothered to put in the effort to
produce a patched version of Sword to fix
the crash.</div>
<div><br>
</div>
<div>--Greg</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</div>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at
above page</blockquote>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</div>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page</blockquote></div></div>
</blockquote></div></div>