|
From: Remzi A. <ak...@se...> - 2012-05-04 23:23:58
|
Hi,
i cannot compile imspector-20120504.tar.gz.
My system is ubuntu 12.04LTS(LongTermSupport).
root@d525:~/imspector# gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
root@d525:~/imspector/imspector# g++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ii libssl-dev 1.0.1-4ubuntu5 SSL development libraries, header files and
documentation
ii libssl-doc 1.0.1-4ubuntu5 SSL development documentation documentation
ii libssl1.0.0 1.0.1-4ubuntu5
# make
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL main.cpp -c
main.cpp: In function ‘bool doproxy(Options&, bool, Socket&,
std::string&, SSLState&, bool)’:
main.cpp:572:9: warning: variable ‘s’ set but not used
[-Wunused-but-set-variable]
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL protocolplugin.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL loggingplugin.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL filterplugin.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL responderplugin.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL sslstate.cpp -c
sslstate.cpp: In member function ‘bool SSLState::init(Options&, bool)’:
sslstate.cpp:54:25: error: invalid conversion from ‘const SSL_METHOD*
{aka const ssl_method_st*}’ to ‘SSL_METHOD* {aka ssl_method_st*}’
[-fpermissive]
make: *** [sslstate.o] Error 1
root@d525:~/imspector/imspector#
after add -fpermissive (CXXFLAGS = -Wall -O2 -fPIC $(SSL_FLAGS)
-fpermissive)
root@d525:~/imspector/imspector# make
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL -fpermissive sslstate.cpp -c
sslstate.cpp: In member function ‘bool SSLState::init(Options&, bool)’:
sslstate.cpp:54:25: warning: invalid conversion from ‘const SSL_METHOD*
{aka const ssl_method_st*}’ to ‘SSL_METHOD* {aka ssl_method_st*}’
[-fpermissive]
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL -fpermissive socket.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL -fpermissive options.cpp -c
g++ -Wall -O2 -fPIC -I/usr/include -DHAVE_SSL -fpermissive tools.cpp -c
tools.cpp: In function ‘void tracepacket(const char*, int, char*, int)’:
tools.cpp:247:34: warning: ignoring return value of ‘ssize_t write(int,
const void*, size_t)’, declared with attribute warn_unused_result
[-Wunused-result]
g++ socket.o options.o tools.o -ldl -fPIC -shared
-Wl,-soname,libimspector.so -o libimspector.so
g++ main.o protocolplugin.o loggingplugin.o filterplugin.o
responderplugin.o sslstate.o -ldl libimspector.so -o imspector
-L/usr/lib -lssl
libimspector.so: error: undefined reference to 'X509_NAME_get_index_by_NID'
libimspector.so: error: undefined reference to 'X509_NAME_get_entry'
libimspector.so: error: undefined reference to 'X509_NAME_ENTRY_get_data'
libimspector.so: error: undefined reference to 'ASN1_STRING_data'
sslstate.o:sslstate.cpp:function SSLState::loadcert(ssl_ctx_st*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >):
error: undefined reference to 'ERR_get_error'
sslstate.o:sslstate.cpp:function SSLState::loadcert(ssl_ctx_st*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >):
error: undefined reference to 'ERR_error_string'
sslstate.o:sslstate.cpp:function SSLState::loadcert(ssl_ctx_st*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >):
error: undefined reference to 'ERR_get_error'
sslstate.o:sslstate.cpp:function SSLState::loadcert(ssl_ctx_st*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >):
error: undefined reference to 'ERR_error_string'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'X509_new'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_set_version'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_get_serialNumber'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'ASN1_INTEGER_set'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_gmtime_adj'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_gmtime_adj'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_set_pubkey'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_get_subject_name'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_NAME_add_entry_by_txt'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_get_subject_name'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'X509_set_issuer_name'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'EVP_sha1'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'X509_sign'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'PEM_write_X509'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'ERR_get_error'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'ERR_error_string'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'ERR_get_error'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to
'ERR_error_string'
sslstate.o:sslstate.cpp:function
SSLState::signcert(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, bool): error: undefined reference to 'X509_free'
sslstate.o:sslstate.cpp:function SSLState::init(Options&, bool): error:
undefined reference to 'PEM_read_X509'
sslstate.o:sslstate.cpp:function SSLState::init(Options&, bool): error:
undefined reference to 'PEM_read_PrivateKey'
sslstate.o:sslstate.cpp:function SSLState::init(Options&, bool): error:
undefined reference to 'PEM_read_PrivateKey'
collect2: ld returned 1 exit status
make: *** [imspector] Error 1
root@d525:~/imspector/imspector#
How can i compile?
Thanks.
Remzi
|