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

Reply via email to