Monday, June 30, 2025

Re: print/texlive/texmf depending on qt5 (was Re: sparc64 bulk build report)

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.

No comments:

Post a Comment