• Bug#1097669: pyotherside: ftbfs with GCC-15

    From Felix Zielcke@21:1/5 to All on Thu Mar 13 18:40:02 2025
    Control: tag -1 unreproducible

    Am Montag, dem 17.02.2025 um 17:46 +0000 schrieb Matthias Klose:
    Package: src:pyotherside
    Version: 1.6.1-1
    Severity: important
    Tags: sid forky
    User: debian-gcc@lists.debian.org
    Usertags: ftbfs-gcc-15

    [...]
    The package fails to build in a test rebuild on at least amd64 with gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
    severity of this report will be raised before the forky release.

    The full build log can be found at: http://qa-logs.debian.net/2025/02/16/amd64exp/pyotherside_1.6.1-1_unstable_gccexp.log.gz
    The last lines of the build log are at the end of this report.

    To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
    or install the gcc, g++, gfortran, ... packages from experimental.

      apt-get -t=experimental install g++

    [...]
    g++ -Wl,-z,relro -Wl,-z,now -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu
    -shared -o libpyothersideplugin.so pyotherside_plugin.o qpython_imageprovider.o pyglarea.o pyglrenderer.o pyfbo.o
    pythonlib_loader.o qpython.o qpython_worker.o qpython_priv.o global_libpython_loader.o pyobject_ref.o qobject_ref.o
    qrc_qrc_importer.o moc_pyotherside_plugin.o moc_pyglarea.o
    moc_pyfbo.o moc_qpython.o moc_qpython_worker.o moc_qpython_priv.o moc_qobject_ref.o  /usr/lib/x86_64-linux-gnu/libQt6Quick.so /usr/lib/x86_64-linux-gnu/libQt6OpenGL.so /usr/lib/x86_64-linux- gnu/libQt6Svg.so /usr/lib/x86_64-linux-gnu/libQt6Gui.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-
    gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libQt6QmlModels.so /usr/lib/x86_64-linux-gnu/libQt6Qml.so /usr/lib/x86_64-linux- gnu/libQt6QmlBuiltins.a /usr/lib/x86_64-linux-gnu/libQt6Network.so /usr/lib/x86_64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL  - L/usr/lib/python3.13/config-3.13-x86_64-linux-gnu -L/usr/lib/x86_64- linux-gnu -lpython3.13 -ldl -lm 
    /usr/bin/ld: qpython_imageprovider.o:(.rodata+0x0): multiple
    definition of `QtPrivate::IsFloatType_v<_Float16>'; pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: pyglarea.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: pyglrenderer.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: pyfbo.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: pythonlib_loader.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: qpython.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: qpython_worker.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: qpython_priv.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: pyobject_ref.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: qobject_ref.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_pyotherside_plugin.o:(.rodata+0x64): multiple
    definition of `QtPrivate::IsFloatType_v<_Float16>'; pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_pyglarea.o:(.rodata+0x1f4): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_pyfbo.o:(.rodata+0x80): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_qpython.o:(.rodata+0x974): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_qpython_worker.o:(.rodata+0x238): multiple
    definition of `QtPrivate::IsFloatType_v<_Float16>'; pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_qpython_priv.o:(.rodata+0x9c): multiple definition
    of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    /usr/bin/ld: moc_qobject_ref.o:(.rodata+0xa0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
    pyotherside_plugin.o:(.rodata+0x0): first defined here
    collect2: error: ld returned 1 exit status
    make[3]: *** [Makefile:240: libpyothersideplugin.so] Error 1
    make[3]: Leaving directory '/build/reproducible-path/pyotherside- 1.6.1/build6/src'
    make[2]: *** [Makefile:49: sub-src-make_first] Error 2
    make[2]: Leaving directory '/build/reproducible-path/pyotherside- 1.6.1/build6'
    dh_auto_build: error: cd build6 && make -j8 returned exit code 2
    make[1]: *** [debian/rules:15: override_dh_auto_build] Error 25
    make[1]: Leaving directory '/build/reproducible-path/pyotherside-
    1.6.1'
    make: *** [debian/rules:8: binary] Error 2
    dpkg-buildpackage: error: debian/rules binary subprocess returned
    exit status 2


    Hi Matthias,

    I fail to reproduce this. I tried both with pyotherside 1.6.1-1 (which
    you reported this against) and 1.6.2-1 currently in unstable.

    Building was done with:

    sbuild -d unstable --extra-repository='deb http://deb.debian.org/debian experimental main' --build-dep-resolver=aptitude --add-depends='g++ (>= 4:15.0.0-2)' --add-conflicts=gcc-14

    And the log shows that gcc/g++ 4.15 gets installed and 14 gets removed:

    g++ (= 4:15.0.0-2),
    g++-15 (= 15-20250220-1),
    g++-15-x86-64-linux-gnu (= 15-20250220-1),
    g++-x86-64-linux-gnu (= 4:15.0.0-2),
    gcc (= 4:15.0.0-2),
    gcc-15 (= 15-20250220-1),
    gcc-15-base (= 15-20250220-1),
    gcc-15-x86-64-linux-gnu (= 15-20250220-1),
    gcc-x86-64-linux-gnu (= 4:15.0.0-2),
    [...]
    Removing g++-14 (14.2.0-18) ...
    Removing g++-14-x86-64-linux-gnu (14.2.0-18) ...
    Removing gcc-14 (14.2.0-18) ...
    Removing gcc-14-x86-64-linux-gnu (14.2.0-18) ...
    Removing libstdc++-14-dev:amd64 (14.2.0-18) ...
    Removing libgcc-14-dev:amd64 (14.2.0-18) ...

    So is this now still a problem or has it been somehow fixed?

    Regards
    Felix

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)