[sword-devel] InstallMgr::getModuleStatus / Performance optimization possible?

Tobias Klein contact at tklein.info
Sun Nov 6 04:15:20 EST 2022


Hi Troy,

> Thank you for taking the time to test. Are you sure you have built 
> with usrinst.sh options adjusted to switch to release optimizations?

I am building SWORD with CMake. I had a look and found that I did not 
explicitly set the CMake build type (CMAKE_BUILD_TYPE) to "Release" when 
building on PC. I just changed that and based on that the test binary 
executed in 1.1s instead of 1.8s (with cache files already present). 
That's nice! Thanks for pointing me to the release optimizations.

>
> Also, I wanted to mention that the cache is built upon the first scan 
> of the files in the folder. I am not sure what your test program does, 
> but have a look for a modules-conf.cache file in your mods.d/ folder 
> to see if your next SWMgr construction will benefit from the cache. 
> For the remote repositories on your desktop, these should live under 
> your home folder/.sword/installMgr/...

I do see a performance improvement after the cache files have been 
created the first time (going from 1.5s to 1.1s with my test program).

>
> I'll do a few more tests today to see if there is anything else I can 
> speed up. It is good to hear things improved from SVN before my recent 
> changes. We should do a profiling pass before a new stable branch to 
> be sure we haven't done anything silly over the past year which 
> affects performance.
>
> Let me know if you discover any new info,

With the Release optimizations turned on my test program with SVN HEAD 
is actually slightly faster than with the SWORD version from one year 
ago, but only when the cache has been generated once. Without cache 
files present the SWORD version from one year ago appears to be faster 
than SVN HEAD.

Once building with CMAKE_BUILD_TYPE Release I also noticed some 
additional compiler warnings. I have attached the build output for your 
reference.

Thanks for your work on this, Troy. I appreciate it!

Best regards,
Tobias

