Bug 192793
Summary: | Autoconf-2.59-7 / 2.59-8 has wierd interaction with bash-3.1-6.2 / 3.1-12 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | TC <tcwan> | ||||
Component: | autoconf | Assignee: | Karsten Hopp <karsten> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 5 | ||||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2006-07-01 20:39:01 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
TC
2006-05-23 03:41:55 UTC
I tried to reproduce the problem, but did not succeed. I logged in to an x86_64 FC5 machine which has bash-3.1-6.2 and autoconf-2.59-7, unpacked a tarball, run autoconf -f && ./configure && ./configure -C && ./configure -C and observed no problem. The configure script contains the code cited above, of course. "file /bin/bash" says that it is a 64-bit executable. I'm afraid we need more details to be able to reproduce the bug. Created attachment 131577 [details]
SRPM for otcl package with configure issue
I'm enclosing the SRPM for the otcl package for you. The relevant patch is
patch1 (found after the %build directive). The SPEC file was modified from the
PLD version.
Thank you for providing the src rpm. The following code in configure.in is causing the problem: if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then system=MP-RAS-`awk '{print $3}' /etc/.relid'` fi The second parameter of awk has an unmatched single quote, which confuses the parser. Fix that, and bash will work. The problem is that the two shells parse the errorneous code in different ways. Ksh matches the two backticks, as intended, and beacuse the if condition is not true (/etc/.relid does not exist), the bug is covered. Bash, OTOH, thinks that the second parameter to awk spans several lines. The command embedded in backticks is found far below, and the parser is completely out of sync. That means that bash skipped lot of code as it it were in that `if', and then surprised you with an unrelated error message. That happens often with shell scripts; the trick is to start investigation at the command which was executed last, and because configure produces a relatively verbose output, you cah start from the last "checking ..." message. |