I am trying to compile mosquitto mqtt server on gentoo and it fails with the following error:
asridharan@stitchclient ~/mqtt/mosquitto $ make
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory '/home/asridharan/mqtt/mosquitto/lib'
make -C cpp
make[2]: Entering directory '/home/asridharan/mqtt/mosquitto/lib/cpp'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/asridharan/mqtt/mosquitto/lib/cpp'
make[1]: Leaving directory '/home/asridharan/mqtt/mosquitto/lib'
make[1]: Entering directory '/home/asridharan/mqtt/mosquitto/client'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/asridharan/mqtt/mosquitto/client'
make[1]: Entering directory '/home/asridharan/mqtt/mosquitto/src'
cc -Wall -ggdb -O2 -I. -I.. -I../lib -DVERSION="\"1.3.5\"" -DTIMESTAMP="\"2015-02-04 16:20:21-0800\"" -DWITH_BROKER -DWITH_TLS -DWITH_TLS_PSK -DWITH_BRIDGE -DWITH_PERSISTENCE -DWITH_MEMORY_TRACKING -DWITH_SYS_TREE -DWITH_EC -c net.c -o net.o
net.c: In function ‘_mosquitto_tls_server_ctx’:
net.c:261:2: error: unknown type name ‘EC_KEY’
net.c:304:2: warning: implicit declaration of function ‘EC_KEY_new_by_curve_name’ [-Wimplicit-function-declaration]
net.c:304:7: warning: assignment makes pointer from integer without a cast [enabled by default]
net.c:310:2: warning: implicit declaration of function ‘EC_KEY_free’ [-Wimplicit-function-declaration]
Makefile:39: recipe for target 'net.o' failed
make[1]: *** [net.o] Error 1
make[1]: Leaving directory '/home/asridharan/mqtt/mosquitto/src'
Makefile:17: recipe for target 'mosquitto' failed
make: *** [mosquitto] Error 2
_handle_server.o read_handle_shared.o security.o security_default.o send_client_mosq.o send_mosq.o send_server.o service.o subs.o sys_tree.o time_mosq.o tls_mosq.o util_mosq.o will_mosq.o -o mosquitto -ldl -lm -lrt
conf.o: In function `mqtt3_config_cleanup':
/home/asridharan/mqtt/mosquitto/src/conf.c:235: undefined reference to `SSL_CTX_free'
context.o: In function `mqtt3_context_cleanup':
/home/asridharan/mqtt/mosquitto/src/context.c:116: undefined reference to `SSL_free'
collect2: error: ld returned 1 exit status
Makefile:12: recipe for target 'mosquitto' failed
make[1]: *** [mosquitto] Error 1
make[1]: Leaving directory '/home/asridharan/mqtt/mosquitto/src'
Makefile:17: recipe for target 'mosquitto' failed
make: *** [mosquitto] Error 2
It feels like the openssl installation on my Gentoo doesn't have the ECC support. Any idea how to get the openssl support with ECC working on gentoo ? Or is there some other missing package leading to these compilation errors?