kiwix / kiwix-tools

Command line Kiwix tools: kiwix-serve, kiwix-manage, ...
https://download.kiwix.org/release/kiwix-tools/
GNU General Public License v3.0
462 stars 87 forks source link

compile fails on macOS #355

Closed rgaudin closed 4 years ago

rgaudin commented 4 years ago

Since last commit (19c3ebe) introducing --donottrustlibrary, compilation fails using dependencies compiled via kiwix-build master (macOS).

$ ninja -C build
ninja: Entering directory `build'
[2/8] Compiling C++ object 'src/server/e19e62e@@kiwix-serve@exe/kiwix-serve.cpp.o'.
FAILED: src/server/e19e62e@@kiwix-serve@exe/kiwix-serve.cpp.o
c++ -Isrc/server/e19e62e@@kiwix-serve@exe -Isrc/server -I../src/server -I/Users/reg/src/kiwix-build/BUILD_native_dyn/INSTALL/include/ -I/Users/reg/src/kiwix-build/BUILD_native_dyn/INSTALL/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -Werror -std=c++11 -g '-DKIWIX_TOOLS_VERSION="3.0.2"' -MD -MQ 'src/server/e19e62e@@kiwix-serve@exe/kiwix-serve.cpp.o' -MF 'src/server/e19e62e@@kiwix-serve@exe/kiwix-serve.cpp.o.d' -o 'src/server/e19e62e@@kiwix-serve@exe/kiwix-serve.cpp.o' -c ../src/server/kiwix-serve.cpp
../src/server/kiwix-serve.cpp:196:28: error: no matching member function for call to 'readFile'
          retVal = manager.readFile(libraryPath, true, trustlibrary);
                   ~~~~~~~~^~~~~~~~
/Users/reg/src/kiwix-build/BUILD_native_dyn/INSTALL/include/kiwix/manager.h:89:8: note: candidate function not viable: no known conversion from 'bool' to 'const std::string' (aka 'const basic_string<char, char_traits<char>, allocator<char> >') for 2nd argument
  bool readFile(const std::string& nativePath,
       ^
/Users/reg/src/kiwix-build/BUILD_native_dyn/INSTALL/include/kiwix/manager.h:77:8: note: candidate function not viable: requires at most 2 arguments, but 3 were provided
  bool readFile(const std::string& path, const bool readOnly = true);
       ^
1 error generated.
[5/8] Compiling C++ object 'src/manager/2de60dd@@kiwix-manage@exe/kiwix-manage.cpp.o'.
ninja: build stopped: subcommand failed.

Note: just removing trustlibrary in retVal = manager.readFile(libraryPath, true, trustlibrary); allows it to compile.

Is this a serve issue or libkiwix or a kiwix-build one?

mgautierfr commented 4 years ago

What version of kiwix-lib do you use ? It should work with version 9.0.0 (or master)

rgaudin commented 4 years ago

Working now using master.