Your message dated Sun, 2 Mar 2008 15:32:08 +0100
with message-id <[EMAIL PROTECTED]>
and subject line Upstream configure.ac bug.
has caused the Debian Bug report #468938,
regarding AC_TRY_RUN generates invalid shell code
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
468938: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468938
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: autoconf
Version: 2.61-6
Severity: important

Hello,
Please consider a minimal configure.ac containing:
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----
AC_INIT([IMMS],[3.0.2],[EMAIL PROTECTED])

AC_PREREQ([2.52g])

AC_REVISION($Id: configure.ac,v 1.30 2003/10/23 23:53:20 mag Exp $)

AC_PROG_CC

AC_MSG_CHECKING([for usability of initstate_r])

AC_TRY_RUN([#include <stdlib.h>
int main()
{
  static struct random_data rand_data;
  static char rand_state[256];
  initstate_r(0, rand_state, sizeof(rand_state), &rand_data);
  exit(0);
}], initstate_r_works=yes,, ])
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----

then run autoconf on it and then run ./configure. There result is:

[EMAIL PROTECTED]:/tmp/c$ ./configure 
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for usability of initstate_r... ./configure: line 2573: syntax error 
near unexpected token `else'
./configure: line 2573: `else'

Around the line 2573 there is code:

2571 if test "$cross_compiling" = yes; then
2572 
2573 else
2574   { { echo "$as_me:$LINENO: error: cannot run test program while cross 
comp     iling
2575 See \`config.log' for more details." >&5
2576 echo "$as_me: error: cannot run test program while cross compiling
2577 See \`config.log' for more details." >&2;}
2578    { (exit 1); exit 1; }; }
2579 fi
2580 ]])

which is invalid. Please consider following shell script:
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----
#!/bin/sh
if test "$1" = "foo"; then

else
echo There is no foo
fi
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----

It always run with an error:
./foo: line 4: syntax error near unexpected token `else'
./foo: line 4: `else'

/bin/sh is a symlink to /bin/bash on my box.

Replacing the shebang line with #!/bin/dash doesn't help too:
./foo: 4: Syntax error: "else" unexpected

Valid script is:
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----
#!/bin/sh
if test "$1" = "foo"; then
:;
else
echo There is no foo
fi
----8<-[cut here]-8<---------------------------------------8<-[cut here]-8<----

It runs correctly with bash and with dash.

My bash and dash versions:
||/ Name           Version        Description
+++-==============-==============-============================================
ii  bash           3.1dfsg-9      The GNU Bourne Again SHell
ii  dash           0.5.4-7        POSIX-compliant shell

I kindly ask to fix the bug ASAP, it makes me impossible (well, hard) to fix
http://bugs.debian.org/456686, which is serious.

Best regards
        Artur

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=pl_PL (charmap=ISO-8859-2)
Shell: /bin/sh linked to /bin/bash

Versions of packages autoconf depends on:
ii  debianutils                   2.28.4     Miscellaneous utilities specific t
ii  m4                            1.4.10-1   a macro processing language
ii  perl                          5.8.8-12   Larry Wall's Practical Extraction 

Versions of packages autoconf recommends:
ii  automake [automaken]          1:1.10.1-3 A tool for generating GNU Standard

-- no debconf information

-- 
windows jest jak Odie - głupi jak but, cały czas się uśmiecha, a linux jak
Garfield - może i by coś zrobił, ale trzeba go najpierw do tego zmusić.
                                                        /yacoob/



--- End Message ---
--- Begin Message ---
Hello,
Thanks to Ralf Wildenhues hint I discovered there is an upstream bug.
FYI: if you look carefully into AC_TRY_RUN call you will notice that the
last right square bracket is superfluous one. Replacing the last line with:
}], initstate_r_works=yes,,)
makes everything works correctly.

The other qestion is if autoconf should be able to detect such a syntax
error in configure.ac code and report it to the operator. I left the answer
to the autoconf maintainer.

Regards
        Artur
-- 
Documentation is like sex: When it is good, it is very, very, good.
And when it is bad, it is better than nothing.
                                                  /Dick Brandon/


--- End Message ---

Reply via email to