Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failing to compile on Arch Linux #24

Closed
semeion opened this issue May 14, 2018 · 3 comments
Closed

failing to compile on Arch Linux #24

semeion opened this issue May 14, 2018 · 3 comments

Comments

@semeion
Copy link

semeion commented May 14, 2018

How can i fix this errors?

mnemonic@blackbird[~/haven]$ make
mkdir -p build/release
cd build/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../.. && make
-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- 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/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building without build tag
-- Could not find DEVELOPER_LOCAL_TOOLS in env (not required)
-- BOOST_IGNORE_SYSTEM_PATHS defaults to OFF
-- Could not find DEVELOPER_LIBUNBOUND_OLD in env (not required)
-- Building for a 64-bit system
-- Building internal libraries as static
-- Could not find DATABASE in env (not required unless you want to change database type from default: lmdb)
-- Using LMDB as default DB type
-- Stack trace on exception enabled (using easylogging++)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.0h") 
-- Using OpenSSL include dir at /usr/include
-- Could NOT find MiniUPnPc (missing: MINIUPNP_INCLUDE_DIR MINIUPNP_LIBRARY) 
-- Using miniupnpc from local source tree (/external/miniupnpc)
-- Looking for libunbound
-- Found libunbound include (unbound.h) in /usr/include
-- Found libunbound shared library
-- Using 64-bit LMDB from source tree
-- Building on x86_64 for native
-- Performing Test _Wformat_c
-- Performing Test _Wformat_c - Success
-- Performing Test _Wformat_cxx
-- Performing Test _Wformat_cxx - Success
-- Performing Test _Wformat_security_c
-- Performing Test _Wformat_security_c - Success
-- Performing Test _Wformat_security_cxx
-- Performing Test _Wformat_security_cxx - Success
-- Performing Test _fstack_protector_c
-- Performing Test _fstack_protector_c - Success
-- Performing Test _fstack_protector_cxx
-- Performing Test _fstack_protector_cxx - Success
-- Performing Test _fstack_protector_strong_c
-- Performing Test _fstack_protector_strong_c - Success
-- Performing Test _fstack_protector_strong_cxx
-- Performing Test _fstack_protector_strong_cxx - Success
-- Looking for -pie linker flag
-- Looking for -pie linker flag - found
-- Looking for -Wl,-z,relro linker flag
-- Looking for -Wl,-z,relro linker flag - found
-- Looking for -Wl,-z,now linker flag
-- Looking for -Wl,-z,now linker flag - found
-- Looking for -Wl,-z,noexecstack linker flag
-- Looking for -Wl,-z,noexecstack linker flag - found
-- Looking for -Wl,-z,noexecheap linker flag
-- Looking for -Wl,-z,noexecheap linker flag - not found
-- Using C security hardening flags:  -Wformat -Wformat-security -fstack-protector -fstack-protector-strong
-- Using C++ security hardening flags:  -Wformat -Wformat-security -fstack-protector -fstack-protector-strong
-- Using linker security hardening flags:  -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
-- AES support enabled
-- Found Boost Version: 106600
-- Looking for rl_copy_text
-- Looking for rl_copy_text - found
-- Looking for rl_filename_completion_function
-- Looking for rl_filename_completion_function - found
-- Found readline library at: /usr
-- Found Git: /usr/bin/git
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- GTest not found on the system: will use GTest bundled with this source
Doxygen: graphviz not found - graphs disabled
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Performing Test HAVE_C11
-- Performing Test HAVE_C11 - Success
-- Looking for memset_s in c
-- Looking for memset_s in c - not found
-- Looking for explicit_bzero in c
-- Looking for explicit_bzero in c - found
-- Looking for strptime
-- Looking for strptime - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mnemonic/haven/build/release
make[1]: Entering directory '/home/mnemonic/haven/build/release'
make[2]: Entering directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
Scanning dependencies of target generate_translations_header
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
[  0%] Creating directories for 'generate_translations_header'
[  1%] No download step for 'generate_translations_header'
[  1%] No patch step for 'generate_translations_header'
[  1%] No update step for 'generate_translations_header'
[  2%] Performing configure step for 'generate_translations_header'
-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- 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/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at CMakeLists.txt:38 (message):
  lrelease program not found, translation files not built


-- Configuring done
-- Generating done
-- Build files have been written to: /home/mnemonic/haven/build/release/translations
[  2%] Performing build step for 'generate_translations_header'
make[4]: Entering directory '/home/mnemonic/haven/build/release/translations'
make[5]: Entering directory '/home/mnemonic/haven/build/release/translations'
make[6]: Entering directory '/home/mnemonic/haven/build/release/translations'
Scanning dependencies of target generate_translations_header
make[6]: Leaving directory '/home/mnemonic/haven/build/release/translations'
make[6]: Entering directory '/home/mnemonic/haven/build/release/translations'
[ 50%] Building C object CMakeFiles/generate_translations_header.dir/generate_translations_header.c.o
[100%] Linking C executable generate_translations_header
Generating embedded translations header
make[6]: Leaving directory '/home/mnemonic/haven/build/release/translations'
[100%] Built target generate_translations_header
make[5]: Leaving directory '/home/mnemonic/haven/build/release/translations'
make[4]: Leaving directory '/home/mnemonic/haven/build/release/translations'
[  2%] Performing install step for 'generate_translations_header'

