Bug 181076

Summary: devel/gettext update breaks .po file processing
Product: Ports & Packages Reporter: Sean Bruno <sbruno>
Component: Individual Port(s)Assignee: autotools
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Sean Bruno freebsd_committer freebsd_triage 2013-08-05 20:10:00 UTC
update of devel/gettext is breaking MANY ports by failing to process .po files correctly.

http://svnweb.freebsd.org/ports?view=revision&revision=323088

While this was detected during ports/180991 and thought to be WITH_ICONV related, it really isn't

Fix: 

Revert back to gettext  0.18.1.1
How-To-Repeat: portmaster devel/glib20
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-08-05 20:10:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->autotools

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 sean_bruno 2013-08-05 20:30:19 UTC
Adding an actualy buildfail.

step 1:  rebuild devel/gettext and install it

step 2:  attempt rebuild of misc/iso-codes

root@powernoodle:/usr/ports/misc/iso-codes # make
===>  License LGPL21 accepted by the user
===>   iso-codes-3.43 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by iso-codes-3.43 for building
===>  Extracting for iso-codes-3.43
=> SHA256 Checksum OK for iso-codes-3.43.tar.xz.
===>  Patching for iso-codes-3.43
===>   iso-codes-3.43 depends on executable: gmake - found
===>   iso-codes-3.43 depends on shared library: intl - found
===>  Configuring for iso-codes-3.43
===>   FreeBSD 10 autotools fix applied
to /usr/ports/misc/iso-codes/work/iso-codes-3.43/configure
===>   FreeBSD 10 autotools fix applied
to /usr/ports/misc/iso-codes/work/iso-codes-3.43/aclocal.m4
configure: loading site script /usr/ports/Templates/config.site
checking for a BSD-compatible install... /usr/bin/install -c -o root -g
wheel
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for gawk... (cached) /usr/bin/awk
checking whether gmake sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles...
no
checking whether gmake sets $(MAKE)... (cached) yes
checking for msgmerge... /usr/local/bin/msgmerge
checking for msgfmt... /usr/local/bin/msgfmt
checking for recode-sr-latin... /usr/local/bin/recode-sr-latin
checking if /usr/local/bin/msgfmt is GNU msgfmt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating iso-codes.pc
config.status: creating iso_15924/Makefile
config.status: creating iso_3166/Makefile
config.status: creating iso_3166_2/Makefile
config.status: creating iso_4217/Makefile
config.status: creating iso_639/Makefile
config.status: creating iso_639_3/Makefile
===>  Building for iso-codes-3.43
Making all in iso_15924
gmake[1]: Entering directory
`/usr/ports/misc/iso-codes/work/iso-codes-3.43/iso_15924'
/usr/local/bin/msgfmt --verbose --check -o he.mo he.po
/usr/local/bin/msgfmt --verbose --check -o id.mo id.po
/usr/local/bin/msgfmt --verbose --check -o zh_TW.mo zh_TW.po
/usr/local/bin/msgfmt --verbose --check -o lv.mo lv.po
/usr/local/bin/msgfmt --verbose --check -o sk.mo sk.po
/usr/local/bin/msgfmt --verbose --check -o zh_HK.mo zh_HK.po
/usr/local/bin/msgfmt --verbose --check -o zh_CN.mo zh_CN.po
/usr/local/bin/msgfmt --verbose --check -o ru.mo ru.po
sk.po:34:15: invalid multibyte sequenceru.po:30:9: invalid multibyte
sequencezh_HK.po:33:9: invalid multibyte sequencelv.po:30:13: invalid
multibyte sequence


zh_CN.po:34:9: invalid multibyte sequencezh_TW.po:25:9: invalid
multibyte sequencelv.po:30:14: invalid multibyte sequencezh_HK.po:33:10:
invalid multibyte sequence
he.po:33:9: invalid multibyte sequence



lv.po:30:21: invalid multibyte sequence
zh_HK.po:33:11: invalid multibyte sequence
lv.po:30:22: invalid multibyte sequence
zh_HK.po:33:12: invalid multibyte sequencezh_CN.po:34:10: invalid
multibyte sequenceru.po:30:10: invalid multibyte sequence
lv.po:30:23: invalid multibyte sequencehe.po:33:10: invalid multibyte
sequence



zh_CN.po:34:11: invalid multibyte sequence

lv.po:30:24: invalid multibyte sequencehe.po:33:11: invalid multibyte
sequence
ru.po:30:11: invalid multibyte sequencezh_CN.po:34:12: invalid multibyte
sequence
sk.po:34:16: invalid multibyte sequence


lv.po:34:11: invalid multibyte sequenceru.po:30:12: invalid multibyte
sequence
zh_HK.po:33:13: invalid multibyte sequence
he.po:33:12: invalid multibyte sequencezh_TW.po:25:10: invalid multibyte
sequence

lv.po:34:12: invalid multibyte sequenceru.po:30:13: invalid multibyte
sequence

sk.po:42:12: invalid multibyte sequencezh_HK.po:33:14: invalid multibyte
sequence


ru.po:30:14: invalid multibyte sequencezh_CN.po:34:13: invalid multibyte
sequence

lv.po:38:15: invalid multibyte sequencezh_HK.po:33:15: invalid multibyte
sequencesk.po:42:13: invalid multibyte sequence

he.po:33:13: invalid multibyte sequenceru.po:30:15: invalid multibyte
sequence
zh_CN.po:34:14: invalid multibyte sequencezh_TW.po:25:11: invalid
multibyte sequencezh_HK.po:33:16: invalid multibyte sequence



lv.po:38:16: invalid multibyte sequencezh_TW.po:25:12: invalid multibyte
sequence
zh_HK.po:33:17: invalid multibyte sequence
ru.po:30:16: invalid multibyte sequence

zh_CN.po:34:15: invalid multibyte sequence
lv.po:38:18: invalid multibyte sequence

zh_TW.po:25:13: invalid multibyte sequence
zh_HK.po:33:18: invalid multibyte sequence
ru.po:30:17: invalid multibyte sequence
zh_CN.po:34:16: invalid multibyte sequencezh_TW.po:25:14: invalid
multibyte sequencelv.po:38:19: invalid multibyte sequence
zh_HK.po:33:19: invalid multibyte sequence

he.po:33:14: invalid multibyte sequence

zh_CN.po:34:17: invalid multibyte sequenceru.po:30:18: invalid multibyte
sequence
zh_TW.po:25:15: invalid multibyte sequencezh_HK.po:33:20: invalid
multibyte sequence
zh_CN.po:34:18: invalid multibyte sequencelv.po:38:27: invalid multibyte
sequence

he.po:33:15: invalid multibyte sequence

zh_TW.po:25:16: invalid multibyte sequence
ru.po:30:19: invalid multibyte sequencehe.po:33:16: invalid multibyte
sequence

sk.po:78:17: invalid multibyte sequence
zh_CN.po:34:19: invalid multibyte sequencelv.po:38:28: invalid multibyte
sequence
ru.po:30:20: invalid multibyte sequencezh_HK.po:41:9: invalid multibyte
sequence


zh_TW.po:25:17: invalid multibyte sequenceru.po:30:21: invalid multibyte
sequence

he.po:33:17: invalid multibyte sequencezh_CN.po:34:20: invalid multibyte
sequence

zh_TW.po:25:18: invalid multibyte sequence
lv.po:42:12: invalid multibyte sequenceru.po:30:22: invalid multibyte
sequence

he.po:33:18: invalid multibyte sequencezh_HK.po:41:10: invalid multibyte
sequencesk.po:78:18: invalid multibyte sequence

lv.po:42:13: invalid multibyte sequenceru.po:30:23: invalid multibyte
sequencezh_CN.po:38:9: invalid multibyte sequence


ru.po:30:24: invalid multibyte sequenceid.po:160:20: invalid multibyte
sequencezh_HK.po:41:11: invalid multibyte sequence


zh_TW.po:25:19: invalid multibyte sequence

id.po:160:21: invalid multibyte sequence
lv.po:42:14: invalid multibyte sequenceru.po:34:9: invalid multibyte
sequence

id.po:161:21: invalid multibyte sequence
zh_CN.po:38:10: invalid multibyte sequencehe.po:41:9: invalid multibyte
sequencezh_TW.po:25:20: invalid multibyte sequence

zh_HK.po:41:12: invalid multibyte sequenceru.po:34:10: invalid multibyte
sequence

lv.po:42:15: invalid multibyte sequencezh_CN.po:38:11: invalid multibyte
sequence
zh_HK.po:41:13: invalid multibyte sequence
he.po:41:10: invalid multibyte sequencesk.po:110:9: invalid multibyte
sequence

zh_TW.po:25:21: invalid multibyte sequence


ru.po:34:11: invalid multibyte sequence
lv.po:50:14: invalid multibyte sequence

zh_HK.po:41:14: invalid multibyte sequencehe.po:41:11: invalid multibyte
sequence
id.po:161:22: invalid multibyte sequencezh_CN.po:38:12: invalid
multibyte sequence

ru.po:34:12: invalid multibyte sequencesk.po:110:10: invalid multibyte
sequence
zh_TW.po:25:22: invalid multibyte sequencezh_HK.po:41:15: invalid
multibyte sequence


zh_CN.po:38:13: invalid multibyte sequence
lv.po:50:15: invalid multibyte sequence/usr/local/bin/msgfmt: 
zh_TW.po:25:23: invalid multibyte sequencetoo many errors,
abortinghe.po:41:12: invalid multibyte sequence
/usr/local/bin/msgfmt: 
zh_HK.po:41:16: invalid multibyte sequencetoo many errors,
abortinghe.po:41:13: invalid multibyte sequencezh_CN.po:38:14: invalid
multibyte sequence


sk.po:110:15: invalid multibyte sequence

/usr/local/bin/msgfmt: 
too many errors, aborting

sk.po:110:16: invalid multibyte sequence
zh_CN.po:38:15: invalid multibyte sequencehe.po:41:14: invalid multibyte
sequence

zh_TW.po:29:9: invalid multibyte sequence
zh_CN.po:38:16: invalid multibyte sequence
he.po:41:15: invalid multibyte sequence
zh_TW.po:29:10: invalid multibyte sequence/usr/local/bin/msgfmt: 
too many errors, aborting
he.po:41:16: invalid multibyte sequence
zh_TW.po:29:11: invalid multibyte sequence
id.po:196:20: invalid multibyte sequence
he.po:41:17: invalid multibyte sequence
zh_TW.po:29:12: invalid multibyte sequence
he.po:41:18: invalid multibyte sequence
id.po:196:21: invalid multibyte sequencesk.po:126:16: invalid multibyte
sequence

zh_TW.po:29:13: invalid multibyte sequence/usr/local/bin/msgfmt: too
many errors, aborting

sk.po:126:17: invalid multibyte sequence
id.po:197:21: invalid multibyte sequence/usr/local/bin/msgfmt: 
too many errors, aborting
id.po:197:22: invalid multibyte sequence
id.po:204:22: invalid multibyte sequence
id.po:204:23: invalid multibyte sequence
sk.po:146:16: invalid multibyte sequence
id.po:205:23: invalid multibyte sequence
sk.po:146:17: invalid multibyte sequence
id.po:205:24: invalid multibyte sequence
sk.po:146:27: invalid multibyte sequence
sk.po:146:28: invalid multibyte sequence
sk.po:150:16: invalid multibyte sequence
sk.po:150:17: invalid multibyte sequence
sk.po:150:28: invalid multibyte sequence
sk.po:150:29: invalid multibyte sequence
/usr/local/bin/msgfmt: too many errors, aborting
gmake[1]: *** [zh_CN.mo] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: *** [ru.mo] Error 1
id.po:316:17: invalid multibyte sequence
gmake[1]: id.po:316:18: invalid multibyte sequence*** [zh_HK.mo] Error 1

id.po:317:18: invalid multibyte sequence
id.po:317:19: invalid multibyte sequence
gmake[1]: *** [lv.mo] Error 1
gmake[1]: *** [sk.mo] Error 1
gmake[1]: *** [zh_TW.mo] Error 1
gmake[1]: *** [he.mo] Error 1
id.po:408:29: invalid multibyte sequence
id.po:408:30: invalid multibyte sequence
id.po:408:33: invalid multibyte sequence
id.po:408:34: invalid multibyte sequence
/usr/local/bin/msgfmt: too many errors, aborting
gmake[1]: *** [id.mo] Error 1
gmake[1]: Leaving directory
`/usr/ports/misc/iso-codes/work/iso-codes-3.43/iso_15924'
gmake: *** [all-recursive] Error 1
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure
to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/misc/iso-codes
Comment 3 seanbru 2013-08-05 21:01:13 UTC
Checking for libiconv symbols.  

