Hello. I'm struggling with mosquitto-auth-plug on FreeBSD. I'm following the (pretty basic) instruction provided by the authors. I do successfully build mosquitto-1.6.9.
I do successfully build also mosquitto-auth-plug, but later I'm getting undefined symbols, when mosquitto starts and loads the auth-plug.so
What worries me is that when I do ldd on a linux machine, there are a lot more dependent libraries than on my FreeBSD machine. Here is the output from Ubuntu:
And here is the output from my FreeBSD machine:
I know I shouldn't compare the linux package as it might have been built with all the mosquitto-auth-plug backends, but it is a hint for me that probably on FreeBSD the library dependencies are not properly resolved.
Since I'm very far from porting (and building) software, I'll be very helpful if someone can give me some hints on this.
Thanks!
I do successfully build also mosquitto-auth-plug, but later I'm getting undefined symbols, when mosquitto starts and loads the auth-plug.so
Code:
1610714616: mosquitto version 1.6.9 starting
1610714616: Config loaded from /etc/mosquitto/mosquitto.conf.
1610714616: Loading plugin: /home/mzk/mosquitto-auth-plug/auth-plug.so
1610714616: Error: Unable to load auth plugin "/home/mzk/mosquitto-auth-plug/auth-plug.so".
1610714616: Load error: /home/mzk/mosquitto-auth-plug/auth-plug.so: Undefined symbol "mosquitto_client_id"
What worries me is that when I do ldd on a linux machine, there are a lot more dependent libraries than on my FreeBSD machine. Here is the output from Ubuntu:
Code:
ldd auth-plugin.so
linux-vdso.so.1 => (0x00007ffc017c8000)
libcdb.so.1 => /usr/lib/x86_64-linux-gnu/libcdb.so.1 (0x00007f0cbba17000)
libmysqlclient.so.20 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 (0x00007f0cbb460000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0cbb243000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f0cbaf6e000)
libhiredis.so.0.13 => /usr/lib/x86_64-linux-gnu/libhiredis.so.0.13 (0x00007f0cbad61000)
libpq.so.5 => /usr/lib/x86_64-linux-gnu/libpq.so.5 (0x00007f0cbab31000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f0cba8e0000)
libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f0cba673000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f0cba22e000)
libmosquitto.so.1 => /usr/lib/x86_64-linux-gnu/libmosquitto.so.1 (0x00007f0cba01e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0cb9c54000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0cb9a50000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0cb9836000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f0cb95ce000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0cb924c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0cb8f43000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0cb8d2d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0cbbe28000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f0cb8ae3000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f0cb88d4000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f0cb86b9000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f0cb849e000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f0cb825d000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f0cb7f2d000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f0cb7cfa000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f0cb7ade000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f0cb78a8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0cb76a0000)
libcares.so.2 => /usr/lib/x86_64-linux-gnu/libcares.so.2 (0x00007f0cb748f000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f0cb71bd000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f0cb6f8e000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f0cb6d8a000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f0cb6b7f000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f0cb6976000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f0cb66ec000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f0cb644a000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f0cb6217000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f0cb6001000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f0cb5d9d000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f0cb5b8a000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f0cb5957000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f0cb56d7000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f0cb54d3000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f0cb52aa000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f0cb509b000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f0cb4e50000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0cb4c18000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f0cb4a10000)
And here is the output from my FreeBSD machine:
Code:
ldd ./auth-plug.so
./auth-plug.so:
libmariadb.so.3 => /usr/local/lib/mysql/libmariadb.so.3 (0x800683000)
libcrypto.so.111 => /lib/libcrypto.so.111 (0x800e00000)
libc.so.7 => /lib/libc.so.7 (0x80024e000)
libm.so.5 => /lib/libm.so.5 (0x8006e4000)
libssl.so.111 => /usr/lib/libssl.so.111 (0x800716000)
libz.so.6 => /lib/libz.so.6 (0x8007ae000)
libthr.so.3 => /lib/libthr.so.3 (0x8007ca000)
I know I shouldn't compare the linux package as it might have been built with all the mosquitto-auth-plug backends, but it is a hint for me that probably on FreeBSD the library dependencies are not properly resolved.
Since I'm very far from porting (and building) software, I'll be very helpful if someone can give me some hints on this.
Thanks!