URL:
  <https://savannah.gnu.org/bugs/?67353>

                 Summary: grub fails to compile since updating gettext to 0.26
                   Group: GNU GRUB
               Submitter: marcoh00
               Submitted: Thu 24 Jul 2025 02:09:23 PM GMT
                Category: Compilation
                Severity: Major
                Priority: 5 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name:
        Originator Email:
             Open/Closed: Open
         Discussion Lock: Any
                 Release: Git master
                 Release:
         Reproducibility: Every Time
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Thu 24 Jul 2025 02:09:23 PM GMT By: Marco Huenseler <marcoh00>
I'm using Arch Linux, which updated its gettext package from 0.25.1 to 0.26
this week. Since then, I'm not able to compile the current Git Master (and
neither Arch's official PKGBUILD). Downgrading gettext to 0.25.1 fixes this
reproducibly.

For this bug report, I was trying to compile GRUB like this:

git clone https://git.savannah.gnu.org/git/grub.git || true
cd grub
./linguas.sh
./bootstrap
./configure \
    --with-platform="pc" \
    --target="i386" \
    --enable-boot-time \
    --enable-efiemu
LC_ALL=C LANG=C make

Here are the last couple of lines from make:

rm -f da.gmo && /usr/bin/msgfmt --endianness=little -c --statistics --verbose
-o da.gmo da.po
da.po: 1284 translated messages, 124 fuzzy translations, 291 untranslated
messages.
/usr/bin/msgmerge --update  --lang=de de.po grub.pot
...........................................................................................................................................................................................................................................................................
done.
rm -f de.gmo && /usr/bin/msgfmt --endianness=little -c --statistics --verbose
-o de.gmo de.po
de.po: 1512 translated messages, 51 fuzzy translations, 136 untranslated
messages.
make[4]: Entering directory '/home/user/build/grub/po'
LC_ALL=C.UTF-8 msgfilter -i de.po -o ./de_CH.po sed -f ./swiss.sed
make[4]: Leaving directory '/home/user/build/grub/po'
rm -f de_CH.gmo && /usr/bin/msgfmt --endianness=little -c --statistics
--verbose -o de_CH.gmo de_CH.po
de_CH.po: 1512 translated messages, 51 fuzzy translations, 136 untranslated
messages.
make[4]: Entering directory '/home/user/build/grub/po'
LC_ALL=C msgfilter -i de.po -o ./d...@hebrew.po sed -f ./hebrew.sed
msgfilter: warning: Locale charset "ANSI_X3.4-1968" is different from
                    input file charset "UTF-8".
                    Output of 'msgfilter' might be incorrect.
                    Possible workarounds are:
                    - Set LC_ALL to a locale with encoding UTF-8.
                    - Convert the translation catalog to ASCII using
'msgconv',
                      then apply 'msgfilter',
                      then convert back to UTF-8 using 'msgconv'.
make[4]: Leaving directory '/home/user/build/grub/po'
rm -f d...@hebrew.gmo && /usr/bin/msgfmt --endianness=little -c --statistics
--verbose -o d...@hebrew.gmo d...@hebrew.po
d...@hebrew.po:8192: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8211: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8222: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8227: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8240: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8245: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8250: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8281: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8337: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8347: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8367: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8372: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8465: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8470: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8496: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8501: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8516: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8531: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8626: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
d...@hebrew.po:8632: 'msgstr' is not a valid Shell printf format string, unlike
'msgid'. Reason: This escape sequence is invalid.
/usr/bin/msgfmt: found 20 fatal errors
d...@hebrew.po: 1512 translated messages, 51 fuzzy translations, 136
untranslated messages.
make[3]: *** [Makefile:1682: d...@hebrew.gmo] Error 1
make[3]: Leaving directory '/home/user/build/grub/po'
make[2]: *** [Makefile:1720: stamp-po] Error 2
make[2]: Leaving directory '/home/user/build/grub/po'
make[1]: *** [Makefile:12674: all-recursive] Error 1
make[1]: Leaving directory '/home/user/build/grub'
make: *** [Makefile:4082: all] Error 2

I attached the full log.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67353>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to