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