[  3%] Completed 'generate_translations_header'
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
[  3%] Built target generate_translations_header
make[3]: Entering directory '/home/mnemonic/haven/build/release'
Scanning dependencies of target libminiupnpc-static
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
[  3%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/igd_desc_parse.c.o
[  3%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/miniupnpc.c.o
[  4%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/minixml.c.o
[  4%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/minisoap.c.o
[  4%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/minissdpc.c.o
[  5%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/miniwget.c.o
[  5%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/upnpcommands.c.o
[  5%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/upnpdev.c.o
[  6%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/upnpreplyparse.c.o
[  6%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/upnperrors.c.o
[  7%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/connecthostport.c.o
[  7%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/portlistingparse.c.o
[  7%] Building C object external/miniupnpc/CMakeFiles/libminiupnpc-static.dir/receivedata.c.o
[  8%] Linking C static library libminiupnpc.a
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
[  8%] Built target libminiupnpc-static
make[3]: Entering directory '/home/mnemonic/haven/build/release'
Scanning dependencies of target lmdb
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
[  8%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/mdb.c.o
[  8%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/midl.c.o
[  9%] Linking C static library liblmdb.a
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
[  9%] Built target lmdb
make[3]: Entering directory '/home/mnemonic/haven/build/release'
Scanning dependencies of target easylogging
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
[  9%] Building CXX object external/easylogging++/CMakeFiles/easylogging.dir/easylogging++.cc.o
[  9%] Linking CXX static library libeasylogging.a
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
[  9%] Built target easylogging
make[3]: Entering directory '/home/mnemonic/haven/build/release'
Scanning dependencies of target epee
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[3]: Entering directory '/home/mnemonic/haven/build/release'
[ 10%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/hex.cpp.o
[ 10%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/http_auth.cpp.o
[ 10%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/mlog.cpp.o
[ 11%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/net_utils_base.cpp.o
[ 11%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/string_tools.cpp.o
[ 12%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/wipeable_string.cpp.o
[ 12%] Building C object contrib/epee/src/CMakeFiles/epee.dir/memwipe.c.o
[ 12%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/connection_basic.cpp.o
In file included from /home/mnemonic/haven/src/serialization/crypto.h:37,
                 from /home/mnemonic/haven/src/cryptonote_basic/cryptonote_basic.h:44,
                 from /home/mnemonic/haven/src/cryptonote_protocol/cryptonote_protocol_defs.h:35,
                 from /home/mnemonic/haven/src/cryptonote_protocol/cryptonote_protocol_handler_common.h:34,
                 from /home/mnemonic/haven/contrib/epee/include/net/../../../../src/cryptonote_core/cryptonote_core.h:39,
                 from /home/mnemonic/haven/contrib/epee/include/net/abstract_tcp_server2.inl:52,
                 from /home/mnemonic/haven/contrib/epee/include/net/abstract_tcp_server2.h:324,
                 from /home/mnemonic/haven/contrib/epee/src/connection_basic.cpp:77:
/home/mnemonic/haven/src/crypto/chacha.h: In function ‘void crypto::generate_chacha8_key(const void*, size_t, crypto::chacha8_key&)’:
/home/mnemonic/haven/src/crypto/chacha.h:93:39: error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘struct crypto::chacha8_key’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
     memcpy(&key, pwd_hash, sizeof(key));
                                       ^
/home/mnemonic/haven/src/crypto/chacha.h:61:10: note: ‘struct crypto::chacha8_key’ declared here
   struct chacha8_key {
          ^~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [contrib/epee/src/CMakeFiles/epee.dir/build.make:154: contrib/epee/src/CMakeFiles/epee.dir/connection_basic.cpp.o] Error 1
make[3]: Leaving directory '/home/mnemonic/haven/build/release'
make[2]: *** [CMakeFiles/Makefile2:368: contrib/epee/src/CMakeFiles/epee.dir/all] Error 2
make[2]: Leaving directory '/home/mnemonic/haven/build/release'
make[1]: *** [Makefile:141: all] Error 2
make[1]: Leaving directory '/home/mnemonic/haven/build/release'
make: *** [Makefile:65: release-all] Error 2
mnemonic@blackbird:2[~/haven]$ 
@semeion semeion changed the title fail compiling on Arch Linux failing to compile on Arch Linux May 15, 2018
@semeion
Copy link
Author

semeion commented May 15, 2018

Someone can help me here?

@arcmags
Copy link

arcmags commented May 22, 2018

I was able to build the latest release on Arch Linux using gcc6. Here's a PKGBUILD to do so if you are interested.

EDIT: new PKGBUILD for Arch Linux without requiring gcc6.

@semeion
Copy link
Author

semeion commented May 22, 2018

@arcmags , thank you

BTW i got it working using CXXFLAGS="-Wno-error=class-memaccess" make to compile in GCC 8.1.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants