Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Aug 2013 05:20:35 GMT
From:      Shane Ambler <FreeBSD@Shaneware.biz>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/181515: WITH_ICONV breaks gettext-0.18.3
Message-ID:  <201308250520.r7P5KZJj005998@oldred.freebsd.org>
Resent-Message-ID: <201308250530.r7P5U3lr082222@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         181515
>Category:       misc
>Synopsis:       WITH_ICONV breaks gettext-0.18.3
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 25 05:30:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Shane Ambler
>Release:        9.1-RELEASE
>Organization:
>Environment:
FreeBSD leader.local 9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0 r250752: Sat May 18 08:03:42 CST 2013     root@leader.local:/usr/obj/usr/src/sys/dtracekern  amd64

>Description:
If buildworld is compiled with WITH_ICONV=yes in src.conf then gettext-0.18.3 fails to run. The port compiles ok but when the binaries are run they fail. At least msgfmt fails.

The previous version - gettext-0.18.1.1_1 - didn't exhibit this issue.

The same issue is present with 9.1-RELEASE-p5 and 9.2-RC3 (I don't believe 8.x has the WITH_ICONV option)

I have tested this within tinderbox. I can build a releng/9.2 jail (9.2-RC3 r254795), build gettext and it can be used. Then put WITH_ICONV=yes in the jails src.conf and re-make jail, re-build gettext and it will fail.

I have used two tinderbox builds to test (both amd64), one using CC=gcc CC=g++ CPP=cpp in the tinderbox build environment the other CC=clang CXX=clang++ CPP=clang-cpp and I get the same results with both.

A gettext binary built in a world compiled without WITH_ICONV runs fine in a world with WITH_ICONV, it needs to be compiled within a world that has WITH_ICONV to fail.

A quick test example is misc/getopt - it fails to build with msgfmt giving an invalid multibyte sequence error. Part of the logfile --

===>  Building for getopt-1.1.5
gcc -c  -DLIBCGETOPT=1 -DWITHOUT_GETTEXT=0 -DLOCALEDIR=\"/usr/local/share/locale\" -DNOT_UTIL_LINUX -Dprogram_invocation_short_name=\"getopt\"  -Dprogram_version=\"1.1.5\" -O2 -pipe -I/usr/local/include -fno-strict-aliasing getopt.c -o getopt.o
msgfmt -o po/ca.mo po/ca.po
msgfmt -o po/cs.mo po/cs.po
msgfmt -o po/da.mo po/da.po
po/da.po:66:7: invalid multibyte sequence
po/da.po:66:8: invalid multibyte sequence
po/da.po:66:18: invalid multibyte sequence
po/da.po:66:19: invalid multibyte sequence

>How-To-Repeat:
steps taken to re-produce this issue using tinderbox -
build a test jail based on releng/9.2
create a build using the new 9.2 jail
use that build to compile devel/gettext
test gettext by compiling misc/getopt - works at this point
add WITH_ICONV=yes to ${pd}/jails/${TESTJAILNAME}/src.conf
re-make the test jail
re-compile devel/gettext
re-compile misc/getopt - now fails

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308250520.r7P5KZJj005998>