I need an advanced auth for Mosquitto. I decided to use mosquitto-auth-plug
However, if I follow the build instructions I have the error:
$ make
Selected backends: JWT
Using mosquitto source dir: /mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15
OpenSSL install dir:
If you changed the backend selection, you might need to 'make clean' first
CFLAGS: -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include
LDFLAGS: -L/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/
LDADD: -lcurl -L/lib -lcrypto -lmosquitto
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o auth-plug.o auth-plug.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o base64.o base64.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o pbkdf2-check.o pbkdf2-check.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o log.o log.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o envs.o envs.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o hash.o hash.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o be-psk.o be-psk.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o backends.o backends.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o cache.o cache.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -c -o be-jwt.o be-jwt.c
cc -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/src/ -I/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -Wall -Werror -DBE_JWT -I/src -DDEBUG=1 -I/include -L/mnt/c/Users/avkar/cleversky/mosquitto/mosquitto-1.4.15/lib/ -fPIC -shared -o auth-plug.so auth-plug.o base64.o pbkdf2-check.o log.o envs.o hash.o be-psk.o backends.o cache.o be-jwt.o -lcurl -L/lib -lcrypto -lmosquitto
/usr/bin/ld: cannot find -lmosquitto
collect2: error: ld returned 1 exit status
Makefile:160: recipe for target 'auth-plug.so' failed
make: *** [auth-plug.so] Error 1
Somewhat -lmosquitto
not found.
I have assumed that is a library, but all librares present:
$ ls ../mosquitto-1.4.15/lib/
CMakeLists.txt logging_mosq.c memory_mosq.h mosquitto.h net_mosq.h read_handle_shared.c socks_mosq.c time_mosq.c util_mosq.c
cpp logging_mosq.h messages_mosq.c mosquitto_internal.h read_handle.c send_client_mosq.c socks_mosq.h time_mosq.h util_mosq.h
dummypthread.h Makefile messages_mosq.h mqtt3_protocol.h read_handle_client.c send_mosq.c srv_mosq.c tls_mosq.c will_mosq.c
linker.version memory_mosq.c mosquitto.c net_mosq.c read_handle.h send_mosq.h thread_mosq.c tls_mosq.h will_mosq.h
What is the -lmosquitto
and how can I fix my build?
As hashed out in the comments,
You need to build and install mosquitto (or install the prebuilt version and it's dev package) before trying to build the plugin.
The error is because ld can not find libmosquitto to link against