monero-project / kovri

The Kovri I2P Router Project
Other
570 stars 114 forks source link

OpenBSD support #590

Closed pwrml closed 7 years ago

pwrml commented 7 years ago

Hi!

Build on OpenBSD does not work, in particular because the "asio" dependency of "cppnetlib" does not currently build on OpenBSD

Build on OpenBSD is done as follows, FYR: "git clone https://github.com/monero-project/kovri; cd kovri; CC=egcc CXX=eg++ CXXFLAGS="-pthread" cmake .; make".

("--recursive" can be added to the "git clone" to fetch the ASIO dependency, i tried to build it first and it failed, and then I went on with https://sourceforge.net/projects/asio/files/asio/1.10.6%20%28Stable%29/asio-1.10.6.tar.gz/download , which could be more up to date.)

ASIO does not build on OpenBSD out of the box currently, for two reasons: 1) ASIO links to SSLv3 primitives in OpenSSL, which are not included in OpenBSD's OpenSSL distro (LibreSSL), 2) ASIO links to libpthreads the wrong way.

I documented my most recent asio build failure on https://sourceforge.net/p/asio/mailman/message/35721683/ .

This leads me to a key question: Why do you use "cppnetlib" in the first place, if it is so immature that it not has reasonable platform support already? -

Do you do it because "cppnetlib" gives you some extremely valuable crossplatform functionality and hence saves you of tons and tons of work, or, are there other more commonly used libraries that you could use instead?

And maybe in particular, is "cppnetlib" mandatory for building Kovri?

In contrast I2PD does build out of the box.

Kovri looks nice however it must build.

Please let me know, thanks!

pwrml commented 7 years ago

Wait, asio is actually bundled with Boost, and so I have asio already in "/usr/local/include/boost/asio/".

And, i'm seeing that cppnetlib tries to use that asio at build time. This needs some followup.

pwrml commented 7 years ago

Posted issue in cppnetlib's github repo. Looking forward to their clarification and fix. That should be the next step in making it work.

Issue: https://github.com/cpp-netlib/cpp-netlib/issues/741

anonimal commented 7 years ago

We currently don't support OpenBSD for various reasons. This will change in the future. Notice in README.md for all actively supported platforms.

Build on OpenBSD is done as follows, FYR: "git clone https://github.com/monero-project/kovri; cd kovri; CC=egcc CXX=eg++ CXXFLAGS="-pthread" cmake .; make".

Those aren't even the correct build instructions. Please RTFM.

You can also try git clone --recursive https://github.com/monero-project/kovri && cd kovri/ && export CC=egcc CXX=eg++ && make

Note: OpenBSD cmake requirements, if needed, may not satisfied because like I said above though pthreads is satisfied by our cmake recipe.

I2PD does build out of the box.

Last time I checked, they also compromised your anonymity out of the box. What's your point? These are different projects, ever different code. Comparing apples to oranges is futile.

pwrml commented 7 years ago

Hi @anonimal , thanks a lot for your response!

I guess OpenBSD should be extremely easy to support.

I pushed the build process forward below and only cosmetic updates appear to be needed to make it build.

I would be the happiest to do testing as first kovri user on this OS.

Thanks for your suggestion of compiling with "git clone --recursive https://github.com/monero-project/kovri && cd kovri/ && export CC=egcc CXX=eg++ && make".

I think the "make" you mean is the GNU make rather than the BSD make. This "make" is called "gmake" on OpenBSD.

Trying "git clone --recursive https://github.com/monero-project/kovri && cd kovri/ && export CC=egcc CXX=eg++ && gmake". I realize i should have tried "gmake" before myself, sorry.

First, with your Makefile, cppnetlib does build, yey!

Then, the cryptopp build fails.

Would it be possible for me to use the OS-provided Crypto++ distro?

That one contains a bunch of OS-specific patches that I would guess are best to stick to, http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/cryptopp/ .

