Bug#850972: firefox: FTBFS: configure: error: cannot determine icu version number from uvernum.h header file

Mike Hommey mh at glandium.org
Thu Jan 12 12:30:11 UTC 2017


On Thu, Jan 12, 2017 at 12:25:57PM +0100, John Paul Adrian Glaubitz wrote:
> On 01/12/2017 12:02 PM, John Paul Adrian Glaubitz wrote:
> >> sed: character class syntax is [[:space:]], not [:space:]
> > 
> > Almost looks like sed changed its syntax although I can't really believe this
> > would happen without a major version bump.
> 
> So, a quick Google research and #debian-devel tell me that [:space:] is indeed
> wrong. Looking at build/autoconf/icu.m4, the m4 code already contains the
> correct syntax:
> 
> version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p'
> "$icudir/common/unicode/uvernum.h"`
> 
> So, it's probably sufficient to regenerate the old-configure script. Might a good
> idea to switch both the firefox and the icedove package to autoreconf [1].

It's more subtle than that. Also, firefox and icedove already do an
autoreconf on their own.

icu.m4 is autoconf m4, iow, m4 with [ and ] as quote characters. Which
means the [[ and ]] in that expression are replaced with literal [ ] in
the resulting configure script. Funnily, it doesn't happen for the [ and
] after the #, so in the resulting configure script, the sed command
contains [:space:]*#[[:space:]]*etc.

sed < 4.3 was happy to take [:space:], but sed 4.3 isn't anymore.

This should be fixed in next upstream release, in less than two weeks.

Mike



More information about the pkg-mozilla-maintainers mailing list