Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Hi all, On 15/09/2021 05.16, Guillem Jover wrote: Control: reassign -1 glx-diversions 1.2.0 I reproduced the problem and replaced the postinst maintscript, and got the output in «glx-diversions.postinst.log», and after that there's no more libGL.so*. And these only get regenerated during the triggers processing. I've uploaded 1.2.1 to sid which reduces the time between creating the diversions and setting up the alternatives initially. That should fix the issue where libGL.so.1 etc. is missing over an extended timeframe (i.e. during the configuration of several unrelated packages). It would be great if you could retest your scenario in sid, s.t. I can backport the fix to bullseye-pu. Andreas PS: once the 390 legacy driver and 418 tesla driver are EoL (end of 2022, i.e. before bookworm), we can probably get rid of (most of) the diversion+alternatives construct, since all newer driver series are based on glvnd ;-)
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Package: glx-diversions Followup-For: Bug #993338 X-Debbugs-Cc: witold.bary...@gmail.com I noticed that removing the non-free and/or contrib from the suites available during live-build process in my scripts, causes nvidia drivers to not be installed, and bug no longer reproducible. So indeed it is likely glx-diversions or the nvidia specific one. Regards, Witold
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Control: reassign -1 glx-diversions 1.2.0 On Tue, 2021-09-14 at 11:19:43 +0200, Sébastien Villemot wrote: > Control: reassign -1 dpkg 1.20.9 > Le dimanche 12 septembre 2021 à 15:24 +, Witold Baryluk a écrit : > > Package: octave > > Version: 6.2.0-1 > > Followup-For: Bug #993338 > > X-Debbugs-Cc: witold.bary...@gmail.com > > > > After a lof of trial and error and minimizing my package list from ~7000 > > to just few, I got it easily reproducible using live-build. It is somehow > > related to multiarch. > > > > Here and attached below is a script that should reproduce the issue. It > > uses /tmp-live-build as a scratch space, so be sure to clean it after. > > (I cannot use /tmp as it often has nodev / nosuid set). > > > > I am also attaching compressed output log from the script and live-build, > > as well the apt / dpkg logs from inside the target chroot. > > Thanks for sending a way of reproducing the problem. Yeah, that was helpful, although some part of the script were inert. I'm attaching a simplified one which still reproduces it. > I have no idea what’s going on. But it seems clear to me that the bug > is not in octave. I’m reassign to dpkg, for lack of a better idea, in > the hope that its maintainer can give some guidance. I'm not sure doing this in general scales though. In any case I took a look, and it seems like glx-diversions is the culprit, as hinted by the «Removing.*libGL\.so.*» lines in the logs provided by Witold. I reproduced the problem and replaced the postinst maintscript, and got the output in «glx-diversions.postinst.log», and after that there's no more libGL.so*. And these only get regenerated during the triggers processing. Looking at the postinst, besides the symlink removal and regeneration being bust, it also seems like the trigger logic is based on wrong assumptions? In this specific case the packages that it tries to trigger on their behalf, are in unpacked state so they never end up awaiting the triggers, and their reverse dependencies can be configured once these are configured too, with the reported error, given that the libGL.so* symlinks have not been reinstated yet. Thanks, Guillem repro-glx-diversions.sh Description: Bourne shell script + TRIPLETS=/ /i386-linux-gnu/ /x86_64-linux-gnu/ /arm-linux-gnueabihf/ /aarch64-linux-gnu/ /powerpc64le-linux-gnu/ + DIVERT_QUIET=--quiet + [ configure = configure ] + add_multiarch_diversion libGL.so /usr/lib /usr/lib/mesa-diverted + local file source_dir diversion_dir triplet + file=libGL.so + source_dir=/usr/lib + diversion_dir=/usr/lib/mesa-diverted + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/libGL.so /usr/lib/libGL.so + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so /usr/lib/i386-linux-gnu/libGL.so + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so /usr/lib/arm-linux-gnueabihf/libGL.so + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/aarch64-linux-gnu/libGL.so /usr/lib/aarch64-linux-gnu/libGL.so + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/powerpc64le-linux-gnu/libGL.so /usr/lib/powerpc64le-linux-gnu/libGL.so + add_multiarch_diversion libGL.so.1 /usr/lib /usr/lib/mesa-diverted + local file source_dir diversion_dir triplet + file=libGL.so.1 + source_dir=/usr/lib + diversion_dir=/usr/lib/mesa-diverted + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/libGL.so.1 /usr/lib/libGL.so.1 + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so.1 + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so.1 + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/arm-linux-gnueabihf/libGL.so.1 /usr/lib/arm-linux-gnueabihf/libGL.so.1 + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/aarch64-linux-gnu/libGL.so.1 /usr/lib/aarch64-linux-gnu/libGL.so.1 + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/powerpc64le-linux-gnu/libGL.so.1 /usr/lib/powerpc64le-linux-gnu/libGL.so.1 + add_multiarch_diversion libGL.so.1.0.0 /usr/lib /usr/lib/mesa-diverted + local file source_dir diversion_dir triplet + file=libGL.so.1.0.0 + source_dir=/usr/lib + diversion_dir=/usr/lib/mesa-diverted + dpkg-divert --quiet --add --rename --package glx-diversions --divert /usr/lib/mesa-diverted/libGL.so.1.0.0 /usr/lib/libGL.so.1.0.0 + dpkg-divert --
Processed: Re: Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Processing control commands: > reassign -1 glx-diversions 1.2.0 Bug #993338 [dpkg] octave: Setting up octave fails due to missing libGL.so.1 Bug reassigned from package 'dpkg' to 'glx-diversions'. No longer marked as found in versions dpkg/1.20.9. Ignoring request to alter fixed versions of bug #993338 to the same values previously set Bug #993338 [glx-diversions] octave: Setting up octave fails due to missing libGL.so.1 Marked as found in versions glx-alternatives/1.2.0. -- 993338: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993338 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Processed: Re: Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Processing control commands: > reassign -1 dpkg 1.20.9 Bug #993338 [octave] octave: Setting up octave fails due to missing libGL.so.1 Bug reassigned from package 'octave' to 'dpkg'. No longer marked as found in versions octave/6.2.0-1. Ignoring request to alter fixed versions of bug #993338 to the same values previously set Bug #993338 [dpkg] octave: Setting up octave fails due to missing libGL.so.1 Marked as found in versions dpkg/1.20.9. -- 993338: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993338 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Control: reassign -1 dpkg 1.20.9 Dear Witold, Le dimanche 12 septembre 2021 à 15:24 +, Witold Baryluk a écrit : > Package: octave > Version: 6.2.0-1 > Followup-For: Bug #993338 > X-Debbugs-Cc: witold.bary...@gmail.com > > After a lof of trial and error and minimizing my package list from ~7000 > to just few, I got it easily reproducible using live-build. It is somehow > related to multiarch. > > Here and attached below is a script that should reproduce the issue. It > uses /tmp-live-build as a scratch space, so be sure to clean it after. > (I cannot use /tmp as it often has nodev / nosuid set). > > I am also attaching compressed output log from the script and live-build, > as well the apt / dpkg logs from inside the target chroot. Thanks for sending a way of reproducing the problem. I have no idea what’s going on. But it seems clear to me that the bug is not in octave. I’m reassign to dpkg, for lack of a better idea, in the hope that its maintainer can give some guidance. Best regards, -- ⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ https://sebastien.villemot.name ⠈⠳⣄ https://www.debian.org signature.asc Description: This is a digitally signed message part
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Package: octave Version: 6.2.0-1 Followup-For: Bug #993338 X-Debbugs-Cc: witold.bary...@gmail.com Looking more detailed in the live-builds / dpkg logs, and checking dependencies, it is actually not issue with dpkg or octave. The libgl1 is fully unpacked and configured before octave postinst is called. I suspect `ldconfig` is not run properly in libgl1, or not triggered by dpkg between libgl1 postinst and octave postinst.
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Le lundi 30 août 2021 à 22:32 +, Witold Baryluk a écrit : > Package: octave > Version: 6.2.0-1 > Severity: serious > Justification: Policy 3.5 > X-Debbugs-Cc: witold.bary...@gmail.com > > Dear Maintainer, > > when debootstrapping using live-build: > > Setting up octave (6.2.0-1) ... > /usr/bin/octave-cli: error while loading shared libraries: libGL.so.1: cannot > open shared object file: No such file or directory > dpkg: error processing package octave (--configure): > installed octave package post-installation script subprocess returned error > exit status 127 > > > Mesa is installed later by apt. Pre-Depends maybe required? Also weird a > bit that octave-cli requires OpenGL. Policy §6.5 is clear about the fact that, when the postinst script is called, dependencies are unpacked and configured (unless there are circular dependencies, which I don’t think is the case here). So if libgl1 is really unpacked after octave is configured, the bug probably lies in dpkg. Do you have a way of reproducing the problem? -- ⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ https://sebastien.villemot.name ⠈⠳⣄ https://www.debian.org signature.asc Description: This is a digitally signed message part
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Package: octave Version: 6.2.0-1 Followup-For: Bug #993338 X-Debbugs-Cc: witold.bary...@gmail.com Actually not mesa itself strictly, but rather 'libgl1' package needs to be in Pre-Depends afaik. Regards, Witold
Bug#993338: octave: Setting up octave fails due to missing libGL.so.1
Package: octave Version: 6.2.0-1 Severity: serious Justification: Policy 3.5 X-Debbugs-Cc: witold.bary...@gmail.com Dear Maintainer, when debootstrapping using live-build: Setting up octave (6.2.0-1) ... /usr/bin/octave-cli: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory dpkg: error processing package octave (--configure): installed octave package post-installation script subprocess returned error exit status 127 Mesa is installed later by apt. Pre-Depends maybe required? Also weird a bit that octave-cli requires OpenGL. Regards, Witold -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-8-amd64 (SMP w/32 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages octave depends on: ii libbz2-1.0 1.0.8-4 ii libc6 2.31-17 ii libfftw3-double33.3.8-2 ii libfftw3-single33.3.8-2 ii libfltk-gl1.3 1.3.5-3 ii libfltk1.3 1.3.5-3 ii libgcc-s1 11.2.0-3 ii libgl1 1.3.2-1 ii libglpk40 5.0-1 ii liboctave8 6.2.0-1 ii libportaudio2 19.6.0-1.1 ii libqhull8.0 2020.2-4 ii libqscintilla2-qt5-15 2.11.6+dfsg-2 ii libqt5core5a5.15.2+dfsg-10 ii libqt5gui5 5.15.2+dfsg-10 ii libqt5help5 5.15.2-5 ii libqt5network5 5.15.2+dfsg-10 ii libqt5printsupport5 5.15.2+dfsg-10 ii libqt5widgets5 5.15.2+dfsg-10 ii libqt5xml5 5.15.2+dfsg-10 ii libsndfile1 1.0.31-2 ii libstdc++6 11.2.0-3 ii libsundials-ida45.7.0+dfsg-1 ii libsundials-sunlinsol2 5.7.0+dfsg-1 ii libx11-62:1.7.2-1 ii octave-common 6.2.0-1 ii texinfo 6.7.0.dfsg.2-6 ii zlib1g 1:1.2.11.dfsg-2 Versions of packages octave recommends: ii default-jre-headless 2:1.11-72 ii epstool3.09-3 ii gnuplot-x11 [gnuplot-nox] 5.4.1+dfsg1-1 ii libopenblas0 0.3.17+ds-2 ii octave-doc 6.2.0-1 ii pstoedit 3.75-1 Versions of packages octave suggests: pn liboctave-dev -- no debconf information