Uploaded image for project: 'SWORD'
  1. SWORD
  2. API-207

Cannot build Sword 1.8.1 under Slackware-Linux

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.1
    • Fix Version/s: None
    • Component/s: core
    • Labels:
      None

      Description

      Using Slackware Linux, version Slackware64-current.

      gcc version: 7.3

      I usually use Bibletime for Linux.

      However, the distribution switched to icu4c 61.1 and since then compilation fails.

      the relevant part of the build where compilation fails is here:
       libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D_unix_ -DSWICU_DATA=\"/usr/lib64/sword/1.8.1_icu_\" -D_FTPLIB_NO_COMPAT -Ofast -fPIC -DEXCLUDEBZIP2 -DEXCLUDEXZ -D_ICU_ -DCURLAVAILABLE -DCURLSFTPAVAILABLE -I/usr/include/CLucene/ext -DUSELUCENE -DCLUCENE2 -I/usr/lib64 -DUSEXAPIAN -Wno-address -Wno-nonnull-compare -O2 -fPIC -ftemplate-depth=100 -MT swconfig.lo -MD -MP -MF .deps/swconfig.Tpo -c ../src/mgr/swconfig.cpp -fPIC -DPIC -o .libs/swconfig.o
      mv -f .deps/swconfig.Tpo .deps/swconfig.Plo
      /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D_unix_ -DSWICU_DATA=\"/usr/lib64/sword/1.8.1_icu_\" -D_FTPLIB_NO_COMPAT -Ofast -fPIC -DEXCLUDEBZIP2 -DEXCLUDEXZ -D_ICU_ -DCURLAVAILABLE -DCURLSFTPAVAILABLE -I/usr/include/CLucene/ext -DUSELUCENE -DCLUCENE2 -I/usr/lib64 -DUSEXAPIAN -Wno-address -Wno-nonnull-compare -O2 -fPIC -ftemplate-depth=100 -MT swmgr.lo -MD -MP -MF .deps/swmgr.Tpo -c -o swmgr.lo `test -f '../src/mgr/swmgr.cpp' || echo './'`../src/mgr/swmgr.cpp
      libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D_unix_ -DSWICU_DATA=\"/usr/lib64/sword/1.8.1_icu_\" -D_FTPLIB_NO_COMPAT -Ofast -fPIC -DEXCLUDEBZIP2 -DEXCLUDEXZ -D_ICU_ -DCURLAVAILABLE -DCURLSFTPAVAILABLE -I/usr/include/CLucene/ext -DUSELUCENE -DCLUCENE2 -I/usr/lib64 -DUSEXAPIAN -Wno-address -Wno-nonnull-compare -O2 -fPIC -ftemplate-depth=100 -MT swmgr.lo -MD -MP -MF .deps/swmgr.Tpo -c ../src/mgr/swmgr.cpp -fPIC -DPIC -o .libs/swmgr.o
      In file included from ../src/mgr/swmgr.cpp:108:0:
      ../include/utf8transliterator.h:53:2: error: 'UnicodeString' does not name a type
      UnicodeString resource;
      ^~~~~~~~~~~~~
      ../include/utf8transliterator.h:56:24: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
      typedef std::map<const UnicodeString, SWTransData> SWTransMap;
      ^~~~~~~~~~~~~
      ../include/utf8transliterator.h:56:50: error: wrong number of template arguments (1, should be at least 2)
      typedef std::map<const UnicodeString, SWTransData> SWTransMap;
      ^
      In file included from /usr/include/c++/7.3.0/map:61:0,
      from ../include/swmgr.h:60,
      from ../src/mgr/swmgr.cpp:33:
      /usr/include/c++/7.3.0/bits/stl_map.h:99:11: note: provided for 'template<class _Key, class _Tp, class _Compare, class _Alloc> class std::map'
      class map
      ^~~
      In file included from ../src/mgr/swmgr.cpp:108:0:
      ../include/utf8transliterator.h:57:19: error: 'UnicodeString' was not declared in this scope
      typedef std::pair<UnicodeString, SWTransData> SWTransPair;
      ^~~~~~~~~~~~~
      ../include/utf8transliterator.h:57:19: note: suggested alternative:
      In file included from ../include/utf8transliterator.h:41:0,
      from ../src/mgr/swmgr.cpp:108:
      /usr/include/unicode/unistr.h:286:20: note: 'icu_61::UnicodeString'
      class U_COMMON_API UnicodeString : public Replaceable
      ^~~~~~~~~~~~~
      In file included from ../src/mgr/swmgr.cpp:108:0:
      ../include/utf8transliterator.h:57:45: error: template argument 1 is invalid
      typedef std::pair<UnicodeString, SWTransData> SWTransPair;
      ^
      ../include/utf8transliterator.h:84:2: error: 'Transliterator' does not name a type; did you mean 'UTransliterator'?
      Transliterator *createTrans(const UnicodeString& ID, UTransDirection dir, UErrorCode &status);
      ^~~~~~~~~~~~~~
      UTransliterator
      make[1]: *** [Makefile:1428: swmgr.lo] Error 1
      make[1]: Leaving directory '/tmp/SBo/sword-1.8.1/lib'
      make: *** [Makefile:630: all-recursive] Error 1

       
      Pastebin link of the above:

      https://hastebin.com/wigavofiku.vbs

       

      I would like to be able to run Bibletime again for my Bible Study and therefore fixing this build issue would be very appreciated.

       

      Thanks and God bless,

       

      Eduardo

      Asunción, Paraguay, South America.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              sombragris Eduardo Sanchez
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: