Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: print/texlive/texmf depending on qt5 (was Re: sparc64 bulk build report)
To:
Kurt Mosiejczuk <kmos@openbsd.org>, ports@openbsd.org
Cc:
jsg@openbsd.org, jca@openbsd.org
Date:
Mon, 30 Jun 2025 21:52:46 +0200

Download raw body.

Thread
On Mon, Jun 30, 2025 at 06:58:07PM +0200, Theo Buehler wrote:
> On Mon, Jun 30, 2025 at 05:10:55PM +0100, Stuart Henderson wrote:
> > On 2025/06/29 16:20, Kurt Mosiejczuk wrote:
> > > So at some point texmf has managed to sprout a roundabout dependency on
> > > qt5 via the following chains originating with print/psutils
> > > 
> > > print/texlive/base not installable print/psutils -> graphics/py-wand -> graphics/ImageMagick -> multimedia/libheif -> multimedia/libde265 -> x11/qt5/qtbase
> > 
> > That isn't a circular dep, it's a build (packaging) failure in qtbase.
> > 
> > checksumming|**********************************************               | 75%
> > Error: /usr/obj/ports/qtbase-5.15.16pl130/fake-sparc64/usr/local/lib/qt5/cmake/Qt5Gui/Qt5Gui_QEglFSKmsGbmIntegrationPlugin.cmake does not exist
> > Error: /usr/obj/ports/qtbase-5.15.16pl130/fake-sparc64/usr/local/lib/qt5/plugins/egldeviceintegrations/libqeglfs-kms-integration.so does not exist
> > pkg_create: can't continue
> > 
> 
> This is missing because GBM isn't detected. Without looking very closely
> this seems another pthread-related issue in the mesa update:
> 
> > g++ -Wl,-O1 -Wl,-rpath,/usr/X11R6/lib -o gbm main.o   -L/usr/X11R6/lib -lgbm -L/usr/local/lib  -L/usr/obj/ports/qtbase-5.15.16pl130/qtbase-2529f7f0c2333d437089c775c9c30f624d1fd5bc/build-sparc64/config.tests/gbm 
> > /usr/X11R6/lib/libgbm.so.0.6: warning: rand() may return deterministic values, is that what you want?
> > /usr/X11R6/lib/libdrm.so.7.13: warning: sprintf() is often misused, please use snprintf()
> > /usr/X11R6/lib/libgbm.so.0.6: undefined reference to `pthread_create'
> > /usr/X11R6/lib/libgbm.so.0.6: undefined reference to `pthread_detach'
> > /usr/X11R6/lib/libgbm.so.0.6: undefined reference to `pthread_join'
> > collect2: error: ld returned 1 exit status
> > gmake: *** [Makefile:71: gbm] Error 1
>  => source failed verification.
> test config.qtbase_gui.libraries.gbm FAILED
> 

So the real problem is that on amd64, libgbm has these:

Dynamic Section:
  NEEDED      libm.so.10.1
  NEEDED      libpthread.so.27.1
  NEEDED      libdrm.so.7.13
  SONAME      libgbm.so.0.6

whereas on sparc64 libpthread is missing:

Dynamic Section:
  NEEDED      libm.so.10.1
  NEEDED      libdrm.so.7.13
  SONAME      libgbm.so.0.6

I suspect this is due to a difference in behavior between ld.bfd and
ld.lld, but I currently don't know how to fix it.