[
https://issues.apache.org/jira/browse/AMQCPP-439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13706909#comment-13706909
]
Nicolas C commented on AMQCPP-439:
----------------------------------
Good syntax for const_cast is the following one :
STACK_OF(CONF_VALUE)* confValue =
method->i2v( method, method->it ?
ASN1_item_d2i(NULL, const_cast<unsigned char
**>(&data), extension->value->length, ASN1_ITEM_ptr(method->it)) :
method->d2i( NULL, const_cast<unsigned char
**>(&data), extension->value->length ), NULL );
Patching this is mandatory in my case ( cannot upgrade easily compiler version
because I part of of hudge project )
Moreover, compiler is right, passing a variable declared as const in a
non-const param of a method is bad. Perhaps depending of compiler version,
it's an error or a warning, but It's better to tell him explicitly that we know
that we do this (well I suppose, we know :) )
> Compilation error - activemq-cpp library 3.4.1 - invalid conversion from
> "const unsigned char**" to "unsigned char**"
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: AMQCPP-439
> URL: https://issues.apache.org/jira/browse/AMQCPP-439
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Affects Versions: 3.4.1
> Environment: OS: RedHat AS 4.0 Update7 32 bit.
> Software:
> activemq-cpp-library-3.4.1
> gcc 3.4.6
> GNU Make 3.80
> libtool 1.5.26
> automake 1.10.1
> autoconf 2.69
> apr 1.4.6
> apr-util 1.5.1
> m4 1.4.16
> openssl 1.0.0g
> Reporter: Suresh Velupula
> Assignee: Timothy Bish
> Priority: Critical
>
> Compilation error while building activemq-cpp-library 3.4.1.
> [activemq-cpp-library-3.4.1]# make
> make all-recursive
> make[1]: Entering directory `/suresh/activemq-cpp-library-3.4.1'
> Making all in src/main
> make[2]: Entering directory `/suresh/activemq-cpp-library-3.4.1/src/main'
> /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I../.. -ansi -pedantic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
> -D_LARGEFILE64_SOURCE -I/usr/local/suresh/include/apr-1
> -I/usr/local/suresh/include/apr-1 -I/usr/kerberos/include -W -Wall -Wextra
> -Wconversion -fPIC -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long -g
> -O2 -pthread -MT
> decaf/internal/net/ssl/openssl/libactivemq_cpp_la-OpenSSLSocket.lo -MD -MP
> -MF decaf/internal/net/ssl/openssl/.deps/libactivemq_cpp_la-OpenSSLSocket.Tpo
> -c -o decaf/internal/net/ssl/openssl/libactivemq_cpp_la-OpenSSLSocket.lo
> `test -f 'decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp' || echo
> './'`decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp
> g++ -DHAVE_CONFIG_H -I. -I../.. -ansi -pedantic -DLINUX=2 -D_REENTRANT
> -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/suresh/include/apr-1
> -I/usr/local/suresh/include/apr-1 -I/usr/kerberos/include -W -Wall -Wextra
> -Wconversion -fPIC -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long -g
> -O2 -pthread -MT
> decaf/internal/net/ssl/openssl/libactivemq_cpp_la-OpenSSLSocket.lo -MD -MP
> -MF decaf/internal/net/ssl/openssl/.deps/libactivemq_cpp_la-OpenSSLSocket.Tpo
> -c decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp -fPIC -DPIC -o
> decaf/internal/net/ssl/openssl/.libs/libactivemq_cpp_la-OpenSSLSocket.o
> decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp: In member function `void
> decaf::internal::net::ssl::openssl::OpenSSLSocket::verifyServerCert(const
> std::string&)':
> decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:679: error: invalid
> conversion from `const unsigned char**' to `unsigned char**'
> decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:680: error: invalid
> conversion from `const unsigned char**' to `unsigned char**'
> make[2]: ***
> [decaf/internal/net/ssl/openssl/libactivemq_cpp_la-OpenSSLSocket.lo] Error 1
> make[2]: Leaving directory `/suresh/activemq-cpp-library-3.4.1/src/main'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/suresh/activemq-cpp-library-3.4.1'
> make: *** [all] Error 2
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira