Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] compilation failing on Gentoo

Correction to my mail:

I was running the make from the top directory instead of "src/". On turning off TLS support in config.mk I was able to compile mosquitto by running make in "src/" directory. However with TLS support enable, even from the "src/" directory getting the following error:
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: *** [net.o] Error 1


I think this is an issue of openssl not having ECC support but would like someone to confirm this.

Thanks,
Avinash

On Wed, Feb 4, 2015 at 4:45 PM, Avinash Sridharan <avinash.sridharan@xxxxxxxxx> wrote:
Hi,
 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



I tried disabling TLS as well (in config.mk) still failing with the following error:
_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?

Thanks,
Avinash


Back to the top