Netfuture/tlsinterposer

Error with make on CentOS 6.5

Closed this issue · 2 comments

I tried the following on CentOS 6.5.

# make
ldconfig -p | sed -n -e 's/^\t*\(libssl\.so\.[0-9.]*\).*/#define DEFAULT_SSLLIB "\1"/p' > ssl-version.h
cc -g -Wall -O2 -fPIC -shared -o libtlsinterposer.so tlsinterposer.c -ldl
tlsinterposer.c:29:25: error: openssl/ssl.h: No such file or directory
tlsinterposer.c:30:24: error: openssl/dh.h: No such file or directory
tlsinterposer.c:81: error: ‘SSL_OP_NO_SSLv2’ undeclared here (not in a function)
tlsinterposer.c:81: error: ‘SSL_OP_NO_SSLv3’ undeclared here (not in a function)
tlsinterposer.c:81: error: ‘SSL_OP_SINGLE_DH_USE’ undeclared here (not in a function)
tlsinterposer.c: In function ‘interposer_parse_opts’:
tlsinterposer.c:161: error: ‘SSL_OP_NO_TLSv1’ undeclared (first use in this function)
tlsinterposer.c:161: error: (Each undeclared identifier is reported only once
tlsinterposer.c:161: error: for each function it appears in.)
tlsinterposer.c:169: error: ‘SSL_OP_CIPHER_SERVER_PREFERENCE’ undeclared (first use in this function)
tlsinterposer.c: At top level:
tlsinterposer.c:210: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:215: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:223: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:236: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:275: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:276: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:277: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:278: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:280: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:297: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:303: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:312: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tlsinterposer.c:347: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:358: error: expected ‘)’ before ‘*’ token
tlsinterposer.c:367: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
make: *** [libtlsinterposer.so] Error 1

I'm having the same issue on CentOS 5.11.

The first two compile errors
tlsinterposer.c:29:25: error: openssl/ssl.h: No such file or directory tlsinterposer.c:30:24: error: openssl/dh.h: No such file or directory
indicate that the "development" header files for OpenSSL are missing.

They are probably in a package called openssl-devel, which you might be able to install with yum or rpm (or whatever your package manager is).