intltool.m4 error with OpenBSD sh

Bug #639857 reported by naddy@mips.inka.de
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
intltool
Fix Released
Low
Данило Шеган

Bug Description

On OpenBSD, configure scripts that use intltool.m4 produce this error:

checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... Can't find string terminator '"' anywhere before EOF at -e line 1.

This is specifically due to this line of sh code in intltool.m4:

   IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"

OpenBSD's /bin/sh normally processes this just fine, but autoconf scripts now enable POSIX mode (set -o posix), which causes these nested quotes to be parsed differently. This may or may not be a bug in OpenBSD's sh, but meanwhile it is easy to avoid this problem by not nesting more quoting levels than necessary. Since there is no word splitting/globbing in variable assignments, this would do just fine:

   IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`

Related branches

Revision history for this message
Данило Шеган (danilo) wrote :

Thanks for the bug report and fix, applied in r719 of lp:intltool.

Changed in intltool:
status: New → Fix Committed
importance: Undecided → Low
assignee: nobody → Данило Шеган (danilo)
milestone: none → 0.42.0
Changed in intltool:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.