configure: creating ./config.status config.status: creating config.make config.status: creating config.hh WARNING: Please consider installing optional programs or files: extractpdfmark (Using GhostScript >= 9.20 together with extractpdfmark can significantly reduce the size of the final PDF files.) texi2html dblatex lh CTAN package (texlive-lang-cyrillic or texlive-texmf-fonts) convert ERROR: Please install required programs: /usr/bin/fontforge >= 20110222 (installed: 20230101) See INSTALL.txt for more information on how to build LilyPond ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 23.0_desktop_gnome_systemd-20230908-015505 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-10 [2] x86_64-pc-linux-gnu-13 * clang/llvm (if any): clang version 16.0.6 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/16/bin Configuration file: /etc/clang/clang.cfg /usr/lib/llvm/16 16.0.6 Python 3.11.5 Available Ruby profiles: [1] ruby31 (with Rubygems) * Available Rust versions: [1] rust-1.72.0 * The following VMs are available for generation-2: *) Eclipse Temurin JRE 11.0.19_p7 [openjdk-jre-bin-11] 2) Eclipse Temurin JRE 17.0.7_p7 [openjdk-jre-bin-17] Available Java Virtual Machines: [1] openjdk-jre-bin-11 system-vm [2] openjdk-jre-bin-17 php cli (if any): go version go1.21.1 linux/amd64 HEAD of ::gentoo commit bd50b573a835e03e73ccab0d5e6407cf27d24829 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sun Sep 10 02:17:16 2023 +0000 2023-09-10 02:17:16 UTC emerge -qpvO media-sound/lilypond [ebuild N ] media-sound/lilypond-2.24.0 USE="-debug -doc -emacs -profile" L10N="-ca -cs -de -en -fr -hu -it -ja -nl -pt -zh" PYTHON_SINGLE_TARGET="python3_11 -python3_10"
Created attachment 870234 [details] emerge-info.txt
Created attachment 870235 [details] emerge-history.txt
Created attachment 870236 [details] environment
Created attachment 870237 [details] etc.clang.tar.xz
Created attachment 870238 [details] etc.portage.tar.xz
Created attachment 870239 [details] logs.tar.xz
Created attachment 870240 [details] media-sound:lilypond-2.24.0:20230910-031245.log
Created attachment 870241 [details] temp.tar.xz
This seems to be a bug in mksh's test builtin. test 20230101000000 -lt 20110222000000 returns 0 when it should not.
ccing app-shells/mksh maintainers then
Hi, mksh upstream here. 16:04 < lanodan> Eh interesting bug, `test 20230101000000 -lt 20110222000000` returns 0 (Found at https://bugs.gentoo.org/913928#c9 ) Yes, this was reported to me some time ago already, and I had to ask on the POSIX mailing list what the permitted behaviour(s) are. Currently, 32-bit wraparound is used, and that was a deliberate, but nōn-POSIX, choice. In the future, this will error out. This is not (just) a shell bug but a constraint violation by the application. If string comparisons suffice, use the (nōn-POSIX) [[ 20230101000000 < 20110222000000 ]]; otherwise, use bc(1) to compare such huge numbers.
Looking further, this is a bug in lilypond’s top-level aclocal.m4 file: 130 if test "$num" -lt "$min"; then 131 STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"]) 132 fi 133 if test -n "$4"; then 134 max=`STEPMAKE_NUMERIC_VERSION($4)` 135 if test "$num" -gt "$max"; then 136 STEPMAKE_ADD_ENTRY($2, ["$r <= $4 (installed: $ver)"]) This (lines 130 and 135), as well as the extra occurrences… 677 if test -n "$2" && test "$num" -lt "$req"; then 678 python=["$r >= $2 (installed: $ver)"] 679 continue 680 else 681 if test -n "$3" && test "$num" -ge "$sup"; then … and… 712 if test "$num" -ge "$min_quiet"; then … should be reported to lilypond upstream as they are clear bugs. Even on POSIX sh, this is a constraint violation on ILP32 systems because the numbers get too high. They require awk(1) already anyway, maybe do something with that, and ideally, do *not* construct huge numbers in the first place but compare the components individually. This is easier in awk than in POSIX sh. Bonus bugs to report: test(1) has no -a/-o any more: 108 if test -n "$r" \ 109 -a "$r" != "error" \ 110 -a "$r" != "no" \ 152 if test "$BISON" = "bison" -a -n "$2"; then 645 if test -n "$4" -o -n "$5"; then 744 if test "$num" -ge "1600000" \ 745 -a "$num" -lt "1803000"; then They *do* get this right in e.g… 677 if test -n "$2" && test "$num" -lt "$req"; then … but not in the other places at least. STEPMAKE_GET_EXECUTABLE uses type but POSIX explicitly does not specify its output. They should use “command -v” instead (they note that it doesn’t work in zsh, which I cannot confirm; and if so, they should use the workaround only on zsh). 107 r="`eval echo '$'"$1"`" It is not portable to use double quotes *both* inside *and* outside of pre-POSIX sh `…` command substitutions. Use them either only outside or only inside or use $(…) command substitutions. There are likely more. Please let the media-sound/lilypond package maintainer forward all these upstream ;-)
Thanks a lot for the clarification + detailed explanation!
I have reported the issue upstream, and they suggested this fix: https://gitlab.com/lilypond/lilypond/-/merge_requests/2301 In particular, applying the change https://gitlab.com/lilypond/lilypond/-/merge_requests/2301/diffs?commit_id=e9f188bb42ba4c94d5585eac29a980866d315371 fixes the version detection issue in the configure script for me.
Created attachment 891570 [details, diff] Upstream patch This is now fixed in upstream.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a4e1abd1b1a189a2d3d1da756545d136fba32ab commit 2a4e1abd1b1a189a2d3d1da756545d136fba32ab Author: Sam James <sam@gentoo.org> AuthorDate: 2024-08-11 20:53:13 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-08-11 20:55:06 +0000 media-sound/lilypond: add 2.24.4 While here, fix minimum Pango version, and drop two patches which - after inspection because they applied with fuzz - appear obsolete. The changes remain on stable/2.24 and haven't been reverted and the files have had other changes since. No bug references or anything in the patches either... Closes: https://bugs.gentoo.org/913928 Signed-off-by: Sam James <sam@gentoo.org> media-sound/lilypond/Manifest | 1 + media-sound/lilypond/lilypond-2.24.4.ebuild | 134 ++++++++++++++++++++++++++++ media-sound/lilypond/lilypond-9999.ebuild | 9 +- 3 files changed, 137 insertions(+), 7 deletions(-)