<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">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>