To try to forward the process, I removed out the cryptopp build part in your makefile, and did rm -rf deps/cryptopp/*; touch deps/cryptopp/CMakeLists.txt , and gmake:d again. This made it complain that it can't find Crypto++ , which is indeed located in /usr/local/include/cryptopp/ and /usr/local/lib/libcryptopp.a and /usr/local/lib/libcryptopp.so.2.0 .

I find it a bit weird that it not found it, as it's in "/usr/local/include/cryptopp" and your regarded sourcecode files (which is only src/core/util/exception.cc ??) loads it as "cryptopp/cryptlib.h".

I made an ugly workaround by adding "/usr/local/include/cryptopp" to the search path in cmake/FindCryptoPP.cmake , and that made the build find it.

This builds all up to src/core/CMakeFiles/kovri-core.dir/util/log.cc , which fails with:

/home/MYUSER/kovri/src/core/util/log.cc: In function 'void kovri::core::SetupLogging(const boost::program_options::variables_map&)': /home/MYUSER/kovri/src/core/util/log.cc:134:53: error: no matching function for call to 'boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink >::shared_ptr(std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink >::__single_object)' std::make_unique(file_backend)); ^

Full build output below.

Also yes thanks for the apples and oranges comparison. Just curious, how does I2PD compromise your anonymity out of the box?

I'm a bit new to this software (even though I did study and try I2P years ago).

Also, security of fundamental software like the i2p router is essential.

Any pointers or insights about how Kovri is safe, clean and well implemented and other things not are so much, is much appreciated.

Last and a bit off-topic, how mature do you think Kovri is now, can it be used in production use?

Also for another time, I would be incredibly happy to understand Kovri's RAM / disk writing / disk space / CPU / network resource need profile for different usecases, this should be important to understand to understand what's needed to handle many connections.

Thanks again!

FIRST TRY, cryptopp build fails

=== Building cpp-netlib ===
mkdir -p deps/cpp-netlib/build/
cd deps/cpp-netlib/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D CPP-NETLIB_BUILD_TESTS=OFF -D CPP-NETLIB_BUILD_EXAMPLES=OFF  ../ && gmake
-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3
-- Check for working C compiler: /usr/local/bin/egcc
-- Check for working C compiler: /usr/local/bin/egcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/bin/eg++
-- Check for working CXX compiler: /usr/local/bin/eg++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found OpenSSL: /usr/lib/libssl.so.39.0;/usr/lib/libcrypto.so.38.0 (found version "2.0.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/deps/cpp-netlib/build
gmake[1]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -H/home/MYUSER/kovri/deps/cpp-netlib -B/home/MYUSER/kovri/deps/cpp-netlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[2]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-server-parsers
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 14%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/home/MYUSER/kovri/deps/cpp-netlib  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o -c /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src/server_request_parsers_impl.cpp
[ 28%] Linking CXX static library libcppnetlib-server-parsers.a
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-server-parsers.dir/cmake_clean_target.cmake
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-server-parsers.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-server-parsers.a  CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o
/usr/bin/ranlib libcppnetlib-server-parsers.a
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 28%] Built target cppnetlib-server-parsers
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-client-connections
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 42%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/MYUSERient.cpp.o
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/home/MYUSER/kovri/deps/cpp-netlib  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-client-connections.dir/MYUSERient.cpp.o -c /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src/MYUSERient.cpp
[ 57%] Linking CXX static library libcppnetlib-client-connections.a
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-client-connections.dir/cmake_clean_target.cmake
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-client-connections.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-client-connections.a  CMakeFiles/cppnetlib-client-connections.dir/MYUSERient.cpp.o
/usr/bin/ranlib libcppnetlib-client-connections.a
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 57%] Built target cppnetlib-client-connections
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-uri.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-uri
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 71%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/home/MYUSER/kovri/deps/cpp-netlib  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o -c /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src/uri/uri.cpp
[ 85%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/home/MYUSER/kovri/deps/cpp-netlib  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o -c /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src/uri/schemes.cpp
[100%] Linking CXX static library libcppnetlib-uri.a
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-uri.dir/cmake_clean_target.cmake
cd /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-uri.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-uri.a  CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o
/usr/bin/ranlib libcppnetlib-uri.a
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[100%] Built target cppnetlib-uri
gmake[2]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles 0
gmake[1]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
=== Building cryptopp ===
mkdir -p deps/cryptopp/build/
cd deps/cryptopp/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -D BUILD_SHARED=OFF  ../ && gmake
-- The C compiler identification is GNU 4.9.3
-- The CXX compiler identification is GNU 4.9.3
-- Check for working C compiler: /usr/local/bin/egcc
-- Check for working C compiler: /usr/local/bin/egcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/bin/eg++
-- Check for working CXX compiler: /usr/local/bin/eg++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
        -- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing Test COMPILER_OPT_ARCH_NATIVE_SUPPORTED
-- Performing Test COMPILER_OPT_ARCH_NATIVE_SUPPORTED - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Compiler:
-- Flags:  -march=native
-- Build type: Release
--
-- The following OPTIONAL packages have been found:

 * Threads

-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/deps/cryptopp/build
gmake[1]: Entering directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake[2]: Entering directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cryptopp/build'
Scanning dependencies of target cryptopp-object
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cryptopp/build'
[  0%] Building CXX object CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o
: Assembler messages:
:12342: Error: no such instruction: `shlx %eax,%edx,%eax'
:12348: Error: no such instruction: `sarx %eax,%edx,%eax'
:13515: Error: no such instruction: `shrx %eax,%edx,%eax'
:13552: Error: no such instruction: `shlx %eax,%edx,%eax'
gmake[3]: *** [CMakeFiles/cryptopp-object.dir/build.make:63: CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o] Error 1
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake[2]: *** [CMakeFiles/Makefile2:68: CMakeFiles/cryptopp-object.dir/all] Error 2
gmake[2]: Leaving directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake[1]: *** [Makefile:139: all] Error 2
gmake[1]: Leaving directory '/home/MYUSER/kovri/deps/cryptopp/build'
gmake: *** [Makefile:118: deps] Error 2

SECOND TRY, fails in src/core/util/log.cc at std::make_unique(file_backend)); :

=== Building cpp-netlib ===
mkdir -p deps/cpp-netlib/build/
cd deps/cpp-netlib/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D CPP-NETLIB_BUILD_TESTS=OFF -D CPP-NETLIB_BUILD_EXAMPLES=OFF  ../ && gmake
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/deps/cpp-netlib/build
gmake[1]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -H/home/MYUSER/kovri/deps/cpp-netlib -B/home/MYUSER/kovri/deps/cpp-netlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[2]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 28%] Built target cppnetlib-server-parsers
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 57%] Built target cppnetlib-client-connections
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-uri.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-uri.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[100%] Built target cppnetlib-uri
gmake[2]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles 0
gmake[1]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
mkdir -p build/
cd build/ && cmake  -D CMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../ && gmake
--
-- The Kovri I2P Router Project
-- 0.1.0-pre-alpha-d92f107 "In the beginning"
--
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   chrono
--   log
--   program_options
--   date_time
--   thread
--   system
--   filesystem
--   regex
--   log_setup
--   atomic
-- Found Boost: /usr/local/include, /usr/local/lib/libboost_chrono-mt.so.6.0;/usr/local/lib/libboost_log-mt.so.6.0;/usr/local/lib/libboost_program_options-mt.so.6.0;/usr/local/lib/libboost_date_time-mt.so.6.0;/usr/local/lib/libboost_thread-mt.so.6.0;/usr/local/lib/libboost_system-mt.so.6.0;/usr/local/lib/libboost_filesystem-mt.so.6.0;/usr/local/lib/libboost_regex-mt.so.6.0;/usr/local/lib/libboost_log_setup-mt.so.6.0;/usr/local/lib/libboost_atomic-mt.so.6.0;Threads::Threads
-- Found Crypto++: /usr/local/include, /usr/local/lib/libcryptopp.so.2.0
-- Found cpp-netlib: /home/MYUSER/kovri/deps/cpp-netlib;/usr/local/include, cppnetlib-client-connections;cppnetlib-server-parsers;cppnetlib-uri
-- ---------------------------------------
-- Build type         : Debug
-- Compiler vendor    : GNU
-- Compiler version   : 4.9.3
-- Compiler path      : /usr/local/bin/eg++
-- Install prefix:    : /usr/local
-- Kovri data directory:
-- Options:
--   BINARY           : ON
--   COVERAGE         : OFF
--   CRYPTOPP         : ON
--   DOXYGEN          : OFF
--   HARDENING        : OFF
--   LIBRARY          : ON
--   OPTIMIZATION     : OFF
--   STATIC BUILD     : OFF
--   SUPERCOP         : ON
--   TESTS            : OFF
--   UPnP             : OFF
-- ---------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/build
gmake[1]: Entering directory '/home/MYUSER/kovri/build'
gmake[2]: Entering directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
Scanning dependencies of target kovri-core
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
[  1%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/context.cc.o
[  2%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/garlic.cc.o
[  3%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/i2np.cc.o
[  4%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/identity.cc.o
[  5%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/info.cc.o
[  6%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/lease_set.cc.o
[  7%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/net_db/impl.cc.o
[  7%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/net_db/requests.cc.o
[  8%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/profiling.cc.o
[  9%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/impl.cc.o
[ 10%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ntcp/server.cc.o
[ 11%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ntcp/session.cc.o

[ 12%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ssu/data.cc.o
[ 13%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ssu/packet.cc.o
/home/MYUSER/kovri/src/core/router/transports/ssu/packet.cc: In member function 'kovri::core::SSUFragment kovri::core::SSUPacketParser::ParseFragment()':
/home/MYUSER/kovri/src/core/router/transports/ssu/packet.cc:663:41: warning: missing initializer for member 'std::array<unsigned char, 4ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, 4> info_buf {};
                                         ^
[ 14%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ssu/server.cc.o
/home/MYUSER/kovri/src/core/router/transports/ssu/server.cc: In member function 'std::shared_ptr<kovri::core::SSUSession> kovri::core::SSUServer::GetSession(std::shared_ptr<const kovri::core::RouterInfo>, bool)':
/home/MYUSER/kovri/src/core/router/transports/ssu/server.cc:385:48: warning: missing initializer for member 'std::array<unsigned char, 1ul>::_M_elems' [-Wmissing-field-initializers]
               std::array<std::uint8_t, 1> buf {};
                                                ^
[ 15%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/ssu/session.cc.o
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendRelayRequest(uint32_t, const uint8_t*)':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:632:42: warning: missing initializer for member 'std::array<unsigned char, 114ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, 96 + 18> buf {};  // TODO(unassigned): document size values
                                          ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendRelayResponse(uint32_t, const endpoint&, const uint8_t*, const endpoint&)':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:704:42: warning: missing initializer for member 'std::array<unsigned char, 98ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, 80 + 18> buf {};  // 64 Alice's ipv4 and 80 Alice's ipv6
                                          ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendRelayIntro(kovri::core::SSUSession*, const endpoint&)':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:803:42: warning: missing initializer for member 'std::array<unsigned char, 66ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, 48 + 18> buf {};
                                          ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendPeerTest(uint32_t, uint32_t, uint16_t, const uint8_t*, bool, bool)':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:985:42: warning: missing initializer for member 'std::array<unsigned char, 98ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, 80 + 18> buf {};
                                          ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendSesionDestroyed()':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:1073:44: warning: missing initializer for member 'std::array<unsigned char, 66ul>::_M_elems' [-Wmissing-field-initializers]
     std::array<std::uint8_t, 48 + 18> buf {};
                                            ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::SendKeepAlive()':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:1093:44: warning: missing initializer for member 'std::array<unsigned char, 66ul>::_M_elems' [-Wmissing-field-initializers]
     std::array<std::uint8_t, 48 + 18> buf {};  // TODO(unassigned): document values
                                            ^
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc: In member function 'void kovri::core::SSUSession::Send(uint8_t, const uint8_t*, std::size_t)':
/home/MYUSER/kovri/src/core/router/transports/ssu/session.cc:1483:63: warning: missing initializer for member 'std::array<unsigned char, 1502ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, GetType(SSUSize::MTUv4) + 18> buf {};
                                                               ^
[ 16%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/transports/upnp.cc.o
[ 16%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/config.cc.o
/home/MYUSER/kovri/src/core/router/tunnel/config.cc: In member function 'void kovri::core::TunnelHopConfig::CreateBuildRequestRecord(uint8_t*, uint32_t)':
/home/MYUSER/kovri/src/core/router/tunnel/config.cc:176:77: warning: missing initializer for member 'std::array<unsigned char, 222ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, BUILD_REQUEST_RECORD_CLEAR_TEXT_SIZE> clear_text{};
                                                                             ^
[ 17%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/endpoint.cc.o
[ 18%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/gateway.cc.o
[ 19%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/impl.cc.o
[ 20%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/pool.cc.o
[ 21%] Building CXX object src/core/CMakeFiles/kovri-core.dir/router/tunnel/transit.cc.o
[ 22%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/base64.cc.o
[ 23%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/byte_stream.cc.o
[ 24%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/exception.cc.o
[ 25%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/filesystem.cc.o
[ 25%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/log.cc.o
/home/MYUSER/kovri/src/core/util/log.cc: In function 'void kovri::core::SetupLogging(const boost::program_options::variables_map&)':
/home/MYUSER/kovri/src/core/util/log.cc:134:53: error: no matching function for call to 'boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::shared_ptr(std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object)'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note: candidates are:
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:467:14: note: template<class Ap> boost::shared_ptr<T>::shared_ptr(Ap, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type)
     explicit shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()
              ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:467:14: note:   template argument deduction/substitution failed:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp: In substitution of 'template<class Ap> boost::shared_ptr<T>::shared_ptr(Ap, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type) [with Ap = std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >]':
/home/MYUSER/kovri/src/core/util/log.cc:134:53:   required from here
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:467:14: error: no type named 'type' in 'struct boost::detail::sp_enable_if_auto_ptr<std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >, int>'
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:441:14: note: template<class Y> boost::shared_ptr<T>::shared_ptr(std::auto_ptr<_Up>&)
     explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
              ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:441:14: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' is not derived from 'std::auto_ptr<Y>'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:434:5: note: template<class Y> boost::shared_ptr<T>::shared_ptr(const boost::shared_ptr<Y>&, boost::shared_ptr<T>::element_type*)
     shared_ptr( shared_ptr<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
     ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:434:5: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' is not derived from 'const boost::shared_ptr<X>'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:420:5: note: template<class Y> boost::shared_ptr<T>::shared_ptr(const boost::shared_ptr<Y>&, typename boost::detail::sp_enable_if_convertible<Y, T>::type)
     shared_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
     ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:420:5: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' is not derived from 'const boost::shared_ptr<X>'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:408:5: note: template<class Y> boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&, boost::detail::sp_nothrow_tag)
     shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag )
     ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:408:5: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' is not derived from 'const boost::weak_ptr<Y>'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:399:14: note: template<class Y> boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&)
     explicit shared_ptr( weak_ptr<Y> const & r ): pn( r.pn ) // may throw
              ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:399:14: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' is not derived from 'const boost::weak_ptr<Y>'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:373:41: note: template<class Y, class D, class A> boost::shared_ptr<T>::shared_ptr(Y*, D, A)
     template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
                                         ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:373:41: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   mismatched types 'Y*' and 'std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:358:32: note: template<class Y, class D> boost::shared_ptr<T>::shared_ptr(Y*, D)
     template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
                                ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:358:32: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   mismatched types 'Y*' and 'std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:347:14: note: template<class Y> boost::shared_ptr<T>::shared_ptr(Y*)
     explicit shared_ptr( Y * p ): px( p ), pn() // Y must be complete
              ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:347:14: note:   template argument deduction/substitution failed:
/home/MYUSER/kovri/src/core/util/log.cc:134:53: note:   mismatched types 'Y*' and 'std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >'
       std::make_unique<text_file_sink>(file_backend));
                                                     ^
In file included from /usr/local/include/boost/log/sources/global_logger_storage.hpp:20:0,
                 from /home/MYUSER/kovri/src/core/../core/util/log.h:34,
                 from /home/MYUSER/kovri/src/core/util/log.cc:31:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:334:5: note: boost::shared_ptr<T>::shared_ptr() [with T = boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>]
     shared_ptr() BOOST_NOEXCEPT : px( 0 ), pn() // never throws in 1.30+
     ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:334:5: note:   candidate expects 0 arguments, 1 provided
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:323:25: note: boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::shared_ptr(const boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >&)
 template<class T> class shared_ptr
                         ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:323:25: note:   no known conversion for argument 1 from 'std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >::__single_object {aka std::unique_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend>, std::default_delete<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> > >}' to 'const boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink<boost::log::v2_mt_posix::sinks::text_file_backend> >&'
gmake[3]: *** [src/core/CMakeFiles/kovri-core.dir/build.make:711: src/core/CMakeFiles/kovri-core.dir/util/log.cc.o] Error 1
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[2]: *** [CMakeFiles/Makefile2:226: src/core/CMakeFiles/kovri-core.dir/all] Error 2
gmake[2]: Leaving directory '/home/MYUSER/kovri/build'
gmake[1]: *** [Makefile:128: all] Error 2
gmake[1]: Leaving directory '/home/MYUSER/kovri/build'
gmake: *** [Makefile:129: dynamic] Error 2
pwrml commented 7 years ago

So, I commented out all "file_sink" related lines in kovri/src/core/util/log.cc and proceeded.

The next failure now is in src/client/CMakeFiles/kovri-client.dir/proxy/http.cc:

In file included from /usr/local/include/boost/bind/mem_fn.hpp:215:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
..
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: error: no matching function for call to 'get_pointer(std::shared_ptr<kovri::client::HTTPProxyHandler>&)'
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);

Fuild build log below.

=== Building cpp-netlib ===
mkdir -p deps/cpp-netlib/build/
cd deps/cpp-netlib/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D CPP-NETLIB_BUILD_TESTS=OFF -D CPP-NETLIB_BUILD_EXAMPLES=OFF  ../ && gmake
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/deps/cpp-netlib/build
gmake[1]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -H/home/MYUSER/kovri/deps/cpp-netlib -B/home/MYUSER/kovri/deps/cpp-netlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[2]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 28%] Built target cppnetlib-server-parsers
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 57%] Built target cppnetlib-client-connections
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-uri.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-uri.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[100%] Built target cppnetlib-uri
gmake[2]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles 0
gmake[1]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
mkdir -p build/
cd build/ && cmake  -D CMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../ && gmake
--
-- The Kovri I2P Router Project
-- 0.1.0-pre-alpha-d92f107 "In the beginning"
--
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   chrono
--   log
--   program_options
--   date_time
--   thread
--   system
--   filesystem
--   regex
--   log_setup
--   atomic
-- Found Boost: /usr/local/include, /usr/local/lib/libboost_chrono-mt.so.6.0;/usr/local/lib/libboost_log-mt.so.6.0;/usr/local/lib/libboost_program_options-mt.so.6.0;/usr/local/lib/libboost_date_time-mt.so.6.0;/usr/local/lib/libboost_thread-mt.so.6.0;/usr/local/lib/libboost_system-mt.so.6.0;/usr/local/lib/libboost_filesystem-mt.so.6.0;/usr/local/lib/libboost_regex-mt.so.6.0;/usr/local/lib/libboost_log_setup-mt.so.6.0;/usr/local/lib/libboost_atomic-mt.so.6.0;Threads::Threads
-- Found Crypto++: /usr/local/include, /usr/local/lib/libcryptopp.so.2.0
-- Found cpp-netlib: /home/MYUSER/kovri/deps/cpp-netlib;/usr/local/include, cppnetlib-client-connections;cppnetlib-server-parsers;cppnetlib-uri
-- ---------------------------------------
-- Build type         : Debug
-- Compiler vendor    : GNU
-- Compiler version   : 4.9.3
-- Compiler path      : /usr/local/bin/eg++
-- Install prefix:    : /usr/local
-- Kovri data directory:
-- Options:
--   BINARY           : ON
--   COVERAGE         : OFF
--   CRYPTOPP         : ON
--   DOXYGEN          : OFF
--   HARDENING        : OFF
--   LIBRARY          : ON
--   OPTIMIZATION     : OFF
--   STATIC BUILD     : OFF
--   SUPERCOP         : ON
--   TESTS            : OFF
--   UPnP             : OFF
-- ---------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/build
gmake[1]: Entering directory '/home/MYUSER/kovri/build'
gmake[2]: Entering directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
Scanning dependencies of target kovri-core
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
[  0%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/log.cc.o
/home/MYUSER/kovri/src/core/util/log.cc: In function 'void kovri::core::SetupLogging(const boost::program_options::variables_map&)':
/home/MYUSER/kovri/src/core/util/log.cc:154:8: warning: unused variable 'log_to_file' [-Wunused-variable]
   bool log_to_file = kovri_config["log-to-file"].as<bool>();
        ^
/home/MYUSER/kovri/src/core/util/log.cc:120:62: warning: typedef 'text_file_sink' locally defined but not used [-Wunused-local-typedefs]
   typedef sinks::asynchronous_sink<sinks::text_file_backend> text_file_sink;
                                                              ^
[  1%] Building CXX object src/core/CMakeFiles/kovri-core.dir/util/mtu.cc.o
[  2%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/aes.cc.o
[  3%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/crypto_const.cc.o
[  4%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/diffie_hellman.cc.o
[  5%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/elgamal.cc.o
[  6%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/hash.cc.o
[  7%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/rand.cc.o
[  8%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/signature.cc.o
/home/MYUSER/kovri/src/core/crypto/impl/cryptopp/signature.cc: In instantiation of 'bool kovri::core::RSARawVerifier<Hash, key_length>::Verify(const uint8_t*) [with Hash = CryptoPP::SHA512; long unsigned int key_length = 512ul; uint8_t = unsigned char]':
/home/MYUSER/kovri/src/core/crypto/impl/cryptopp/signature.cc:807:59:   required from here
/home/MYUSER/kovri/src/core/crypto/impl/cryptopp/signature.cc:759:55: warning: missing initializer for member 'std::array<unsigned char, 64ul>::_M_elems' [-Wmissing-field-initializers]
     std::array<std::uint8_t, Hash::DIGESTSIZE> digest{};
                                                       ^
[  9%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/tunnel.cc.o
[  9%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/util/checksum.cc.o
[ 10%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/util/compression.cc.o
[ 11%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/cryptopp/util/x509.cc.o
[ 12%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/signature.cc.o
[ 13%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_0.cc.o
[ 14%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_1.cc.o
[ 15%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_add.cc.o
[ 16%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_cmov.cc.o
[ 17%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_copy.cc.o
[ 18%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_frombytes.cc.o
[ 18%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_invert.cc.o
[ 19%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_isnegative.cc.o
[ 20%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_isnonzero.cc.o
[ 21%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_mul.cc.o
[ 22%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_neg.cc.o
[ 23%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_pow22523.cc.o
[ 24%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_sq.cc.o
[ 25%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_sq2.cc.o
[ 26%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_sub.cc.o
[ 27%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/fe_tobytes.cc.o
[ 27%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_add.cc.o
[ 28%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_double_scalarmult.cc.o
[ 29%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_frombytes.cc.o
[ 30%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_madd.cc.o
[ 31%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_msub.cc.o
[ 32%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p1p1_to_p2.cc.o
[ 33%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p1p1_to_p3.cc.o
[ 34%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p2_0.cc.o
[ 35%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p2_dbl.cc.o
[ 36%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p3_0.cc.o
[ 36%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p3_dbl.cc.o
[ 37%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p3_to_cached.cc.o
[ 38%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p3_to_p2.cc.o
[ 39%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_p3_tobytes.cc.o
[ 40%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_precomp_0.cc.o
[ 41%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_scalarmult_base.cc.o
[ 42%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_sub.cc.o
[ 43%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/ge_tobytes.cc.o
[ 44%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/keypair.cc.o
[ 45%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/open.cc.o
[ 45%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/sc_muladd.cc.o
[ 46%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/sc_reduce.cc.o
[ 47%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/sign.cc.o
[ 48%] Building CXX object src/core/CMakeFiles/kovri-core.dir/crypto/impl/supercop/ed25519/verify.cc.o
[ 49%] Linking CXX static library ../../libkovri-core.a
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
[ 74%] Built target kovri-core
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
Scanning dependencies of target kovri-client
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
[ 75%] Building CXX object src/client/CMakeFiles/kovri-client.dir/address_book/impl.cc.o
[ 76%] Building CXX object src/client/CMakeFiles/kovri-client.dir/address_book/storage.cc.o
[ 77%] Building CXX object src/client/CMakeFiles/kovri-client.dir/api/datagram.cc.o
[ 78%] Building CXX object src/client/CMakeFiles/kovri-client.dir/api/i2p_control/server.cc.o
[ 78%] Building CXX object src/client/CMakeFiles/kovri-client.dir/api/i2p_control/session.cc.o
/home/MYUSER/kovri/src/client/api/i2p_control/session.cc: In member function 'std::string kovri::client::I2PControlSession::GenerateToken() const':
/home/MYUSER/kovri/src/client/api/i2p_control/session.cc:349:48: warning: missing initializer for member 'std::array<unsigned char, 8ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<std::uint8_t, TOKEN_SIZE> rand = {};
                                                ^
[ 79%] Building CXX object src/client/CMakeFiles/kovri-client.dir/api/streaming.cc.o
/home/MYUSER/kovri/src/client/api/streaming.cc: In constructor 'kovri::client::Stream::Stream(boost::asio::io_service&, kovri::client::StreamingDestination&)':
/home/MYUSER/kovri/src/client/api/streaming.cc:121:27: warning: missing initializer for member 'kovri::core::Lease::tunnel_gateway' [-Wmissing-field-initializers]
       m_Exception(__func__) {
                           ^
/home/MYUSER/kovri/src/client/api/streaming.cc:121:27: warning: missing initializer for member 'kovri::core::Lease::tunnel_ID' [-Wmissing-field-initializers]
/home/MYUSER/kovri/src/client/api/streaming.cc:121:27: warning: missing initializer for member 'kovri::core::Lease::end_date' [-Wmissing-field-initializers]
[ 80%] Building CXX object src/client/CMakeFiles/kovri-client.dir/context.cc.o
[ 81%] Building CXX object src/client/CMakeFiles/kovri-client.dir/destination.cc.o
[ 82%] Building CXX object src/client/CMakeFiles/kovri-client.dir/proxy/http.cc.o
In file included from /usr/local/include/boost/bind/mem_fn.hpp:215:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/bind/mem_fn_template.hpp: In instantiation of 'R boost::_mfi::mf2<R, T, A1, A2>::call(U&, const void*, B1&, B2&) const [with U = std::shared_ptr<kovri::client::HTTPProxyHandler>; B1 = const boost::system::error_code; B2 = long unsigned int; R = void; T = kovri::client::HTTPProxyHandler; A1 = const boost::system::error_code&; A2 = long unsigned int]':
/usr/local/include/boost/bind/mem_fn_template.hpp:286:46:   required from 'R boost::_mfi::mf2<R, T, A1, A2>::operator()(U&, A1, A2) const [with U = std::shared_ptr<kovri::client::HTTPProxyHandler>; R = void; T = kovri::client::HTTPProxyHandler; A1 = const boost::system::error_code&; A2 = long unsigned int]'
/usr/local/include/boost/bind/bind.hpp:392:34:   required from 'void boost::_bi::list3<A1, A2, A3>::operator()(boost::_bi::type<void>, F&, A&, int) [with F = boost::_mfi::mf2<void, kovri::client::HTTPProxyHandler, const boost::system::error_code&, long unsigned int>; A = boost::_bi::list2<const boost::system::error_code&, const long unsigned int&>; A1 = boost::_bi::value<std::shared_ptr<kovri::client::HTTPProxyHandler> >; A2 = boost::arg<1> (*)(); A3 = boost::arg<2> (*)()]'
/usr/local/include/boost/bind/bind_template.hpp:102:59:   required from 'boost::_bi::bind_t<R, F, L>::result_type boost::_bi::bind_t<R, F, L>::operator()(const A1&, const A2&) [with A1 = boost::system::error_code; A2 = long unsigned int; R = void; F = boost::_mfi::mf2<void, kovri::client::HTTPProxyHandler, const boost::system::error_code&, long unsigned int>; L = boost::_bi::list3<boost::_bi::value<std::shared_ptr<kovri::client::HTTPProxyHandler> >, boost::arg<1> (*)(), boost::arg<2> (*)()>; boost::_bi::bind_t<R, F, L>::result_type = void]'
/usr/local/include/boost/asio/impl/read_until.hpp:636:9:   required from 'void boost::asio::detail::read_until_delim_string_op<AsyncReadStream, Allocator, ReadHandler>::operator()(const boost::system::error_code&, std::size_t, int) [with AsyncReadStream = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; Allocator = std::allocator<char>; ReadHandler = boost::_bi::bind_t<void, boost::_mfi::mf2<void, kovri::client::HTTPProxyHandler, const boost::system::error_code&, long unsigned int>, boost::_bi::list3<boost::_bi::value<std::shared_ptr<kovri::client::HTTPProxyHandler> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >; std::size_t = long unsigned int]'
/usr/local/include/boost/asio/impl/read_until.hpp:717:44:   required from 'typename boost::asio::async_result<typename boost::asio::handler_type<WriteHandler, void(boost::system::error_code, long unsigned int)>::type>::type boost::asio::async_read_until(AsyncReadStream&, boost::asio::basic_streambuf<Allocator>&, const string&, ReadHandler&&) [with AsyncReadStream = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; Allocator = std::allocator<char>; ReadHandler = boost::_bi::bind_t<void, boost::_mfi::mf2<void, kovri::client::HTTPProxyHandler, const boost::system::error_code&, long unsigned int>, boost::_bi::list3<boost::_bi::value<std::shared_ptr<kovri::client::HTTPProxyHandler> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >; typename boost::asio::async_result<typename boost::asio::handler_type<WriteHandler, void(boost::system::error_code, long unsigned int)>::type>::type = void; std::string = std::basic_string<char>]'
/home/MYUSER/kovri/src/client/proxy/http.cc:120:56:   required from here
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: error: no matching function for call to 'get_pointer(std::shared_ptr<kovri::client::HTTPProxyHandler>&)'
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
                                           ^
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: note: candidates are:
In file included from /usr/local/include/boost/ref.hpp:15:0,
                 from /usr/local/include/boost/bind/bind.hpp:25,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/core/ref.hpp:291:40: note: template<class T> T* boost::get_pointer(const boost::reference_wrapper<T>&)
 template<class T> BOOST_FORCEINLINE T* get_pointer( reference_wrapper<T> const & r )
                                        ^
/usr/local/include/boost/core/ref.hpp:291:40: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/bind/mem_fn.hpp:215:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: note:   'std::shared_ptr<kovri::client::HTTPProxyHandler>' is not derived from 'const boost::reference_wrapper<T>'
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
                                           ^
In file included from /usr/local/include/boost/bind/mem_fn.hpp:25:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/get_pointer.hpp:20:23: note: template<class T> T* boost::get_pointer(T*)
 template<class T> T * get_pointer(T * p)
                       ^
/usr/local/include/boost/get_pointer.hpp:20:23: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/bind/mem_fn.hpp:215:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: note:   mismatched types 'T*' and 'std::shared_ptr<kovri::client::HTTPProxyHandler>'
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
                                           ^
In file included from /usr/local/include/boost/bind/mem_fn.hpp:25:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/get_pointer.hpp:27:23: note: template<class T> T* boost::get_pointer(const std::auto_ptr<T>&)
 template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                       ^
/usr/local/include/boost/get_pointer.hpp:27:23: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/bind/mem_fn.hpp:215:0,
                 from /usr/local/include/boost/mem_fn.hpp:22,
                 from /usr/local/include/boost/bind/bind.hpp:26,
                 from /usr/local/include/boost/bind.hpp:22,
                 from /home/MYUSER/kovri/src/client/../client/proxy/http.h:36,
                 from /home/MYUSER/kovri/src/client/proxy/http.cc:33:
/usr/local/include/boost/bind/mem_fn_template.hpp:271:43: note:   'std::shared_ptr<kovri::client::HTTPProxyHandler>' is not derived from 'const std::auto_ptr<T>'
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
                                           ^
/usr/local/include/boost/bind/mem_fn_template.hpp:271:57: error: return-statement with a value, in function returning 'void' [-fpermissive]
         BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
                                                         ^
gmake[3]: *** [src/client/CMakeFiles/kovri-client.dir/build.make:255: src/client/CMakeFiles/kovri-client.dir/proxy/http.cc.o] Error 1
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[2]: *** [CMakeFiles/Makefile2:169: src/client/CMakeFiles/kovri-client.dir/all] Error 2
gmake[2]: Leaving directory '/home/MYUSER/kovri/build'
gmake[1]: *** [Makefile:128: all] Error 2
gmake[1]: Leaving directory '/home/MYUSER/kovri/build'
gmake: *** [Makefile:129: dynamic] Error 2
pwrml commented 7 years ago

..and commenting out that line too, as I won't need any HTTP functionality in Kovri anyhow, I get the following error:

/home/cl/kovri/src/client/proxy/http.cc:201:60: required from here /usr/local/include/boost/bind/mem_fn_template.hpp:271:43: error: no matching function for call to 'get_pointer(std::shared_ptr&)' BOOST_MEM_FN_RETURN (getpointer(u)->*f)(b1, b2);

Commenting out that too, and proceeding, I get the error quoted below which I understand to be a complaint that the following not exists:

CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const, unsigned char const, unsigned char, unsigned long, unsigned int) const CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const, unsigned char const, unsigned char, unsigned long, unsigned int) const CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const, unsigned char const, unsigned char, unsigned long, unsigned int) const CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const, unsigned char const, unsigned char, unsigned long, unsigned int) const

So the Crypto++ I have is version 5.6.5. The version you bundle is 5.6.5 also.

Any hints on how to fix this one?

Since we've gotten all the way to linking now, my impression is that we're really close to have a binary to actually test, and the binary should likely work.

You response to the separate questions above will be much appreciated.

Thanks again!

$ gmake
=== Building cpp-netlib ===
mkdir -p deps/cpp-netlib/build/
cd deps/cpp-netlib/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D CPP-NETLIB_BUILD_TESTS=OFF -D CPP-NETLIB_BUILD_EXAMPLES=OFF  ../ && gmake
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/deps/cpp-netlib/build
gmake[1]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -H/home/MYUSER/kovri/deps/cpp-netlib -B/home/MYUSER/kovri/deps/cpp-netlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[2]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 28%] Built target cppnetlib-server-parsers
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[ 57%] Built target cppnetlib-client-connections
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/depend
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
cd /home/MYUSER/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/MYUSER/kovri/deps/cpp-netlib /home/MYUSER/kovri/deps/cpp-netlib/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src /home/MYUSER/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-uri.dir/DependInfo.cmake --color=
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/build
gmake[3]: Entering directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
gmake[3]: Nothing to be done for 'libs/network/src/CMakeFiles/cppnetlib-uri.dir/build'.
gmake[3]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
[100%] Built target cppnetlib-uri
gmake[2]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -E cmake_progress_start /home/MYUSER/kovri/deps/cpp-netlib/build/CMakeFiles 0
gmake[1]: Leaving directory '/home/MYUSER/kovri/deps/cpp-netlib/build'
mkdir -p build/
cd build/ && cmake  -D CMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../ && gmake
--
-- The Kovri I2P Router Project
-- 0.1.0-pre-alpha-d92f107 "In the beginning"
--
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   chrono
--   log
--   program_options
--   date_time
--   thread
--   system
--   filesystem
--   regex
--   log_setup
--   atomic
-- Found Boost: /usr/local/include, /usr/local/lib/libboost_chrono-mt.so.6.0;/usr/local/lib/libboost_log-mt.so.6.0;/usr/local/lib/libboost_program_options-mt.so.6.0;/usr/local/lib/libboost_date_time-mt.so.6.0;/usr/local/lib/libboost_thread-mt.so.6.0;/usr/local/lib/libboost_system-mt.so.6.0;/usr/local/lib/libboost_filesystem-mt.so.6.0;/usr/local/lib/libboost_regex-mt.so.6.0;/usr/local/lib/libboost_log_setup-mt.so.6.0;/usr/local/lib/libboost_atomic-mt.so.6.0;Threads::Threads
-- Found Crypto++: /usr/local/include, /usr/local/lib/libcryptopp.so.2.0
-- Found cpp-netlib: /home/MYUSER/kovri/deps/cpp-netlib;/usr/local/include, cppnetlib-client-connections;cppnetlib-server-parsers;cppnetlib-uri
-- ---------------------------------------
-- Build type         : Debug
-- Compiler vendor    : GNU
-- Compiler version   : 4.9.3
-- Compiler path      : /usr/local/bin/eg++
-- Install prefix:    : /usr/local
-- Kovri data directory:
-- Options:
--   BINARY           : ON
--   COVERAGE         : OFF
--   CRYPTOPP         : ON
--   DOXYGEN          : OFF
--   HARDENING        : OFF
--   LIBRARY          : ON
--   OPTIMIZATION     : OFF
--   STATIC BUILD     : OFF
--   SUPERCOP         : ON
--   TESTS            : OFF
--   UPnP             : OFF
-- ---------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/MYUSER/kovri/build
gmake[1]: Entering directory '/home/MYUSER/kovri/build'
gmake[2]: Entering directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
[ 74%] Built target kovri-core
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
Scanning dependencies of target kovri-client
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
[ 75%] Building CXX object src/client/CMakeFiles/kovri-client.dir/proxy/http.cc.o
/home/MYUSER/kovri/src/client/proxy/http.cc:94:51: warning: unused parameter 'socket' [-Wunused-parameter]
     std::shared_ptr<boost::asio::ip::tcp::socket> socket) {
                                                   ^
[ 76%] Building CXX object src/client/CMakeFiles/kovri-client.dir/proxy/socks.cc.o
[ 77%] Building CXX object src/client/CMakeFiles/kovri-client.dir/reseed.cc.o
[ 78%] Building CXX object src/client/CMakeFiles/kovri-client.dir/service.cc.o
[ 79%] Building CXX object src/client/CMakeFiles/kovri-client.dir/tunnel.cc.o
[ 80%] Building CXX object src/client/CMakeFiles/kovri-client.dir/util/parse.cc.o
[ 80%] Building CXX object src/client/CMakeFiles/kovri-client.dir/util/http.cc.o
[ 81%] Building CXX object src/client/CMakeFiles/kovri-client.dir/util/zip.cc.o
[ 82%] Linking CXX static library ../../libkovri-client.a
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
[ 89%] Built target kovri-client
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
Scanning dependencies of target kovri-app
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[3]: Entering directory '/home/MYUSER/kovri/build'
[ 89%] Building CXX object src/app/CMakeFiles/kovri-app.dir/main.cc.o
[ 90%] Building CXX object src/app/CMakeFiles/kovri-app.dir/config.cc.o
[ 91%] Building CXX object src/app/CMakeFiles/kovri-app.dir/daemon.cc.o
[ 92%] Building CXX object src/app/CMakeFiles/kovri-app.dir/instance.cc.o
[ 93%] Building CXX object src/app/CMakeFiles/kovri-app.dir/daemon_linux.cc.o
/home/MYUSER/kovri/src/app/daemon_linux.cc: In member function 'virtual bool kovri::app::DaemonLinux::Init()':
/home/MYUSER/kovri/src/app/daemon_linux.cc:141:28: warning: missing initializer for member 'std::array<char, 10ul>::_M_elems' [-Wmissing-field-initializers]
   std::array<char, 10> pid{};
                            ^
/home/MYUSER/kovri/src/app/daemon_linux.cc:150:23: warning: missing initializer for member 'sigaction::__sigaction_u' [-Wmissing-field-initializers]
   struct sigaction sa{};
                       ^
/home/MYUSER/kovri/src/app/daemon_linux.cc:150:23: warning: missing initializer for member 'sigaction::sa_mask' [-Wmissing-field-initializers]
/home/MYUSER/kovri/src/app/daemon_linux.cc:150:23: warning: missing initializer for member 'sigaction::sa_flags' [-Wmissing-field-initializers]
[ 94%] Linking CXX executable ../../kovri
/usr/local/lib/gcc/x86_64-unknown-openbsd6.0/4.9.3/../../../libboost_log-mt.so.6.0: warning: warning: rand() may return deterministic values, is that what you want?
/usr/local/lib/gcc/x86_64-unknown-openbsd6.0/4.9.3/../../../libboost_regex-mt.so.6.0: warning: warning: wcscpy() is almost always misused, please use wcslcpy()
/usr/local/lib/gcc/x86_64-unknown-openbsd6.0/4.9.3/../../../libboost_filesystem-mt.so.6.0: warning: warning: strcpy() is almost always misused, please use strlcpy()
../../libkovri-client.a(server.cc.o): In function `boost::asio::detail::socket_ops::inet_ntop(int, void const*, char*, unsigned long, unsigned long, boost::system::error_code&)':
/usr/local/include/boost/asio/detail/impl/socket_ops.ipp:2020: warning: warning: strcat() is almost always misused, please use strlcat()
/usr/local/include/boost/asio/detail/impl/socket_ops.ipp:2019: warning: warning: sprintf() is often misused, please use snprintf()
../../libkovri-core.a(aes.cc.o):(.data.rel.ro._ZTVN8CryptoPP16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEE[_ZTVN8CryptoPP16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEE]+0xa8): undefined reference to `CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned int) const'
../../libkovri-core.a(aes.cc.o):(.data.rel.ro._ZTVN8CryptoPP16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEE[_ZTVN8CryptoPP16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEE]+0x120): undefined reference to `non-virtual thunk to CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned int) const'
../../libkovri-core.a(aes.cc.o):(.data.rel.ro._ZTVN8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEES4_EE[_ZTVN8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEES4_EE]+0xa8): undefined reference to `CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned int) const'
../../libkovri-core.a(aes.cc.o):(.data.rel.ro._ZTVN8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEES4_EE[_ZTVN8CryptoPP12ClonableImplINS_16BlockCipherFinalILNS_9CipherDirE1ENS_8Rijndael3DecEEES4_EE]+0x118): undefined reference to `non-virtual thunk to CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned int) const'
collect2: error: ld returned 1 exit status
gmake[3]: *** [src/app/CMakeFiles/kovri-app.dir/build.make:222: kovri] Error 1
gmake[3]: Leaving directory '/home/MYUSER/kovri/build'
gmake[2]: *** [CMakeFiles/Makefile2:114: src/app/CMakeFiles/kovri-app.dir/all] Error 2
gmake[2]: Leaving directory '/home/MYUSER/kovri/build'
gmake[1]: *** [Makefile:128: all] Error 2
gmake[1]: Leaving directory '/home/MYUSER/kovri/build'
gmake: *** [Makefile:129: dynamic] Error 2
anonimal commented 7 years ago

I think the "make" you mean is the GNU make rather than the BSD make. This "make" is called "gmake" on OpenBSD.

I aliased long ago. Force of habit, sorry for not clarifying.

: Assembler messages: :12342: Error: no such instruction: shlx %eax,%edx,%eax' :12348: Error: no such instruction:sarx %eax,%edx,%eax' :13515: Error: no such instruction: shrx %eax,%edx,%eax' :13552: Error: no such instruction:shlx %eax,%edx,%eax'

This is a crypto++ issue. You can either open an issue with them or I'll end up patching it and sending it upstream to them once (if) we get a OpenBSD build box going. If sending the issue yourself, be sure to build against their latest master (we're currently building against 8558bc5).

error: no matching function for call to 'boost::shared_ptr<boost::log::v2_mt_posix::sinks::asynchronous_sink >::shared_ptr(std::_MakeUniq<boost::log::v2_mt_posix::sinks::asynchronous_sink >::__single_object)' std::make_unique(file_backend)); error: no matching function for call to 'get_pointer(std::shared_ptr&)' BOOST_MEM_FN_RETURN (getpointer(u)->*f)(b1, b2);

These looks like a Boost related issues; e.g., Boost on OpenBSD.

..and commenting out that line too, as I won't need any HTTP functionality in Kovri anyhow

HTTP/S is essential for operation (reseed and address book updates). Commenting out is not a solution.

Commenting out that too, and proceeding, I get the error quoted below which I understand to be a complaint that the following not exists: CryptoPP::Rijndael::Dec::AdvancedProcessBlocks(unsigned char const, unsigned char const, unsigned char*, unsigned long, unsigned int) const

This is another crypto++ issue. Passing compile time flags patched this issue before. You don't need to install crypto++ because we have a working submodule that we use.

anonimal commented 7 years ago

Also, please upload pastes instead of spamming the issue. Thanks.

pwrml commented 7 years ago

These looks like a Boost related issues; e.g., Boost on OpenBSD. So weird. I have never seen any issue with Boost on OpenBSD before. This is Boost 1.58.0. Which version do you use?

Could it perhaps be that the version I'm using is too new or too old.

For me to test, could you provide me with some alternative way of writing these particular few lines, and i'll try to take it through the compiler?

HTTP/S is essential for operation (reseed and address book updates). Commenting out is not a solution. Oh. Ok so it's very high prio to find a workaround then.

This is a crypto++ issue. You can either open an issue with them or I'll end up patching it and sending it upstream to them once (if) we get a OpenBSD build box going. If sending the issue yourself, be sure to build against their latest master (we're currently building against 8558bc5).

To get a further idea of the build problem, I did this:

git clone --recursive https://github.com/monero-project/kovri/ cd kovri/deps/cryptopp/ CXX="eg++" gmake

This failed like last time.

But, when I just do "gmake" (with the OS-bundled "g++" which is gcc 4.2.1), the build works!

The errors in g++ 4.9.3 look like that the assembler has gotten an incorrect idea about the architecture target, right.

I found some hint online that "-march=native" can be the problem. Introducing a "DISABLE_NATIVE_ARCH" define removed that. (Also tried "CXX="eg++" CXXFLAGS="-msse4.2" gmake" and "CXX="eg++" CXXFLAGS="--march=native" gmake" which both did not work. Also adding "CC="egcc"" did not make it work.)

CXX="eg++" CXXFLAGS="-DDISABLE_NATIVE_ARCH" gmake -j4

And it built!

This may not provide the optimum performance though i'm fine with it for now.

To undertand the risk involved with using a non-OS bundled cryptopp distribution, I reviewed all the patch files in http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/cryptopp/patches/ . It appearst o me that most of the patches are to make cryptopp build in g++ 4.2.1.

One thing that could be critical, is Cryptopp's platform detection routines, http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/cryptopp/patches/patch-GNUmakefile?rev=1.6&content-type=text/x-cvsweb-markup .

Maybe we can ignore those for right now though.

Furthermore interesting is to note the build parameters in http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/cryptopp/Makefile?rev=1.15&content-type=text/x-cvsweb-markup :

CXXFLAGS="${CXXFLAGS} -Wno-unused \
            -DCRYPTOPP_DISABLE_SSSE3 \
            -DCRYPTOPP_DISABLE_AESNI \
            -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS \
            -DNDEBUG -fPIC" \
        LDFLAGS="-lpthread" \

Tried to build with these instead:

CXX="eg++" CXXFLAGS="-Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC" LDFLAGS="-lpthread" gmake -j4

Did not work. Kicking in "-DDISABLE_NATIVE_ARCH" again, did make it build however:

CXX="eg++" CXXFLAGS="-DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC" LDFLAGS="-lpthread" gmake -j4

( Btw, "gmake clean" on the Kovri repo does not work:

$ gmake clean
CAUTION: This will remove the build directories for Kovri and all submodule dependencies, and remove all Doxygen output
/bin/sh: read: -p: no coprocess
/bin/sh: [: y: unexpected operator/operand
/bin/sh: [: Y: unexpected operator/operand
Exiting.
gmake: *** [Makefile:201: clean] Error 1

)

Now, trying to build the kovri repo again, there seems to be something I not understood about how Kovri's makefile propagates CXXFLAGS to its deps/ build processes:

cd ../../../ rm -rf kovri git clone --recursive https://github.com/monero-project/kovri/ cd kovri CXX="eg++" CXXFLAGS="-DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC" LDFLAGS="-lpthread" gmake

(Build log attached below, nothing interesting in it however.)

How do I make the Kovri makefile pass on CXXFLAGS to its deps/ gmake:s?

I don't understand at all how Kovri's makefile builds deps/cryptopp .

To force the build to continue, I removed the cryptopp build part of the Makefile, built cryptopp separately per the instructions above, and then build kovri. The build failed complaining there's no threading. So tried:

CXX="eg++" CXXFLAGS="-lpthread -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC" LDFLAGS="-lpthread" gmake

This time around I get even less progress than on my previous attempt.

If you have any suggestions for what I should do to get the build process to the next step, please let me know.

Also, do you think you could try to build on OpenBSD this week or month?

Would be awesome.

(Will try to keep my pastes short)

Thanks a lot!

$ CXX="eg++" gmake
eg++ -DNDEBUG -g2 -O2 -fPIC -march=native -DCRYPTOPP_DISABLE_AESNI -pipe -c cryptlib.cpp
{standard input}: Assembler messages:
{standard input}:1683: Error: no such instruction: `shrx %ecx,%ebx,%edx'
{standard input}:1708: Error: no such instruction: `shlx %r12d,%r13d,%r13d'
:1197: Error: no such instruction: `vzeroupper'
:1676: Error: no such instruction: `vzeroupper'
:1686: Error: no such instruction: `vzeroupper'
(AND ANOTHER 500 REPETITIONS OF THE SAME ERROR)
:1292: Error: no such instruction: `vzeroupper'
gmake: *** [GNUmakefile:804: cryptlib.o] Error 1

(CXXFLAGS don't propagate on Kovri gmake to deps/ gmake:s.)

$ CXX="eg++" CXXFLAGS="-DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC" LDFLAGS="-lpt
hread" gmake
=== Building cpp-netlib ===
mkdir -p deps/cpp-netlib/build/
cd deps/cpp-netlib/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D CPP-NETLIB_BUILD_TESTS=OFF -D CPP-NETLIB_BUILD_EXAMPLES=OFF  ../ && gmake
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.9.3
-- 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
-- Check for working CXX compiler: /usr/local/bin/eg++
-- Check for working CXX compiler: /usr/local/bin/eg++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Found OpenSSL: /usr/lib/libssl.so.39.0;/usr/lib/libcrypto.so.38.0 (found version "2.0.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/kovri/deps/cpp-netlib/build
gmake[1]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -H/tmp/kovri/deps/cpp-netlib -B/tmp/kovri/deps/cpp-netlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /tmp/kovri/deps/cpp-netlib/build/CMakeFiles /tmp/kovri/deps/cpp-netlib/build/CMakeFiles/progress.marks
gmake -f CMakeFiles/Makefile2 all
gmake[2]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/depend
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
cd /tmp/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/kovri/deps/cpp-netlib /tmp/kovri/deps/cpp-netlib/libs/network/src /tmp/kovri/deps/cpp-netlib/build /tmp/kovri/deps/cpp-netlib/build/libs/network/src /tmp/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-server-parsers
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build.make libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/build
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
[ 14%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/tmp/kovri/deps/cpp-netlib  -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o -c /tmp/kovri/deps/cpp-netlib/libs/network/src/server_request_parsers_impl.cpp
[ 28%] Linking CXX static library libcppnetlib-server-parsers.a
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-server-parsers.dir/cmake_clean_target.cmake
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-server-parsers.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-server-parsers.a  CMakeFiles/cppnetlib-server-parsers.dir/server_request_parsers_impl.cpp.o
/usr/bin/ranlib libcppnetlib-server-parsers.a
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
[ 28%] Built target cppnetlib-server-parsers
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/depend
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
cd /tmp/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/kovri/deps/cpp-netlib /tmp/kovri/deps/cpp-netlib/libs/network/src /tmp/kovri/deps/cpp-netlib/build /tmp/kovri/deps/cpp-netlib/build/libs/network/src /tmp/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-client-connections
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build.make libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/build
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
[ 42%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-client-connections.dir/client.cpp.o
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/tmp/kovri/deps/cpp-netlib  -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-client-connections.dir/client.cpp.o -c /tmp/kovri/deps/cpp-netlib/libs/network/src/client.cpp
[ 57%] Linking CXX static library libcppnetlib-client-connections.a
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-client-connections.dir/cmake_clean_target.cmake
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-client-connections.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-client-connections.a  CMakeFiles/cppnetlib-client-connections.dir/client.cpp.o
/usr/bin/ranlib libcppnetlib-client-connections.a
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
[ 57%] Built target cppnetlib-client-connections
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/depend
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
cd /tmp/kovri/deps/cpp-netlib/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/kovri/deps/cpp-netlib /tmp/kovri/deps/cpp-netlib/libs/network/src /tmp/kovri/deps/cpp-netlib/build /tmp/kovri/deps/cpp-netlib/build/libs/network/src /tmp/kovri/deps/cpp-netlib/build/libs/network/src/CMakeFiles/cppnetlib-uri.dir/DependInfo.cmake --color=
Scanning dependencies of target cppnetlib-uri
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
gmake -f libs/network/src/CMakeFiles/cppnetlib-uri.dir/build.make libs/network/src/CMakeFiles/cppnetlib-uri.dir/build
gmake[3]: Entering directory '/tmp/kovri/deps/cpp-netlib/build'
[ 71%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/tmp/kovri/deps/cpp-netlib  -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o -c /tmp/kovri/deps/cpp-netlib/libs/network/src/uri/uri.cpp
[ 85%] Building CXX object libs/network/src/CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/eg++   -DBOOST_NETWORK_ENABLE_HTTPS -DBOOST_SPIRIT_THREADSAFE -DBOOST_TEST_DYN_LINK -I/usr/local/include -I/tmp/kovri/deps/cpp-netlib  -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC  -Wall -std=c++11 -DNDEBUG   -o CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o -c /tmp/kovri/deps/cpp-netlib/libs/network/src/uri/schemes.cpp
[100%] Linking CXX static library libcppnetlib-uri.a
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -P CMakeFiles/cppnetlib-uri.dir/cmake_clean_target.cmake
cd /tmp/kovri/deps/cpp-netlib/build/libs/network/src && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cppnetlib-uri.dir/link.txt --verbose=1
/usr/bin/ar qc libcppnetlib-uri.a  CMakeFiles/cppnetlib-uri.dir/uri/uri.cpp.o CMakeFiles/cppnetlib-uri.dir/uri/schemes.cpp.o
/usr/bin/ranlib libcppnetlib-uri.a
gmake[3]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
[100%] Built target cppnetlib-uri
gmake[2]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
/usr/local/bin/cmake -E cmake_progress_start /tmp/kovri/deps/cpp-netlib/build/CMakeFiles 0
gmake[1]: Leaving directory '/tmp/kovri/deps/cpp-netlib/build'
=== Building cryptopp ===
mkdir -p deps/cryptopp/build/
cd deps/cryptopp/build/ && cmake  -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -D BUILD_SHARED=OFF  ../ && gmake
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.9.3
-- 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
-- Check for working CXX compiler: /usr/local/bin/eg++
-- Check for working CXX compiler: /usr/local/bin/eg++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing Test COMPILER_OPT_ARCH_NATIVE_SUPPORTED
-- Performing Test COMPILER_OPT_ARCH_NATIVE_SUPPORTED - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Compiler:
-- Flags: -DDISABLE_NATIVE_ARCH -Wno-unused -DCRYPTOPP_DISABLE_SSSE3 -DCRYPTOPP_DISABLE_AESNI -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS -DNDEBUG -fPIC  -march=native
-- Build type: Release
--
-- The following OPTIONAL packages have been found:

 * Threads

-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/kovri/deps/cryptopp/build
gmake[1]: Entering directory '/tmp/kovri/deps/cryptopp/build'
gmake[2]: Entering directory '/tmp/kovri/deps/cryptopp/build'
gmake[3]: Entering directory '/tmp/kovri/deps/cryptopp/build'
Scanning dependencies of target cryptopp-object
gmake[3]: Leaving directory '/tmp/kovri/deps/cryptopp/build'
gmake[3]: Entering directory '/tmp/kovri/deps/cryptopp/build'
[  0%] Building CXX object CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o
: Assembler messages:
:12385: Error: no such instruction: `shlx %eax,%edx,%eax'
:12391: Error: no such instruction: `sarx %eax,%edx,%eax'
:13558: Error: no such instruction: `shrx %eax,%edx,%eax'
:13595: Error: no such instruction: `shlx %eax,%edx,%eax'
gmake[3]: *** [CMakeFiles/cryptopp-object.dir/build.make:63: CMakeFiles/cryptopp-object.dir/cryptlib.cpp.o] Error 1
gmake[3]: Leaving directory '/tmp/kovri/deps/cryptopp/build'
gmake[2]: *** [CMakeFiles/Makefile2:68: CMakeFiles/cryptopp-object.dir/all] Error 2
gmake[2]: Leaving directory '/tmp/kovri/deps/cryptopp/build'
gmake[1]: *** [Makefile:139: all] Error 2
gmake[1]: Leaving directory '/tmp/kovri/deps/cryptopp/build'
gmake: *** [Makefile:118: deps] Error 2
anonimal commented 7 years ago

@pwrml If you want me to read what you write, please respect my request to not spam the issue with pastes and instead upload your pastes as noted in https://github.com/monero-project/kovri/issues/590#issuecomment-287424048.

We have a build machine now and will work out all the issues.

Referencing https://github.com/weidai11/cryptopp/issues/395

anonimal commented 7 years ago

@pwrml The Kovri release-static build is successful with a minor cpp-netlib patch that I'll send upstream and by building/installing Boost 1.63 with an applied BSD/Boost/LibreSSL patch (patch -p0 < boost-1.62-asio-libressl.patch https://svn.boost.org/trac/boost/raw-attachment/ticket/12575/boost-1.62-asio-libressl.patch thanks to @danrmiller for finding this Boost patch).

I patched Kovri to work with the Boost 1.58 in ports but there were unrelated issues so we ended up using 1.63 on the build box which fixed the issues in 1.58 ports - so Kovri patches weren't needed. We could probably still use the ports 1.58 with my Kovri patches so long as 1.58 is built with the eg++ but our setup is not doing that so... we'll probably just add OpenBSD instructions for 1.63 for now. I'll talk with @danrmiller further about this.

Crypto++ is fine with release-static because we don't build with optimizations for the static build anyway. Ultimately, that should be fixed in https://github.com/weidai11/cryptopp/issues/395. If you don't want to gmake release-static and want a regular gmake dynamic build, you can build the latest Boost as mentioned above, wait for me to merge the cpp-netlib patch, and then apply the following to the Makefile until upstream Crypto++ fixes their 395.

diff --git a/Makefile b/Makefile
index 7761544..46fa501 100644
--- a/Makefile
+++ b/Makefile
@@ -115,7 +115,7 @@ all: dynamic

 deps:
        $(call CMAKE_CPP-NETLIB) && $(MAKE)
-       $(call CMAKE_CRYPTOPP) && $(MAKE)
+       $(call CMAKE_CRYPTOPP,$(cmake-cryptopp-no-opt)) && $(MAKE)

 release-deps:
        $(call CMAKE_CPP-NETLIB) && $(MAKE)

As for gmake clean, that too can be fixed (also, the related install script is currently a bash-only script so consider installing bash).

I'll reference further patches in this ticket.

anonimal commented 7 years ago

@pwrml to use Kovri on OpenBSD, you currently have at least 2 options:

  1. Read build instructions for OpenBSD and run gmake release-static instead of regular dynamic gmake (https://github.com/weidai11/cryptopp/issues/395 is still open). Then follow up with the usual gmake install
  2. Download a nightly build for OpenBSD as listed in the README. The next build should kick-in within a few minutes Edit: in about 6 hours, so try to download within the next hour or so after that at the earliest.

As for the gmake clean issue, this requires it's own issue but does not effect the build.

The upstream Crypto++ issue will be resolved soon. Closing this issue as resolved.