-- make.conf: WITH_ICONV=y
root@powernoodle:/usr/ports/misc/iso-codes # ldd /usr/local/bin/msgfmt
/usr/local/bin/msgfmt:
	libgettextsrc-0.18.3.so => /usr/local/lib/libgettextsrc-0.18.3.so
(0x80082a000)
	libgettextlib-0.18.3.so => /usr/local/lib/libgettextlib-0.18.3.so
(0x800a68000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x800d9f000)
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800feb000)
	libc.so.7 => /lib/libc.so.7 (0x8011f5000)
root@powernoodle:/usr/ports/misc/iso-codes #
ldd /usr/local/lib/libgettextsrc-0.18.3.so
/usr/local/lib/libgettextsrc-0.18.3.so:
	libgettextlib-0.18.3.so => /usr/local/lib/libgettextlib-0.18.3.so
(0x80163e000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x801975000)
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x801bc1000)
	libc.so.7 => /lib/libc.so.7 (0x80081d000)
root@powernoodle:/usr/ports/misc/iso-codes #
ldd /usr/local/lib/libgettextlib-0.18.3.so
/usr/local/lib/libgettextlib-0.18.3.so:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x801737000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x801941000)
	libc.so.7 => /lib/libc.so.7 (0x80081d000)
root@powernoodle:/usr/ports/misc/iso-codes #
ldd /usr/local/lib/libintl.so.9
/usr/local/lib/libintl.so.9:
	libc.so.7 => /lib/libc.so.7 (0x80081d000)


