[Bug 262552] net/mosquitto: Mosquitto websockets support not working
Date: Mon, 13 Feb 2023 16:20:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262552 --- Comment #16 from Rod Morgan <rmorgan@portmorgan.com> --- First and foremost, thanks for looking into this. Looking at your patch file, it appears to be a patch to the original libwebsockets v4.2.2. Assuming that to be correct, I restored the libwebsockets port to its original state (prior to the first patch). Implemented the new patch to v4.3.2, deinstalled, cleaned, config'd, installed. All with no errors or warnings. Upon rebuilding (deinstall, clean, install) mosquitto, I got a failure referencing an undefined symbol for pthread_create. I've attached the patched libwebsockets Makefile and the mosquitto make error. Here is the v4.3.2 Makefile. ======= PORTNAME= libwebsockets DISTVERSIONPREFIX= v DISTVERSION= 4.3.2 CATEGORIES= net devel MASTER_SITES= https://libwebsockets.org/git/libwebsockets/snapshot/ MAINTAINER= ports@FreeBSD.org COMMENT= C library for lightweight websocket clients and servers WWW= https://libwebsockets.org/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake localbase pkgconfig tar:xz USE_LDCONFIG= yes BUILDINFO= ${HOSTARCH}-portbld-${OPSYS:tl}-${OSREL:R} CMAKE_ARGS= -DLWS_BUILD_HASH:STRING="${BUILDINFO}" CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Git \ LWS_WITH_DISKCACHE LWS_WITH_FTS LWS_IPV6 LWS_WITH_RANGES \ LWS_WITH_SSL LWS_WITH_THREADPOOL LWS_WITH_ZLIB \ LWS_WITHOUT_BUILTIN_SHA1 \ LWS_WITHOUT_TESTAPPS LWS_WITHOUT_TEST_SERVER \ LWS_WITHOUT_TEST_SERVER_EXTPOLL \ LWS_WITHOUT_TEST_PING LWS_WITHOUT_TEST_CLIENT OPTIONS_DEFINE= HTTP_PROXY HTTP2 MQTT PEERLIMITS PLUGINS \ SECURE_STREAMS SOCKS SQLITE WEBSERVER OPTIONS_DEFAULT= HTTP2 MQTT OPENSSL LIBUV OPTIONS_SUB= yes OPTIONS_SINGLE= SSL OPTIONS_SINGLE_SSL= MBEDTLS OPENSSL OPTIONS_GROUP= EVLOOP OPTIONS_GROUP_EVLOOP= GLIB LIBEV LIBEVENT LIBUV HTTP_PROXY_DESC= HTTP proxy support MQTT_DESC= MQTT client support PEERLIMITS_DESC= Tracking and limiting of resources of peer(s) PLUGINS_DESC= Plugins support SECURE_STREAMS_DESC= Secure streams protocol API support SOCKS_DESC= Allow use of SOCKS5 proxy on client connections EVLOOP_DESC= Event loop support GLIB_DESC= Events support via Glib LIBEVENT_DESC= Asynchronous event notification via libevent LIBUV_DESC= Asynchronous I/O support via libuv HTTP_PROXY_CMAKE_BOOL= LWS_WITH_HTTP_PROXY HTTP2_CMAKE_BOOL= LWS_WITH_HTTP2 MQTT_CMAKE_BOOL= LWS_ROLE_MQTT LWS_WITH_EXTERNAL_POLL PEERLIMITS_CMAKE_BOOL= LWS_WITH_PEER_LIMITS PLUGINS_CMAKE_BOOL= LWS_WITH_PLUGINS \ LWS_WITH_PLUGINS_API SECURE_STREAMS_CMAKE_BOOL= LWS_WITH_SECURE_STREAMS \ LWS_WITH_SECURE_STREAMS_PROXY_API SOCKS_CMAKE_BOOL= LWS_WITH_SOCKS5 SQLITE_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 SQLITE_CMAKE_BOOL= LWS_WITH_SQLITE3 WEBSERVER_CMAKE_BOOL= LWS_WITH_LWSWS WEBSERVER_IMPLIES= PEERLIMITS PLUGINS LIBUV MBEDTLS_LIB_DEPENDS= libmbedtls.so:security/mbedtls MBEDTLS_CMAKE_BOOL= LWS_WITH_MBEDTLS OPENSSL_USES= ssl OPENSSL_CMAKE_BOOL= LWS_WITHOUT_BUILTIN_SHA1 # WolfSSL needs to be compiled with --enable-libwebsockets to work # WOLFSSL_LIB_DEPENDS= libwolfssl.so:security/wolfssl # WOLFSSL_CMAKE_BOOL= LWS_WITH_SSL LWS_WITH_WOLFSSL # WOLFSSL_CMAKE_ON= -DLWS_WOLFSSL_INCLUDE_DIRS=${LOCALBASE}/include \ # -DLWS_WOLFSSL_LIBRARIES=${LOCALBASE}/lib/libwolfssl.so GLIB_USES= gnome GLIB_USE= GNOME=glib20 GLIB_CMAKE_BOOL= LWS_WITH_GLIB LIBEV_LIB_DEPENDS= libev.so:devel/libev LIBEV_CMAKE_BOOL= LWS_WITH_LIBEV LIBEVENT_LIB_DEPENDS= libevent.so:devel/libevent LIBEVENT_CMAKE_BOOL= LWS_WITH_LIBEVENT LIBUV_LIB_DEPENDS= libuv.so:devel/libuv LIBUV_CMAKE_BOOL= LWS_WITH_LIBUV .include <bsd.port.options.mk> # Allow usage of LibreSSL via OPENSSL option .if ${PORT_OPTIONS:MOPENSSL} && ${SSL_DEFAULT} == libressl CMAKE_ARGS+= -DLWS_OPENSSL_LIBRARIES='${OPENSSLLIB}/libtls.so;${OPENSSLLIB}/libssl.so;${OPENSSLLIB}/libcrypto.so' -DLWS_OPENSSL_INCLUDE_DIRS=${OPENSSLINC}/ssl .endif .include <bsd.port.mk> ========= ========= FAILED: src/mosquitto : && /usr/bin/cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -fstack-protector-strong -Wl,-dynamic-list=/usr/ports/net/mosquitto/work/mosquitto-2.0.15/src/linker.syms src/CMakeFiles/mosquitto.dir/__/lib/alias_mosq.c.o src/CMakeFiles/mosquitto.dir/bridge.c.o src/CMakeFiles/mosquitto.dir/bridge_topic.c.o src/CMakeFiles/mosquitto.dir/conf.c.o src/CMakeFiles/mosquitto.dir/conf_includedir.c.o src/CMakeFiles/mosquitto.dir/context.c.o src/CMakeFiles/mosquitto.dir/control.c.o src/CMakeFiles/mosquitto.dir/database.c.o src/CMakeFiles/mosquitto.dir/handle_auth.c.o src/CMakeFiles/mosquitto.dir/handle_connack.c.o src/CMakeFiles/mosquitto.dir/handle_connect.c.o src/CMakeFiles/mosquitto.dir/handle_disconnect.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_ping.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_pubackcomp.c.o src/CMakeFiles/mosquitto.dir/handle_publish.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_pubrec.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_pubrel.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_suback.c.o src/CMakeFiles/mosquitto.dir/handle_subscribe.c.o src/CMakeFiles/mosquitto.dir/__/lib/handle_unsuback.c.o src/CMakeFiles/mosquitto.dir/handle_unsubscribe.c.o src/CMakeFiles/mosquitto.dir/keepalive.c.o src/CMakeFiles/mosquitto.dir/logging.c.o src/CMakeFiles/mosquitto.dir/loop.c.o src/CMakeFiles/mosquitto.dir/__/lib/memory_mosq.c.o src/CMakeFiles/mosquitto.dir/memory_public.c.o src/CMakeFiles/mosquitto.dir/mosquitto.c.o src/CMakeFiles/mosquitto.dir/__/lib/misc_mosq.c.o src/CMakeFiles/mosquitto.dir/mux.c.o src/CMakeFiles/mosquitto.dir/mux_epoll.c.o src/CMakeFiles/mosquitto.dir/mux_poll.c.o src/CMakeFiles/mosquitto.dir/net.c.o src/CMakeFiles/mosquitto.dir/__/lib/net_mosq_ocsp.c.o src/CMakeFiles/mosquitto.dir/__/lib/net_mosq.c.o src/CMakeFiles/mosquitto.dir/__/lib/packet_datatypes.c.o src/CMakeFiles/mosquitto.dir/__/lib/packet_mosq.c.o src/CMakeFiles/mosquitto.dir/password_mosq.c.o src/CMakeFiles/mosquitto.dir/persist_read_v234.c.o src/CMakeFiles/mosquitto.dir/persist_read_v5.c.o src/CMakeFiles/mosquitto.dir/persist_read.c.o src/CMakeFiles/mosquitto.dir/persist_write_v5.c.o src/CMakeFiles/mosquitto.dir/persist_write.c.o src/CMakeFiles/mosquitto.dir/plugin.c.o src/CMakeFiles/mosquitto.dir/plugin_public.c.o src/CMakeFiles/mosquitto.dir/property_broker.c.o src/CMakeFiles/mosquitto.dir/__/lib/property_mosq.c.o src/CMakeFiles/mosquitto.dir/read_handle.c.o src/CMakeFiles/mosquitto.dir/retain.c.o src/CMakeFiles/mosquitto.dir/security.c.o src/CMakeFiles/mosquitto.dir/security_default.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_mosq.c.o src/CMakeFiles/mosquitto.dir/send_auth.c.o src/CMakeFiles/mosquitto.dir/send_connack.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_connect.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_disconnect.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_publish.c.o src/CMakeFiles/mosquitto.dir/send_suback.c.o src/CMakeFiles/mosquitto.dir/signals.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_subscribe.c.o src/CMakeFiles/mosquitto.dir/send_unsuback.c.o src/CMakeFiles/mosquitto.dir/__/lib/send_unsubscribe.c.o src/CMakeFiles/mosquitto.dir/session_expiry.c.o src/CMakeFiles/mosquitto.dir/__/lib/strings_mosq.c.o src/CMakeFiles/mosquitto.dir/subs.c.o src/CMakeFiles/mosquitto.dir/sys_tree.c.o src/CMakeFiles/mosquitto.dir/__/lib/time_mosq.c.o src/CMakeFiles/mosquitto.dir/__/lib/tls_mosq.c.o src/CMakeFiles/mosquitto.dir/topic_tok.c.o src/CMakeFiles/mosquitto.dir/__/lib/util_mosq.c.o src/CMakeFiles/mosquitto.dir/__/lib/util_topic.c.o src/CMakeFiles/mosquitto.dir/__/lib/utf8_mosq.c.o src/CMakeFiles/mosquitto.dir/websockets.c.o src/CMakeFiles/mosquitto.dir/will_delay.c.o src/CMakeFiles/mosquitto.dir/__/lib/will_mosq.c.o -o src/mosquitto -L/usr/local/lib -Wl,-rpath,/usr/local/lib: -lssl -lcrypto -ldl -lm -lrt /usr/local/lib/libwebsockets.a -lssl -lcrypto -lz && : ld: error: undefined symbol: pthread_create >>> referenced by threadpool.c >>> threadpool.c.o:(lws_threadpool_create) in archive /usr/local/lib/libwebsockets.a ============== -- You are receiving this mail because: You are the assignee for the bug.