From: Adriano Barbosa Subject: Re: About net/nextcloudclient, libp11 and devel/pkgconf To: stu@spacehopper.org Cc: ports@openbsd.org Date: Tue, 24 Jun 2025 13:01:59 -0400 On Tue, Jun 24, 2025 at 03:17:00PM +0100, Stuart Henderson wrote: > On 2025/06/24 09:25, Adriano Barbosa wrote: > > I've been trying to fix a new issue without success. I've never used > > gdb before, and from what I've learned over the past few days, the > > issue seems to be an incompatibility between ssl libraries used in qt > > and nextcloud, which now require openssl. Please find the backtrace from > > the core dump below. I'm out of ideas on how to proceed to make it > > work, and I'm wondering if there is any chance to resolve itwithout > > recompiling qt stuff. > > Switching to OpenSSL is difficult or impossible in many cases because > a lot of libraries pull in libssl/libcrypto. > > Generally you can't mix code compiled against OpenSSL and code compiled > against LibreSSL in the same process (e.g. a library built against one > used in an executable built against the other). > > > #0 0x00000a2a7028d02f in ossl_asn1_item_embed_free () from /usr/local/lib/eopenssl34/libcrypto.so.32.0 > > #1 0x00000a2a7028cfc5 in ASN1_item_free () from /usr/local/lib/eopenssl34/libcrypto.so.32.0 > > #2 0x00000a2a493c7f7a in QTlsPrivate::X509CertificateOpenSSL::convertExtension () from /usr/local/lib/qt6/plugins/tls/libqopensslbackend.so > > This shows QTls code (which expects libressl) calling into functions > coming from openssl's libraries, that's not going to work. > > What's failing with libressl? Do you have a (non-working) diff? nextcloudclient diff is straightforward, but since version 3.16, it requires libp11. Please find the diff and the port for libp11 (still not commited) attached. Thank you! Index: Makefile =================================================================== RCS file: /cvs/ports/net/nextcloudclient/Makefile,v diff -u -p -r1.70 Makefile --- Makefile 18 Mar 2025 07:54:21 -0000 1.70 +++ Makefile 24 Jun 2025 16:54:52 -0000 @@ -3,11 +3,10 @@ USE_WXNEEDED = Yes COMMENT-main = desktop sync client for Nextcloud COMMENT-dolphin= dolphin nextcloud integration plugin -V = 3.15.3 +V = 3.16.6 GH_ACCOUNT = nextcloud GH_PROJECT = desktop GH_TAGNAME = v${V} -REVISION-main = 0 DISTNAME = nextcloudclient-${V} PKGNAME-main = nextcloudclient-${V} @@ -17,7 +16,7 @@ CATEGORIES = net HOMEPAGE = https://nextcloud.com -SHARED_LIBS += nextcloudsync 23.0 # 3.15.2 +SHARED_LIBS += nextcloudsync 24.0 # 3.16.2 SHARED_LIBS += nextcloud_csync 11.0 # 3.15.2 SHARED_LIBS += nextcloudsync_vfs_suffix 4.0 # 3.14.1 @@ -31,9 +30,9 @@ WANTLIB-main += Qt6Core Qt6Core5Compat Q WANTLIB-main += Qt6Positioning Qt6PrintSupport Qt6Qml Qt6QmlMeta Qt6QmlModels WANTLIB-main += Qt6QmlWorkerScript Qt6Quick Qt6QuickControls2 Qt6QuickWidgets WANTLIB-main += Qt6Sql Qt6Svg Qt6WebChannel Qt6WebEngineCore Qt6WebEngineWidgets -WANTLIB-main += Qt6WebSockets Qt6Widgets Qt6Xml c cloudproviders crypto +WANTLIB-main += Qt6WebSockets Qt6Widgets Qt6Xml c cloudproviders lib/eopenssl34/crypto WANTLIB-main += gio-2.0 glib-2.0 gobject-2.0 intl m qt6keychain sqlite3 -WANTLIB-main += ssl xkbcommon z +WANTLIB-main += lib/eopenssl34/ssl xkbcommon z WANTLIB-dolphin += ${COMPILER_LIBCXX} GL KF6Completion KF6ConfigCore KF6CoreAddons WANTLIB-dolphin += KF6JobWidgets KF6KIOCore KF6KIOGui KF6KIOWidgets KF6Service @@ -47,7 +46,8 @@ FLAVOR ?= MODULES = devel/cmake \ x11/qt6 -BUILD_DEPENDS = devel/gettext,-tools +BUILD_DEPENDS = devel/gettext,-tools \ + security/libp11 # for converting svg icons to png BUILD_DEPENDS += x11/gnome/librsvg @@ -68,6 +68,7 @@ LIB_DEPENDS-main = databases/sqlite3 \ devel/kf6/karchive \ devel/kf6/kguiaddons \ devel/libinotify \ + security/openssl/3.4 \ security/qtkeychain,qt6 \ x11/gnome/libcloudproviders \ x11/qt6/qt5compat \ @@ -94,10 +95,12 @@ CONFIGURE_ARGS += -DCMAKE_MODULE_PATH=${ # Do not install under /etc/Nextcloud CONFIGURE_ARGS += -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} -CONFIGURE_ARGS += -DCMAKE_INSTALL_RPATH=${LOCALBASE}/lib/inotify +CONFIGURE_ARGS += -DCMAKE_INSTALL_RPATH="${LOCALBASE}/lib/inotify;${LOCALBASE}/lib/eopenssl34" +CONFIGURE_ENV = OPENSSL_ROOT_DIR=${LOCALBASE}/lib/eopenssl34 -CXXFLAGS += -I${LOCALBASE}/include/inotify -I${LOCALBASE}/include/qtkeychain -MODCMAKE_LDFLAGS = -L${LOCALBASE}/lib/inotify +CXXFLAGS += -I${LOCALBASE}/include/inotify -I${LOCALBASE}/include/qtkeychain \ + -I${LOCALBASE}/include/eopenssl34 +MODCMAKE_LDFLAGS = -L${LOCALBASE}/lib/inotify -L${LOCALBASE}/lib/eopenssl34 .include Index: distinfo =================================================================== RCS file: /cvs/ports/net/nextcloudclient/distinfo,v diff -u -p -r1.56 distinfo --- distinfo 2 Mar 2025 08:22:52 -0000 1.56 +++ distinfo 24 Jun 2025 16:54:52 -0000 @@ -1,2 +1,2 @@ -SHA256 (nextcloudclient-3.15.3.tar.gz) = WksSYEyEuJhvKu50YruWg/sB9K4o7p1oggaMucrEV3M= -SIZE (nextcloudclient-3.15.3.tar.gz) = 15683038 +SHA256 (nextcloudclient-3.16.6.tar.gz) = j9WOhTesRfXGbrkluO+E4I9wohuwvcP7FN5qMxBSSVQ= +SIZE (nextcloudclient-3.16.6.tar.gz) = 15690688 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/net/nextcloudclient/patches/patch-CMakeLists_txt,v diff -u -p -r1.18 patch-CMakeLists_txt --- patches/patch-CMakeLists_txt 19 Dec 2024 12:31:45 -0000 1.18 +++ patches/patch-CMakeLists_txt 24 Jun 2025 16:54:52 -0000 @@ -10,7 +10,7 @@ Index: CMakeLists.txt include(ECMCoverageOption) -@@ -352,4 +352,4 @@ elseif(BUILD_CLIENT) +@@ -357,4 +357,4 @@ elseif(BUILD_CLIENT) configure_file(sync-exclude.lst bin/sync-exclude.lst COPYONLY) endif() Index: pkg/PLIST-dolphin =================================================================== RCS file: /cvs/ports/net/nextcloudclient/pkg/PLIST-dolphin,v diff -u -p -r1.1 PLIST-dolphin --- pkg/PLIST-dolphin 2 Mar 2025 08:22:52 -0000 1.1 +++ pkg/PLIST-dolphin 24 Jun 2025 16:54:52 -0000 @@ -1,5 +1,4 @@ @so lib/libnextclouddolphinpluginhelper.so -lib/qt6/plugins/kf6/ lib/qt6/plugins/kf6/kfileitemaction/ @so lib/qt6/plugins/kf6/kfileitemaction/nextclouddolphinactionplugin.so lib/qt6/plugins/kf6/overlayicon/