If you're missing dependencies you should be able to do, "dnf builddep mingw-sword".
--Greg On Mon, Jul 27, 2020 at 1:33 AM Greg Hellings <greg.helli...@gmail.com> wrote: > > > On Sun, Jul 26, 2020 at 4:56 PM Tobias Klein <cont...@tklein.info> wrote: > >> Hi Troy, >> >> The latest version builds successfully. >> >> I created a new intermediate release of sword-build-win32 for further >> testing on Windows: >> > It's still failing for me trying to do a cross-compile with MinGW: > > [ 6%] Building CXX object CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj > /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 > /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static member > function 'static int sword::FileMgr::createParent(const char*)': > /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'? > 439 | _wmkdir((const wchar_t *)utf8ToWChar(buf).getRawData()); > | ^~~~~~~ > | mkdir > make[2]: *** [CMakeFiles/sword.dir/build.make:282: > CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error 1 > make[2]: Leaving directory > '/builddir/build/BUILD/sword-1.8.900/build_win32' > make[1]: Leaving directory > '/builddir/build/BUILD/sword-1.8.900/build_win32' > make[1]: *** [CMakeFiles/Makefile2:277: CMakeFiles/sword.dir/all] Error 2 > make: *** [Makefile:152: all] Error 2 > make: Leaving directory '/builddir/build/BUILD/sword-1.8.900/build_win32' > > 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): > /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 .. > > Followed by > > make > > --Greg > >> >> https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-07-26 >> >> Best regards, >> Tobias >> On 7/26/20 8:37 PM, Troy A. Griffitts wrote: >> >> Thanks Tobias, >> >> 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. >> >> Troy >> >> >> On 7/26/20 8:25 PM, Tobias Klein wrote: >> >> To address the errors below I had to add the include for <windows.h> both >> in *src/mgr/filemgr.cpp* and in *src/modules/commons/zipmgr.cpp*. >> >> After that I'm getting the next error: >> >> 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' >> 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 >> >> Best regards, >> Tobias >> On 7/26/20 4:44 PM, Troy A. Griffitts wrote: >> >> Can one of you guys try simply including <windows.h> at the top of >> filemgr.cpp and see if this fixes it for you? >> >> >> On 7/26/20 4:01 PM, Tobias Klein wrote: >> >> I'm getting similar error messages with Visual Studio 2019. Note that I'm >> also generating the make files via CMake. >> >> First couple of error messages: >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,2): >> error C2065: 'WIN32_FIND_DATAW': undeclared identifier >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): >> error C2146: syntax error: missing ';' before identifier 'fileData' >> >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): >> error C2065: 'fileData': undeclared identifier >> >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,2): >> error C2065: 'HANDLE': undeclared identifier >> >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): >> error C2146: syntax error: missing ';' before identifier 'findIterator' >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): >> error C2065: 'findIterator': undeclared identifier >> 2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,51): >> error C2065: 'fileData': undeclared identifier >> >> >> Best regards, >> Tobias >> >> On 7/26/20 3:00 PM, Greg Hellings wrote: >> >> >> >> On Sun, Jul 26, 2020 at 6:42 AM Troy A. Griffitts <scr...@crosswire.org> >> wrote: >> >>> 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. >>> >>> Thanks for any feedback, >>> >>> Troy >>> >> During cross-compile I'm getting the following errors: >> >> [ 6%] Building CXX object CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj >> /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 >> /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)': >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:395:2: error: >> 'WIN32_FIND_DATAW' was not declared in this scope >> 395 | WIN32_FIND_DATAW fileData; >> | ^~~~~~~~~~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:398:2: error: >> 'HANDLE' was not declared in this scope >> 398 | HANDLE findIterator = FindFirstFileW(wcharPath, &fileData); >> | ^~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:6: error: >> 'findIterator' was not declared in this scope >> 399 | if (findIterator != INVALID_HANDLE_VALUE) { >> | ^~~~~~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:22: error: >> 'INVALID_HANDLE_VALUE' was not declared in this scope >> 399 | if (findIterator != INVALID_HANDLE_VALUE) { >> | ^~~~~~~~~~~~~~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:401:35: error: >> 'fileData' was not declared in this scope >> 401 | SWBuf dirEntName = wcharToUTF8(fileData.cFileName); >> | ^~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:405:49: error: >> 'FILE_ATTRIBUTE_DIRECTORY' was not declared in this scope >> 405 | i.isDirectory = fileData.dwFileAttributes & >> FILE_ATTRIBUTE_DIRECTORY; >> | >> ^~~~~~~~~~~~~~~~~~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:40: error: >> 'fileData' was not declared in this scope >> 409 | } while (FindNextFile(findIterator, &fileData) != 0); >> | ^~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:12: error: >> 'FindNextFile' was not declared in this scope >> 409 | } while (FindNextFile(findIterator, &fileData) != 0); >> | ^~~~~~~~~~~~ >> /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'? >> 410 | FindClose(findIterator); >> | ^~~~~~~~~ >> | _findclose >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:397:17: warning: >> unused variable 'wcharPath' [-Wunused-variable] >> 397 | const wchar_t *wcharPath = (const wchar_t >> *)wcharBuf.getRawData(); >> | ^~~~~~~~~ >> /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static member >> function 'static int sword::FileMgr::createParent(const char*)': >> /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'? >> 436 | _wmkdir((const wchar_t *)utf8ToWChar(buf).getRawData()); >> | ^~~~~~~ >> | mkdir >> make[2]: *** [CMakeFiles/sword.dir/build.make:283: >> CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error 1 >> >> 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? >> >> --Greg >> >>> >>> On 7/20/20 7:18 PM, Greg Hellings wrote: >>> >>> Sorry for the previous blank email - user error when I tried to reply: >>> >>> On Sun, Jul 19, 2020 at 2:40 PM Tobias Klein <cont...@tklein.info> >>> wrote: >>> >>>> Thanks for giving me the background on this, Karl! I appreciate it! >>>> >>>> Is Xiphos the only frontend that has been patching Sword for this >>>> purpose? Then I suppose all other frontends suffer from this issue, huh? >>>> >>> >>> 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. >>> >>> 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. >>> >>> --Greg >>> >>> _______________________________________________ >>> sword-devel mailing list: >>> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >>> >>> _______________________________________________ >>> sword-devel mailing list: sword-devel@crosswire.org >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> >> _______________________________________________ >> sword-devel mailing list: >> sword-devel@crosswire.orghttp://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page >> >> _______________________________________________ >> sword-devel mailing list: sword-devel@crosswire.org >> http://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page > >
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page