I want to share with you a problem I encountered while I installing bash-3.2 (5.15 book v. 6.4)
I got the following error:
PHP Code:
rm -f ru.gmo && /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po
ru.po:21:9: invalid multibyte sequence
ru.po:21:10: invalid multibyte sequence
ru.po:21:11: invalid multibyte sequence
ru.po:21:12: invalid multibyte sequence
ru.po:21:13: invalid multibyte sequence
ru.po:21:14: invalid multibyte sequence
ru.po:21:15: invalid multibyte sequence
ru.po:21:16: invalid multibyte sequence
ru.po:21:17: invalid multibyte sequence
ru.po:21:18: invalid multibyte sequence
ru.po:21:19: invalid multibyte sequence
ru.po:21:20: invalid multibyte sequence
ru.po:21:22: invalid multibyte sequence
ru.po:21:23: invalid multibyte sequence
ru.po:21:24: invalid multibyte sequence
ru.po:21:25: invalid multibyte sequence
ru.po:21:26: invalid multibyte sequence
ru.po:21:27: invalid multibyte sequence
ru.po:21:29: invalid multibyte sequence
ru.po:21:30: invalid multibyte sequence
/usr/bin/msgfmt: too many errors, aborting
make[2]: *** [ru.gmo] Error 1
make[2]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make[1]: *** [stamp-po] Error 2
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make: [install] Error 2 (ignored)
After some research, I have found out that this error is related to Russian language support.
Since I do not need Russian language support, I have changed some things so there will be no Russian support.
I have removed the file /mnt/lfs/sources/bash-3.2/po/ru.po.
In /mnt/lfs/sources/bash-3.2/po/Makefile I removed all reference to ru.po and to ru.gmo, and reinstalled.
This worked for me.
Here is the diff from the original Makefile:
PHP Code:
44,46c44,46
< POFILES = en@quot.po en@boldquot.po ru.po
< GMOFILES = en@quot.gmo en@boldquot.gmo ru.gmo
< UPDATEPOFILES = en@quot.po-update en@boldquot.po-update ru.po-update
---
> POFILES = en@quot.po en@boldquot.po
> GMOFILES = en@quot.gmo en@boldquot.gmo
> UPDATEPOFILES = en@quot.po-update en@boldquot.po-update
125c125
< CATALOGS = en@quot.gmo en@boldquot.gmo ru.gmo
---
> CATALOGS = en@quot.gmo en@boldquot.gmo
The results of the reinstallation
PHP Code:
( cd ./po/ ; make DESTDIR= installdirs )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
/bin/sh /sources/bash-3.2/./support/mkinstalldirs /tools/share
if test "bash" = "gettext-tools"; then \
/bin/sh /sources/bash-3.2/./support/mkinstalldirs /tools/share/gettext/po; \
else \
: ; \
fi
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
/usr/bin/install -c -m 0755 bash /tools/bin/bash
/usr/bin/install -c -m 0555 bashbug /tools/bin/bashbug
( cd ./doc ; make \
man1dir=/tools/man/man1 man1ext=.1 \
man3dir=/tools/man/man3 man3ext=.3 \
infodir=/tools/info htmldir= DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/doc'
/bin/sh ../support/mkinstalldirs /tools/man/man1
/bin/sh ../support/mkinstalldirs /tools/info
if test -n "" ; then \
/bin/sh ../support/mkinstalldirs ; \
fi
/usr/bin/install -c -m 644 ./bash.1 /tools/man/man1/bash.1
/usr/bin/install -c -m 644 ./bashbug.1 /tools/man/man1/bashbug.1
/usr/bin/install -c -m 644 ./bash.info /tools/info/bash.info
if /bin/sh -c 'install-info --version' >/dev/null 2>&1; then \
install-info --dir-file=/tools/info/dir /tools/info/bash.info; \
else true; fi
if test -n "" ; then \
/usr/bin/install -c -m 644 ./bash.html ; \
/usr/bin/install -c -m 644 ./bashref.html ; \
fi
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/doc'
( cd ./builtins ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/builtins'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/builtins'
( cd ./po/ ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
/bin/sh /sources/bash-3.2/./support/mkinstalldirs /tools/share
installing en@quot.gmo as /tools/share/locale/en@quot/LC_MESSAGES/bash.mo
installing en@boldquot.gmo as /tools/share/locale/en@boldquot/LC_MESSAGES/bash.mo
if test "bash" = "gettext-tools"; then \
/bin/sh /sources/bash-3.2/./support/mkinstalldirs /tools/share/gettext/po; \
for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
/usr/bin/install -c -m 644 ./$file \
/tools/share/gettext/po/$file; \
done; \
for file in Makevars; do \
rm -f /tools/share/gettext/po/$file; \
done; \
else \
: ; \
fi
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
What do you think?