Summary: | doltlibtool broken on linux with bash 3.00.0 | ||
---|---|---|---|
Product: | dolt | Reporter: | Jarod Eells <jarod+freedesktop> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | alp, chris, galtgendo |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 18610 | ||
Bug Blocks: |
I forgot to add the error message. ../doltlibtool: line 11: syntax error near unexpected token `"$arg"' ../doltlibtool: line 11: ` *) args+=("$arg")' Reassigning to dolt so this gets fixed upstream. The patch as is, is wrong. Does it help if you add "declare -a args" before args is first used? Hi, We've been carrying fixes for this in Mono and WebKit but I didn't want to git-push them without Josh taking a look (couldn't get a reply from him but my email was acting up so could be a problem on my end). Relevant bug: https://bugs.webkit.org/show_bug.cgi?id=19395 Relevant commits: http://trac.webkit.org/changeset/38011 http://lists.ximian.com/pipermail/mono-patches/2008-June/121713.html There are a couple of other fixes in Mono and WebKit that I'd love to get upstream too if anyone wants to review this. Thanks Alp. I also see a patch sent to the mailing list in July, also unresponded: http://lists.freedesktop.org/archives/dolt/2008-July/000001.html If Josh has lost interest in it, fine, lets revive it. I can review, as we now ship this with cairo and I have to maintain that anyway. Fixed in cairo master and 1.8 branch. (In reply to comment #3) > The patch as is, is wrong. Does it help if you add "declare -a args" before > args is first used? > No. I added declare as the second line of the script and also tried moving it just after the args=() line. In both cases, it continues to cause a syntax error. Could you elaborate on why the patch is wrong? It seems to work. (In reply to comment #7) Never mind. I see why. > (In reply to comment #3) > > The patch as is, is wrong. Does it help if you add "declare -a args" before > > args is first used? > > > > No. I added declare as the second line of the script and also tried moving it > just after the args=() line. In both cases, it continues to cause a syntax > error. > > Could you elaborate on why the patch is wrong? It seems to work. > Here is the correct patch, that I committed to cairo: - *) args+=("$arg") + *) args@<:@${#args[@]}@:>@="$arg" ;; Please test. Going to git push this build fix now (assuming I have write access). It's been deployed successfully for some months in Mono and a few days in WebKit too. While it's a bit of topic here, could you also enhance DOLT macro with opt-out, IOW ability to pass an option to ignore dolt and use libtool anyway ? For quite awhile, I'm trying to get an answer to a simple question: is there anything wrong with libtool 2.2 series ? Cause if there's nothing wrong with it, it had (more or less) obsoleted dolt and was released before dolt was available to the public. The tests on the libtool mailing list seem to show that there's no longer as large difference between those two and libtool is actually maintained. Re libtool 2.2 vs dolt performance, we measured last month and dolt was still faster. Don't remember the margin. Chris? Fixed in 47928bb8. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
There is a line in doltlibtool which chokes on this version of bash. Here is a patch that seems to work: diff cairo-1.8.2/doltlibtool cairo-1.8.2/doltlibtool.new 11c11 < *) args+=("$arg") --- > *) args="${args} ${arg}" bash --version reports: GNU bash, version 3.00.0(1)-release (x86_64-unknown-linux-gnu) Copyright (C) 2004 Free Software Foundation, Inc.