View Issue Details

IDProjectCategoryView StatusLast Update
0002798unrealinstallingpublic2006-02-08 07:38
ReporterXuefer Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
PlatformgentooOSlinuxOS Versionx86 stable
Product Version3.2.4 
Fixed in Version3.2.5 
Summary0002798: missing quote in configure.in produce bad code with autoconf (GNU Autoconf) 2.59 under
Descriptionit would be nice to fix, but no problem with origin configure. (that's why this is a feature request :)

suggested fix:
Index: autoconf/configure.in
===================================================================
--- autoconf/configure.in (revision 5)
+++ autoconf/configure.in (working copy)
@@ -56,11 +56,11 @@
 dnl module checking based on Hyb7's module checking code
 AC_DEFUN(AC_ENABLE_DYN,
 [
-AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
+[AC_CHECK_FUNC(dlopen,, [AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
 [
 AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found)
 AC_DEFINE(STATIC_LINKING)
-]))
+])])]
 
 hold_cflags=$CFLAGS
 CFLAGS="$CFLAGS -export-dynamic"
===== or
Index: autoconf/configure.in
===================================================================
--- autoconf/configure.in (revision 5)
+++ autoconf/configure.in (working copy)
@@ -56,11 +56,11 @@
 dnl module checking based on Hyb7's module checking code
 AC_DEFUN(AC_ENABLE_DYN,
 [
-AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
+[AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
 [
 AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found)
 AC_DEFINE(STATIC_LINKING)
-]))
+]))]
 
 hold_cflags=$CFLAGS
 CFLAGS="$CFLAGS -export-dynamic"

the first patch looks better but both works, as you might know already, missing quote in m4 may not produce bad code sometimes
Steps To Reproduce1. make -C autoconf
2. ./Config

checking for syslog... yes
checking for vsyslog... yes
checking for openssl... found in /usr/include/openssl
checking for zlib... found in /usr
checking for dlopen... no
configure: WARNING: Your system does not support IPv6 so it will not be enabled
./configure: line 12416: syntax error near unexpected token `fi'
./configure: line 12416: `fi;'
TagsNo tags attached.
Attached Files
configure.in.patch (1,812 bytes)
3rd party modules

Activities

syzop

2006-02-06 14:30

administrator   ~0011148

hm, if this fixes makes it possible to use newer autoconfs, that would be great ;p.. we'll see..

syzop

2006-02-06 14:36

administrator   ~0011149

looks like it :P.

Until now I had to ssh to a box every time I changed something, because autoconf was broken with newer versions.

So... thanks! ;p

**
Fixed in .455

Xuefer

2006-02-06 21:28

reporter   ~0011150

Last edited: 2006-02-06 21:47

oops, i'm late. the fix seems inlocgic, after spent some time playing with my (cygwin patch) i have a better fix.

Index: configure.in
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/autoconf/Attic/configure.in,v
retrieving revision 1.1.6.7
diff -u -r1.1.6.7 configure.in
--- configure.in 3 Feb 2006 13:57:18 -0000 1.1.6.7
+++ configure.in 7 Feb 2006 02:26:17 -0000
@@ -54,13 +54,13 @@
 AC_SUBST(MKPASSWDLIBS)

 dnl module checking based on Hyb7's module checking code
-AC_DEFUN(AC_ENABLE_DYN,
+AC_DEFUN([AC_ENABLE_DYN],
 [
-AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
+AC_CHECK_FUNC(dlopen,, [AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
 [
 AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found)
 AC_DEFINE(STATIC_LINKING)
-]))
+])])

 hold_cflags=$CFLAGS
 CFLAGS="$CFLAGS -export-dynamic"
@@ -110,7 +110,7 @@
 MODULEFLAGS=$ac_cv_pic
 AC_DEFINE(DYNAMIC_LINKING)
 ])
-AC_DEFUN(AC_ENABLE_INET6,[
+AC_DEFUN([AC_ENABLE_INET6],[
 AC_CACHE_CHECK(if your system has IPv6 support, ac_cv_ip6, [
 save_libs="$LIBS"
 LIBS="$LIBS $SOCKLIB"
@@ -396,8 +396,8 @@
 CHECK_SSL
 CHECK_ZLIB
 CHECK_LIBCURL
-AC_ARG_ENABLE(dynamic-linking, [AC_HELP_STRING([--enable-dynamic-linking],[Make the IRCd dynamically link shared objects rather than statically])], AC_ENABLE_DYN, AC_DEFINE(STATIC_LINKING))
-AC_ARG_ENABLE(inet6, [AC_HELP_STRING([--enable-inet6],[Make the IRCd support IPv6])], AC_ENABLE_INET6)
+AC_ARG_ENABLE(dynamic-linking, [AC_HELP_STRING([--enable-dynamic-linking],[Make the IRCd dynamically link shared objects rather than statically])], [AC_ENABLE_DYN], [AC_DEFINE(STATIC_LINKING)])
+AC_ARG_ENABLE(inet6, [AC_HELP_STRING([--enable-inet6],[Make the IRCd support IPv6])], [AC_ENABLE_INET6])
 AC_SUBST(IRCDDIR)
 AC_SUBST(BINDIR)
 AC_MSG_CHECKING(if FD_SETSIZE is large enough to allow $ac_fd file descriptors)

[snip]
So... thanks! ;p
[/snip]
You're welcome!

Xuefer

2006-02-06 21:29

reporter   ~0011151

Last edited: 2006-02-06 21:46

the better fix attached here.
the "[]" i added inside "AC_DEFUN(AC_ENABLE_DYN" is now moved outside to where AC_ENABLE_DYN is used -- in AC_ARG_ENABLE.

it's recommended to do AC_***([dynamic-linking]...) AC_***([inet6], [...], [...], [...]...) -- every argument is quoted.
adding quotes all arround the configure.in looks superfluous but is the right way however. most of the time it's ok to leave `AC_***(inet6,..' unquoted as we're sure it's will not expand to bad code.

syzop

2006-02-07 08:04

administrator   ~0011155

ok.. updated then :P

Xuefer

2006-02-07 21:40

reporter   ~0011163

thanks, i feel satisfy with this patch. let's close this bug (i can't)
:)

syzop

2006-02-08 07:38

administrator   ~0011176

ok ;p

Issue History

Date Modified Username Field Change
2006-02-05 06:28 Xuefer New Issue
2006-02-06 14:30 syzop Note Added: 0011148
2006-02-06 14:30 syzop Status new => acknowledged
2006-02-06 14:36 syzop Status acknowledged => resolved
2006-02-06 14:36 syzop Fixed in Version => 3.2.5
2006-02-06 14:36 syzop Resolution open => fixed
2006-02-06 14:36 syzop Assigned To => syzop
2006-02-06 14:36 syzop Note Added: 0011149
2006-02-06 21:28 Xuefer Status resolved => feedback
2006-02-06 21:28 Xuefer Resolution fixed => reopened
2006-02-06 21:28 Xuefer Note Added: 0011150
2006-02-06 21:29 Xuefer Note Added: 0011151
2006-02-06 21:46 Xuefer Note Edited: 0011151
2006-02-06 21:47 Xuefer Note Edited: 0011150
2006-02-06 22:20 Xuefer File Added: configure.in.patch
2006-02-07 08:04 syzop Note Added: 0011155
2006-02-07 21:40 Xuefer Note Added: 0011163
2006-02-08 07:38 syzop Status feedback => resolved
2006-02-08 07:38 syzop Resolution reopened => fixed
2006-02-08 07:38 syzop Note Added: 0011176