Closed eloyleonardo closed 6 years ago
Which version of Debian are you compiling on and which compiler are you using?
Also I notice you have a custom version of boost; which versions of openssl and boost are you using?
I'm using Debian 8.0. And its really a custom version (i'll try to build to multiple platforms), the boost it's version 1.60.0 and the open ssl version it's 1.0-pre2.
Thank you
First of all i give you the wrong version, i try to use the opensss 1.1.0-pre3 (really sorry about that). And on OS X, I can build with the openssl version 1.0.2e and boost version 1.59.0. I will try to use this versions on Debian and try to compile.
The strange thing on Debian is is. The build operation find the openssl, but complains about the version (tell the version is .0.0) but i can run the openssl and if i set the variable to the right version of openssl the check step pass but stops in the compilation (with those warnings).
Is something i made wrong ? Thanks
Ok, after looking through the error log, I get this:
PS C:\Users\roschuma\Documents> gc .\linuxmakeerror.txt | select-string "error: " | % { $_ -replace ".+\[(-Werror=.+)\]",'$1' -replace '.+error: (.+)$','$1' } | group | select count,name
Count Name
----- ----
27 -Werror=conversion
301 -Werror=cast-qual
4 -Werror=deprecated-declarations
1 ‘::SSLv2_method’ has not been declared
1 ‘::SSLv2_client_method’ has not been declared
1 ‘::SSLv2_server_method’ has not been declared
14 invalid use of incomplete type ‘SSL_CTX {aka struct ssl_ctx_st}’
14 forward declaration of ‘SSL_CTX {aka struct ssl_ctx_st}’
2 ‘SSL_R_SHORT_READ’ was not declared in this scope
1 invalid use of incomplete type ‘SSL {aka struct ssl_st}’
1 forward declaration of ‘SSL {aka struct ssl_st}’
8 -Werror=unused-variable
Ignoring the warnings-turned-error, the remaining errors look to be surrounding OpenSSL. Could you first try using just boost 1.60 with the version of openssl in the system repos?
It seems to be a bug in Boost when complied in C++11 mode.
Go to Release/src/CMakeLists.txt, line 56 and remove -Werror. The flag instructs to treat warnings as errors. You may get rid of errors, but there will be lots of warnings.
You need to run tests to ensure correctness of code dealing with date-time.
We've seen the same thing. So far in all our tests everything still runs fine.
Damien
On 4/28/2016 9:30 AM, Venkateswara Rao Sanaka (Venkata Ramana) wrote:
It seems to be a bug in Boost when complied in C++11 mode.
Go to Release/src/CMakeLists.txt, line 56 and remove -Werror. The flag instructs to treat warnings are errors. You may get rid of errors, but there will be lots of warnings.
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/Microsoft/cpprestsdk/issues/56#issuecomment-215467914
Damien Hocking, PhD CEO, Corelium Software t: 403 510 6619 e: dhocking@coreliuminc.com w: http://coreliuminc.com
This is going to be a problem in Debian, because they want openssl 1.1 inside Stretch (new stable release)
Has Boost been updated to support OpenSSL 1.1? I believe we should "just work" once that happens.
Boost 1.62 works with OpenSSL 1.1, but now we have two other issues: https://github.com/zaphoyd/websocketpp/issues/599 https://github.com/Microsoft/cpprestsdk/issues/279
G.
Would it be best to ignore warnings originating from boost? That way cpprestsdk can remain compatible with whatever boost/openssl versions, and still require -Werror for its own code.
Specifically, in Release/cmake/cpprest_find_boost.cmake, "SYSTEM" would be passed to target_include_directories like this:
target_include_directories(cpprestsdk_boost_internal SYSTEM INTERFACE "$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>")
When i try to compile the library i receive the follow error (looks like it's a problem with the warnings being treated as an error).
It's really this or it's something i made wrong ? How can i solve this ? I already have the openssl and boost installed. Thanks
Here a link to the full error