-- make.conf:no WITH_ICONV
root@powernoodle:/usr/ports/devel/gettext # ldd /usr/local/bin/msgfmt
/usr/local/bin/msgfmt:
	libgettextsrc-0.18.3.so => /usr/local/lib/libgettextsrc-0.18.3.so
(0x80082a000)
	libgettextlib-0.18.3.so => /usr/local/lib/libgettextlib-0.18.3.so
(0x800a68000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x800d9f000)
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800feb000)
	libc.so.7 => /lib/libc.so.7 (0x8011f5000)
root@powernoodle:/usr/ports/devel/gettext #
ldd /usr/local/lib/libgettextlib-0.18.3.so
/usr/local/lib/libgettextlib-0.18.3.so:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x801737000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x801941000)
	libc.so.7 => /lib/libc.so.7 (0x80081d000)
root@powernoodle:/usr/ports/devel/gettext #
ldd /usr/local/lib/libgettextsrc-0.18.3.so
/usr/local/lib/libgettextsrc-0.18.3.so:
	libgettextlib-0.18.3.so => /usr/local/lib/libgettextlib-0.18.3.so
(0x80163e000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x801975000)
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x801bc1000)
	libc.so.7 => /lib/libc.so.7 (0x80081d000)
Comment 4 Ade Lovett freebsd_committer freebsd_triage 2013-08-05 21:37:06 UTC
State Changed
From-To: open->suspended

After various discussions, this looks like an edge case with the iconv 
in 10.0 -- peter@ has found a workaround which could go in as an extra 
patch based on an OSVERSION check, but this would be a last-resort solution. 

So, suspending PR since the "Fix" is entirely incorrect, stable/9 isn't 
affected, and more work needs to go on elsewhere before coming up with 
a Final Solution [tm].
Comment 5 sean_bruno 2013-08-08 19:13:10 UTC
libc updated at svn r254080 to address this update seems to do the
trick.  
Comment 6 Sean Bruno freebsd_committer freebsd_triage 2013-08-08 22:41:19 UTC
State Changed
From-To: suspended->closed

libc updated at svn r254080 to address this update seems to do the 
trick.