-------------- next part --------------
-- Found Subversion: /usr/bin/svn (found version "1.13.0") 
-- The CXX compiler identification is GNU 9.3.0
-- The C compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring your system to build libsword.
-- SWORD Version 1009000000
-- 
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
-- 
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/x86_64-linux-gnu/libz.so
-- bzip2: system /usr/lib/x86_64-linux-gnu/libbz2.so
-- xz: no
-- cURL: system /usr/lib/x86_64-linux-gnu/libcurl.so and /usr/include/x86_64-linux-gnu
-- CLucene: no
-- PkgConfig: yes
-- ICU: yes /usr/lib/x86_64-linux-gnu/libicudata.so;/usr/lib/x86_64-linux-gnu/libicui18n.so;/usr/lib/x86_64-linux-gnu/libicuio.so;/usr/lib/x86_64-linux-gnu/libicuuc.so and /usr/include
-- Regex.h: system /usr/include
-- Building Static library.
-- cURL SFTP Support: Yes
-- ICU Version: 66.1
-- Setting link libraries to /usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libbz2.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libicudata.so;/usr/lib/x86_64-linux-gnu/libicui18n.so;/usr/lib/x86_64-linux-gnu/libicuio.so;/usr/lib/x86_64-linux-gnu/libicuuc.so
-- 
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /usr/local
-- 0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tobi/dev/ezra_project/node-sword-interface-git/sword_build
make[1]: Entering directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
make[2]: Entering directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
make[3]: Entering directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
make[4]: Entering directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
Scanning dependencies of target sword_static
make[4]: Leaving directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
make[4]: Entering directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
[  1%] Building CXX object CMakeFiles/sword_static.dir/src/keys/swkey.cpp.o
[  1%] Building CXX object CMakeFiles/sword_static.dir/src/frontend/swlog.cpp.o
[  1%] Building CXX object CMakeFiles/sword_static.dir/src/frontend/swdisp.cpp.o
[  2%] Building CXX object CMakeFiles/sword_static.dir/src/keys/listkey.cpp.o
[  2%] Building CXX object CMakeFiles/sword_static.dir/src/keys/strkey.cpp.o
[  4%] Building CXX object CMakeFiles/sword_static.dir/src/keys/treekey.cpp.o
[  4%] Building CXX object CMakeFiles/sword_static.dir/src/keys/treekeyidx.cpp.o
[  5%] Building CXX object CMakeFiles/sword_static.dir/src/keys/versekey.cpp.o
[  5%] Building CXX object CMakeFiles/sword_static.dir/src/keys/versetreekey.cpp.o
[  7%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swconfig.cpp.o
[  7%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swmgr.cpp.o
[  7%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swfiltermgr.cpp.o
[  8%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/encfiltmgr.cpp.o
[  8%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/markupfiltmgr.cpp.o
[  9%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/filemgr.cpp.o
[  9%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/versificationmgr.cpp.o
[ 11%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/remotetrans.cpp.o
[ 11%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swlocale.cpp.o
[ 12%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/localemgr.cpp.o
[ 12%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swcacher.cpp.o
[ 14%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/swsearchable.cpp.o
[ 14%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/installmgr.cpp.o
[ 15%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/stringmgr.cpp.o
[ 15%] Building CXX object CMakeFiles/sword_static.dir/src/modules/swmodule.cpp.o
[ 16%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/swcom.cpp.o
[ 16%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/hrefcom/hrefcom.cpp.o
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/mgr/installmgr.cpp: In member function ‘virtual bool sword::InstallMgr::isUserDisclaimerConfirmed() const’:
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/mgr/installmgr.cpp:969:8: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  969 |   fgets(prompt, 9, stdin);
      |   ~~~~~^~~~~~~~~~~~~~~~~~
[ 16%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/rawcom/rawcom.cpp.o
[ 18%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/rawcom4/rawcom4.cpp.o
[ 18%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/rawfiles/rawfiles.cpp.o
[ 19%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/zcom/zcom.cpp.o
[ 19%] Building CXX object CMakeFiles/sword_static.dir/src/modules/comments/zcom4/zcom4.cpp.o
[ 21%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/rawstr.cpp.o
In file included from /usr/include/string.h:495,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:29,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/utilstr.h:28,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr.cpp:31:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void sword::RawStr::readText(SW_u32, SW_u16*, char**, sword::SWBuf&) const’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr.cpp:353:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr.cpp: In member function ‘void sword::RawStr::readText(SW_u32, SW_u16*, char**, sword::SWBuf&) const’:
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr.cpp:351:30: note: length computed here
  351 |   int localsize = (int)strlen(idxbuflocal);
      |                        ~~~~~~^~~~~~~~~~~~~
[ 21%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/rawstr4.cpp.o
[ 22%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/swcomprs.cpp.o
[ 22%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/lzsscomprs.cpp.o
In file included from /usr/include/string.h:495,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:29,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/utilstr.h:28,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr4.cpp:32:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void sword::RawStr4::readText(SW_u32, SW_u32*, char**, sword::SWBuf&) const’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr4.cpp:362:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr4.cpp: In member function ‘void sword::RawStr4::readText(SW_u32, SW_u32*, char**, sword::SWBuf&) const’:
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/rawstr4.cpp:360:48: note: length computed here
  360 |   unsigned int localsize = (unsigned int)strlen(idxbuflocal);
      |                                          ~~~~~~^~~~~~~~~~~~~
[ 23%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/rawverse.cpp.o
[ 23%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/rawverse4.cpp.o
[ 25%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/swcipher.cpp.o
In file included from /usr/include/string.h:495,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:29,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/installmgr.h:28,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/mgr/installmgr.cpp:27:
In function ‘void* memset(void*, int, size_t)’,
    inlined from ‘void sword::SWBuf::setSize(long unsigned int)’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:258:10,
    inlined from ‘virtual int sword::InstallMgr::refreshRemoteSourceConfiguration()’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/mgr/installmgr.cpp:862:75:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ specified bound 18446744073709551599 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘void* memset(void*, int, size_t)’,
    inlined from ‘void sword::SWBuf::setSize(long unsigned int)’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:258:10,
    inlined from ‘virtual int sword::InstallMgr::refreshRemoteSourceConfiguration()’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/mgr/installmgr.cpp:861:59:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ specified bound 18446744073709551610 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 25%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/zverse.cpp.o
[ 26%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/zverse4.cpp.o
[ 26%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/zstr.cpp.o
In file included from /usr/include/string.h:495,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:29,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/utilstr.h:28,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/zstr.cpp:31:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void sword::zStr::getText(long int, char**, char**) const’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/zstr.cpp:373:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/zstr.cpp: In member function ‘void sword::zStr::getText(long int, char**, char**) const’:
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/common/zstr.cpp:371:36: note: length computed here
  371 |   SW_u32 localsize = (SW_u32)strlen(idxbuflocal);
      |                              ~~~~~~^~~~~~~~~~~~~
[ 26%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/entriesblk.cpp.o
[ 28%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/sapphire.cpp.o
[ 28%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/swbasicfilter.cpp.o
[ 29%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/swoptfilter.cpp.o
[ 29%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfhtml.cpp.o
[ 30%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfxhtml.cpp.o
[ 30%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfhtmlhref.cpp.o
[ 32%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfwebif.cpp.o
[ 32%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfplain.cpp.o
[ 33%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfrtf.cpp.o
[ 33%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfstrongs.cpp.o
[ 35%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbffootnotes.cpp.o
[ 35%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfheadings.cpp.o
[ 36%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfredletterwords.cpp.o
[ 36%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfmorph.cpp.o
[ 38%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfwordjs.cpp.o
[ 38%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbflatex.cpp.o
[ 38%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlstrongs.cpp.o
[ 39%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlfootnotes.cpp.o
[ 39%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlheadings.cpp.o
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/filters/gbfwordjs.cpp: In member function ‘virtual char sword::GBFWordJS::processText(sword::SWBuf&, const sword::SWKey*, const sword::SWModule*)’:
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/filters/gbfwordjs.cpp:100:25: warning: ‘%03d’ directive writing between 3 and 10 bytes into a region of size 5 [-Wformat-overflow=]
  100 |       sprintf(wordstr, "%03d", word++);
      |                         ^~~~
/home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/filters/gbfwordjs.cpp:100:24: note: directive argument in the range [1, 2147483647]
  100 |       sprintf(wordstr, "%03d", word++);
      |                        ^~~~~~
In file included from /usr/include/stdio.h:867,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/modules/filters/gbfwordjs.cpp:24:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:34: note: ‘__builtin___sprintf_chk’ output between 4 and 11 bytes into a destination of size 5
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 40%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlmorph.cpp.o
[ 40%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmllemma.cpp.o
[ 42%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlscripref.cpp.o
[ 42%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlvariants.cpp.o
[ 43%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlgbf.cpp.o
[ 43%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlrtf.cpp.o
[ 45%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlhtml.cpp.o
[ 45%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlxhtml.cpp.o
[ 46%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlhtmlhref.cpp.o
[ 46%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlwebif.cpp.o
[ 47%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlwordjs.cpp.o
[ 47%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmllatex.cpp.o
[ 47%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/teiplain.cpp.o
[ 49%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/teirtf.cpp.o
[ 49%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/teixhtml.cpp.o
[ 50%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/teihtmlhref.cpp.o
[ 50%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/teilatex.cpp.o
[ 52%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfthml.cpp.o
[ 52%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/gbfosis.cpp.o
[ 53%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlosis.cpp.o
[ 53%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/thmlplain.cpp.o
[ 54%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisosis.cpp.o
[ 54%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisenum.cpp.o
[ 56%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisglosses.cpp.o
[ 56%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisxlit.cpp.o
[ 57%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisheadings.cpp.o
[ 57%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisfootnotes.cpp.o
[ 57%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osishtmlhref.cpp.o
[ 59%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisxhtml.cpp.o
[ 59%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osiswebif.cpp.o
[ 60%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osismorph.cpp.o
[ 60%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisstrongs.cpp.o
[ 61%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisplain.cpp.o
[ 61%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisrtf.cpp.o
[ 63%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osislemma.cpp.o
[ 63%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisredletterwords.cpp.o
[ 64%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisscripref.cpp.o
[ 64%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisvariants.cpp.o
[ 66%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osiswordjs.cpp.o
[ 66%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osismorphsegmentation.cpp.o
[ 67%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osisreferencelinks.cpp.o
[ 67%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/osislatex.cpp.o
[ 67%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/latin1utf8.cpp.o
[ 69%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/latin1utf16.cpp.o
[ 69%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8utf16.cpp.o
[ 70%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf16utf8.cpp.o
[ 70%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8html.cpp.o
[ 71%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8latin1.cpp.o
[ 71%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/unicodertf.cpp.o
[ 73%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/scsuutf8.cpp.o
[ 73%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8scsu.cpp.o
[ 74%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8cantillation.cpp.o
[ 74%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8hebrewpoints.cpp.o
[ 76%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8arabicpoints.cpp.o
[ 76%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8greekaccents.cpp.o
[ 77%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/cipherfil.cpp.o
[ 77%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/rtfhtml.cpp.o
[ 77%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/greeklexattribs.cpp.o
[ 78%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/papyriplain.cpp.o
[ 78%] Building CXX object CMakeFiles/sword_static.dir/src/modules/genbook/swgenbook.cpp.o
[ 80%] Building CXX object CMakeFiles/sword_static.dir/src/modules/genbook/rawgenbook/rawgenbook.cpp.o
[ 80%] Building CXX object CMakeFiles/sword_static.dir/src/modules/lexdict/swld.cpp.o
[ 81%] Building CXX object CMakeFiles/sword_static.dir/src/modules/lexdict/rawld/rawld.cpp.o
[ 81%] Building CXX object CMakeFiles/sword_static.dir/src/modules/lexdict/rawld4/rawld4.cpp.o
[ 83%] Building CXX object CMakeFiles/sword_static.dir/src/modules/lexdict/zld/zld.cpp.o
[ 83%] Building CXX object CMakeFiles/sword_static.dir/src/modules/texts/swtext.cpp.o
[ 84%] Building CXX object CMakeFiles/sword_static.dir/src/modules/texts/rawtext/rawtext.cpp.o
[ 84%] Building CXX object CMakeFiles/sword_static.dir/src/modules/texts/rawtext4/rawtext4.cpp.o
[ 85%] Building CXX object CMakeFiles/sword_static.dir/src/modules/texts/ztext/ztext.cpp.o
[ 85%] Building CXX object CMakeFiles/sword_static.dir/src/modules/texts/ztext4/ztext4.cpp.o
[ 87%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/swobject.cpp.o
[ 87%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/utilstr.cpp.o
[ 87%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/utilxml.cpp.o
[ 88%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/swversion.cpp.o
[ 88%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/swbuf.cpp.o
[ 90%] Building C object CMakeFiles/sword_static.dir/src/utilfuns/ftpparse.c.o
[ 90%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/url.cpp.o
[ 91%] Building CXX object CMakeFiles/sword_static.dir/src/utilfuns/roman.cpp.o
[ 91%] Building CXX object CMakeFiles/sword_static.dir/bindings/flatapi.cpp.o
[ 92%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/zipcomprs.cpp.o
In file included from /usr/include/string.h:495,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:29,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/utilxml.h:27,
                 from /home/tobi/dev/ezra_project/node-sword-interface-git/sword/src/utilfuns/utilxml.cpp:24:
In function ‘void* memset(void*, int, size_t)’,
    inlined from ‘void sword::SWBuf::setSize(long unsigned int)’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:258:10,
    inlined from ‘const char* sword::XMLTag::setAttribute(const char*, const char*, int, char)’ at /home/tobi/dev/ezra_project/node-sword-interface-git/sword/include/swbuf.h:399:56:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:33: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 92%] Building C object CMakeFiles/sword_static.dir/src/modules/common/ioapi.c.o
[ 94%] Building C object CMakeFiles/sword_static.dir/src/modules/common/unzip.c.o
[ 94%] Building CXX object CMakeFiles/sword_static.dir/src/modules/common/bz2comprs.cpp.o
[ 95%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/curlftpt.cpp.o
[ 95%] Building CXX object CMakeFiles/sword_static.dir/src/mgr/curlhttpt.cpp.o
[ 97%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8transliterator.cpp.o
[ 97%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8nfc.cpp.o
[ 97%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8nfkd.cpp.o
[ 98%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8arshaping.cpp.o
[ 98%] Building CXX object CMakeFiles/sword_static.dir/src/modules/filters/utf8bidireorder.cpp.o
[100%] Linking CXX static library libsword.a
make[4]: Leaving directory '/home/tobi/dev/ezra_project/node-sword-interface-git/sword_build'
[100%] Built target sword_static


More information about the sword-devel mailing list