[ https://issues.apache.org/jira/browse/MINIFICPP-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16211947#comment-16211947 ]
Caleb Johnson commented on MINIFICPP-262: ----------------------------------------- I can't reproduce the issue either on a fresh Trusty VM. There's just something screwy with Cloud9's setup. On my personal Arch laptop, I wasn't able to get civetweb-1.9.1 or rocksdb to build, respectively due to C++17 and openssl 1.1.0 incompatibility (I think), but updating to civetweb v1.10 and rocksdb v5.7.2 (installed to system from AUR) allows it to build and test correctly. The civetweb-1.10 tests aren't part of the build, though it does try to run them. As a side note, it looks like std::auto_ptr is deprecated now. I never had to merge PR150 to get a successful build on Trusty. Did you want me to test that, or the opposite? The error I got for rocksdb is this: {noformat} Scanning dependencies of target build_version [ 0%] Building CXX object thirdparty/rocksdb/CMakeFiles/build_version.dir/__/__/build_version.cc.o [ 0%] Built target build_version Scanning dependencies of target rocksdb [ 0%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/cache/lru_cache.cc.o [ 0%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/cache/sharded_cache.cc.o [ 0%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/cache/clock_cache.cc.o [ 4%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/db/builder.cc.o [ 4%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/db/c.cc.o [ 4%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/db/column_family.cc.o [ 4%] Building CXX object thirdparty/rocksdb/CMakeFiles/rocksdb.dir/db/compacted_db_impl.cc.o /home/caleb/.backup/main/Projects/Coding/NiFi/nifi-minifi-cpp/thirdparty/rocksdb/cache/lru_cache.cc: In constructor ‘rocksdb::LRUCache::LRUCache(size_t, int, bool, double)’: /home/caleb/.backup/main/Projects/Coding/NiFi/nifi-minifi-cpp/thirdparty/rocksdb/cache/lru_cache.cc:464:42: error: ‘new’ of type ‘rocksdb::LRUCacheShard’ with extended alignment 64 [-Werror=aligned-new=] shards_ = new LRUCacheShard[num_shards_]; ^ /home/caleb/.backup/main/Projects/Coding/NiFi/nifi-minifi-cpp/thirdparty/rocksdb/cache/lru_cache.cc:464:42: note: uses ‘void* operator new [](std::size_t)’, which does not have an alignment parameter /home/caleb/.backup/main/Projects/Coding/NiFi/nifi-minifi-cpp/thirdparty/rocksdb/cache/lru_cache.cc:464:42: note: use ‘-faligned-new’ to enable C++17 over-aligned new support cc1plus: all warnings being treated as errors make[3]: *** [thirdparty/rocksdb/CMakeFiles/rocksdb.dir/build.make:87: thirdparty/rocksdb/CMakeFiles/rocksdb.dir/cache/lru_cache.cc.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [CMakeFiles/Makefile2:3974: thirdparty/rocksdb/CMakeFiles/rocksdb.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:3986: thirdparty/rocksdb/CMakeFiles/rocksdb.dir/rule] Error 2 make: *** [Makefile:1484: rocksdb] Error 2 {noformat} And for civetweb: {noformat} nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c: In function ‘ssl_get_client_cert_info’: nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:11848:9: error: implicit declaration of function ‘i2c_ASN1_INTEGER’; did you mean ‘i2a_ASN1_INTEGER’? [-Wimplicit-function-declaration] len = i2c_ASN1_INTEGER(serial, NULL); ^~~~~~~~~~~~~~~~ i2a_ASN1_INTEGER nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c: In function ‘set_ssl_option’: nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:12129:36: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion] SSL_CTX_set_options(ctx->ssl_ctx, ssl_get_protocol(protocol_ver)); ^~~~~~~~~~~~~~~~ nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c: In function ‘uninitialize_ssl’: nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:12250:3: warning: ‘ERR_remove_state’ is deprecated [-Wdeprecated-declarations] ERR_remove_state(0); ^~~~~~~~~~~~~~~~ In file included from /usr/include/openssl/ct.h:13:0, from /usr/include/openssl/ssl.h:61, from nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:1245: /usr/include/openssl/err.h:248:1: note: declared here DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) ^ nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c: In function ‘close_connection’: nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:12505:3: warning: ‘ERR_remove_state’ is deprecated [-Wdeprecated-declarations] ERR_remove_state(0); ^~~~~~~~~~~~~~~~ In file included from /usr/include/openssl/ct.h:13:0, from /usr/include/openssl/ssl.h:61, from nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:1245: /usr/include/openssl/err.h:248:1: note: declared here DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) ^ At top level: nifi-minifi-cpp/thirdparty/civetweb-1.9.1/src/civetweb.c:11902:1: warning: ‘ssl_locking_callback’ defined but not used [-Wunused-function] ssl_locking_callback(int mode, int mutex_num, const char *file, int line) ^~~~~~~~~~~~~~~~~~~~ make[3]: *** [thirdparty/civetweb-1.9.1/src/CMakeFiles/c-library.dir/build.make:63: thirdparty/civetweb-1.9.1/src/CMakeFiles/c-library.dir/civetweb.c.o] Error 1 make[2]: *** [CMakeFiles/Makefile2:2270: thirdparty/civetweb-1.9.1/src/CMakeFiles/c-library.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:1590: CMakeFiles/HttpPostIntegrationTest.dir/rule] Error 2 make: *** [Makefile:678: HttpPostIntegrationTest] Error 2 {noformat} > Rocksdb fails to link > --------------------- > > Key: MINIFICPP-262 > URL: https://issues.apache.org/jira/browse/MINIFICPP-262 > Project: NiFi MiNiFi C++ > Issue Type: Bug > Reporter: Andrew Christianson > > Rocksdb fails to link when building on CentOS 7.4. [~calebj] seems to be > having the same issue on Ubuntu 14.04 as part of MINIFI-244. > {code} > [ 38%] Linking CXX static library librocksdb.a > [ 38%] Linking CXX shared library librocksdb.so > [ 60%] Built target rocksdb > [ 61%] Building CXX object > CMakeFiles/Tests.dir/thirdparty/spdlog-20170710/include/spdlog/dummy.cpp.o > [ 61%] Building CXX object > CMakeFiles/ControllerServiceIntegrationTests.dir/libminifi/test/TestBase.cpp.o > /usr/bin/ld: CMakeFiles/build_version.dir/__/__/build_version.cc.o: > relocation R_X86_64_32 against `.data' can not be used when making a shared > object; recompile with -fPIC > CMakeFiles/build_version.dir/__/__/build_version.cc.o: error adding symbols: > Bad value > collect2: error: ld returned 1 exit status > gmake[2]: *** [thirdparty/rocksdb/librocksdb.so.5.7.0] Error 1 > gmake[1]: *** [thirdparty/rocksdb/CMakeFiles/rocksdb-shared.dir/all] Error 2 > gmake[1]: *** Waiting for unfinished jobs.... > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)