Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: About net/nextcloudclient, libp11 and devel/pkgconf
To:
Adriano Barbosa <barbosa.aob@gmail.com>
Cc:
ports@openbsd.org
Date:
Tue, 24 Jun 2025 18:19:58 +0100

Download raw body.

Thread
ah I see, so libp11 depends on engine support in openssl.

None of this is going to work.


On 2025/06/24 13:01, Adriano Barbosa wrote:
> 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 <bsd.port.arch.mk>
>  
> 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/