[
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)