Skip to contentSkip to conversation

urcu commit a767fd requires autoconf >= 2.64.

DISCUSSION Mathieu Desnoyers 2 participants 5 messages Jun 13, 2012 – Jun 14, 2012 5 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 14 lines · * John Steele Scott ([email protected]) wrote:

http://lists.lttng.org/pipermail/lttng-dev/2012-May/017927.html

I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got:

jscott@dxi0-62:~/src/userspace-rcu$ make -j4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I config
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf
 cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign
configure:4010: error: possibly undefined macro: m4_ifnblank
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
make: *** [configure] Error 1
make: *** Waiting for unfinished jobs....
Quoted 3 lines

Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :(

I just worked around it by reverting commit a767fd locally, then I can build fine.

Thanks for pointing this out! Can you try the following patch and let me know if it fixes your issue ?

config/ax_tls.m4 +17 -1
index 033e3b1..5ab1a41 100644
@@ -44,7 +44,23 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 10
+#serial 11
+
+#   Define m4_ifblank and m4_ifnblank macros from introduced in
+#   autotools 2.64 m4sugar.m4 if using an earlier autotools.
+
+ifdef([m4_ifblank], [], [
+m4_define([m4_ifblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$2], [$3])])
+])
+
+
+ifdef([m4_ifnblank], [], [
+m4_define([m4_ifnblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$3], [$2])])
+])
 
 AC_DEFUN([AX_TLS], [
   AC_MSG_CHECKING(for thread local storage (TLS) class)
Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

A message that is not in the archive (sent off-list or not yet received): 20120613081001.GA30123@Krystal

#3 lore raw
Quoted 15 lines · Mathieu Desnoyers
Quoted 14 lines · * John Steele Scott ([email protected]) wrote:

http://lists.lttng.org/pipermail/lttng-dev/2012-May/017927.html

I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got:

jscott@dxi0-62:~/src/userspace-rcu$ make -j4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I config
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf
 cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign
configure:4010: error: possibly undefined macro: m4_ifnblank
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
make: *** [configure] Error 1
make: *** Waiting for unfinished jobs....
Quoted 7 lines
Quoted 3 lines

Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :(

I just worked around it by reverting commit a767fd locally, then I can build fine.

Thanks for pointing this out! Can you try the following patch and let me know if it fixes your issue ?

Mathieu,

Thanks for your quick response. Unfortunately, with that patch, ./configure fails like:

checking for thread local storage (TLS) class... __thread ./configure: line 4029: syntax error near unexpected token fi' ./configure: line 4029: fi'

The section of configure which it's complaining about looks like:

if test "$ac_cv_tls" != "none"; then

cat >>confdefs.h <<_ACEOF
#define TLS $ac_cv_tls
_ACEOF

cat >>confdefs.h <<_ACEOF
#define CONFIG_RCU_TLS $ac_cv_tls
_ACEOF

else

fi

It seems it doesn't like the empty else..fi clause. If I put a command in there ("true", "echo", whatever), configure completes and I can build successfully.

cheers,

John

A message that is not in the archive (sent off-list or not yet received): [email protected]

#5 lore raw
Quoted 28 lines · * John Steele Scott ([email protected]) wrote:
Quoted 15 lines · Mathieu Desnoyers
Quoted 14 lines · * John Steele Scott ([email protected]) wrote:

http://lists.lttng.org/pipermail/lttng-dev/2012-May/017927.html

I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got:

jscott@dxi0-62:~/src/userspace-rcu$ make -j4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I config
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf
 cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign
configure:4010: error: possibly undefined macro: m4_ifnblank
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
make: *** [configure] Error 1
make: *** Waiting for unfinished jobs....
Quoted 7 lines
Quoted 3 lines

Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :(

I just worked around it by reverting commit a767fd locally, then I can build fine.

Thanks for pointing this out! Can you try the following patch and let me know if it fixes your issue ?

Mathieu,

Thanks for your quick response. Unfortunately, with that patch, ./configure fails like:

[...]

Quoted 1 line

It seems it doesn't like the empty else..fi clause. If I put a command in there ("true", "echo", whatever), configure completes and I can build successfully.

Can you try with the following ? I just tested it with autoconf 2.63 here and it seems to work fine now.

config/ax_tls.m4 +17 -1
index 033e3b1..5ab1a41 100644
@@ -44,7 +44,23 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 10
+#serial 11
+
+#   Define m4_ifblank and m4_ifnblank macros from introduced in
+#   autotools 2.64 m4sugar.m4 if using an earlier autotools.
+
+ifdef([m4_ifblank], [], [
+m4_define([m4_ifblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$2], [$3])])
+])
+
+
+ifdef([m4_ifnblank], [], [
+m4_define([m4_ifnblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$3], [$2])])
+])
 
 AC_DEFUN([AX_TLS], [
   AC_MSG_CHECKING(for thread local storage (TLS) class)
configure.ac +1 -1
index db34935..5f6bc40 100644
@@ -28,7 +28,7 @@ AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c
 AH_TEMPLATE([CONFIG_RCU_ARM_HAVE_DMB], [Use the dmb instruction if available for use on ARM.])
 AH_TEMPLATE([CONFIG_RCU_TLS], [TLS provided by the compiler.])
 
-AX_TLS([AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls)], [])
+AX_TLS(AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls), [:])
 
 # Checks for programs.
 AC_PROG_CC
Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

A message that is not in the archive (sent off-list or not yet received): 20120613193142.GA20907@Krystal

#7 lore raw
Quoted 69 lines · Mathieu Desnoyers
Quoted 27 lines · * John Steele Scott ([email protected]) wrote:
Quoted 15 lines · Mathieu Desnoyers
Quoted 14 lines · * John Steele Scott ([email protected]) wrote:

http://lists.lttng.org/pipermail/lttng-dev/2012-May/017927.html

I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got:

jscott@dxi0-62:~/src/userspace-rcu$ make -j4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I config
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf
 cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign
configure:4010: error: possibly undefined macro: m4_ifnblank
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
make: *** [configure] Error 1
make: *** Waiting for unfinished jobs....
Quoted 7 lines
Quoted 3 lines

Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :(

I just worked around it by reverting commit a767fd locally, then I can build fine.

Thanks for pointing this out! Can you try the following patch and let me know if it fixes your issue ?

Mathieu,

Thanks for your quick response. Unfortunately, with that patch, ./configure fails like:

[...]

Quoted 1 line

It seems it doesn't like the empty else..fi clause. If I put a command in there ("true", "echo", whatever), configure completes and I can build successfully.

Can you try with the following ? I just tested it with autoconf 2.63 here and it seems to work fine now.

config/ax_tls.m4 +17 -1
index 033e3b1..5ab1a41 100644
@@ -44,7 +44,23 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 10
+#serial 11
+
+#   Define m4_ifblank and m4_ifnblank macros from introduced in
+#   autotools 2.64 m4sugar.m4 if using an earlier autotools.
+
+ifdef([m4_ifblank], [], [
+m4_define([m4_ifblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$2], [$3])])
+])
+
+
+ifdef([m4_ifnblank], [], [
+m4_define([m4_ifnblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$3], [$2])])
+])
 
 AC_DEFUN([AX_TLS], [
   AC_MSG_CHECKING(for thread local storage (TLS) class)
configure.ac +0 -0
index db34935..5f6bc40 100644

configure.ac AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c · line 34

Quoted 8 lines
configure.ac +1 -1
@@ -28,7 +28,7 @@ AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c
 AH_TEMPLATE([CONFIG_RCU_ARM_HAVE_DMB], [Use the dmb instruction if available for use on ARM.])
 AH_TEMPLATE([CONFIG_RCU_TLS], [TLS provided by the compiler.])
 
-AX_TLS([AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls)], [])
+AX_TLS(AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls), [:])
 
 # Checks for programs.
 AC_PROG_CC

Mathieu,

This fixed it for me too.

Thanks,

John

A message that is not in the archive (sent off-list or not yet received): [email protected]

#9 lore raw
Quoted 75 lines · * John Steele Scott ([email protected]) wrote:
Quoted 74 lines · Mathieu Desnoyers
Quoted 27 lines · * John Steele Scott ([email protected]) wrote:
Quoted 15 lines · Mathieu Desnoyers
Quoted 14 lines · * John Steele Scott ([email protected]) wrote:

http://lists.lttng.org/pipermail/lttng-dev/2012-May/017927.html

I tried to build the latest urcu (git master e51500) on a Centos 6.2 box, and got:

jscott@dxi0-62:~/src/userspace-rcu$ make -j4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run aclocal-1.11 -I config
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run autoconf
 cd . && /bin/sh /users/jscott/src/userspace-rcu/config/missing --run automake-1.11 --foreign
configure:4010: error: possibly undefined macro: m4_ifnblank
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
make: *** [configure] Error 1
make: *** Waiting for unfinished jobs....
Quoted 7 lines
Quoted 3 lines

Some digging showed that the macro m4_ifnblank requires autoconf 2.64. Centos 6.2 has autoconf 2.63. :(

I just worked around it by reverting commit a767fd locally, then I can build fine.

Thanks for pointing this out! Can you try the following patch and let me know if it fixes your issue ?

Mathieu,

Thanks for your quick response. Unfortunately, with that patch, ./configure fails like:

[...]

Quoted 1 line

It seems it doesn't like the empty else..fi clause. If I put a command in there ("true", "echo", whatever), configure completes and I can build successfully.

Can you try with the following ? I just tested it with autoconf 2.63 here and it seems to work fine now.

config/ax_tls.m4 +17 -1
index 033e3b1..5ab1a41 100644
@@ -44,7 +44,23 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 10
+#serial 11
+
+#   Define m4_ifblank and m4_ifnblank macros from introduced in
+#   autotools 2.64 m4sugar.m4 if using an earlier autotools.
+
+ifdef([m4_ifblank], [], [
+m4_define([m4_ifblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$2], [$3])])
+])
+
+
+ifdef([m4_ifnblank], [], [
+m4_define([m4_ifnblank],
+[m4_if(m4_translit([[$1]],  [ ][	][
+]), [], [$3], [$2])])
+])
 
 AC_DEFUN([AX_TLS], [
   AC_MSG_CHECKING(for thread local storage (TLS) class)
configure.ac +1 -1
index db34935..5f6bc40 100644
@@ -28,7 +28,7 @@ AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c
 AH_TEMPLATE([CONFIG_RCU_ARM_HAVE_DMB], [Use the dmb instruction if available for use on ARM.])
 AH_TEMPLATE([CONFIG_RCU_TLS], [TLS provided by the compiler.])
 
-AX_TLS([AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls)], [])
+AX_TLS(AC_DEFINE_UNQUOTED([CONFIG_RCU_TLS], $ac_cv_tls), [:])
 
Quoted 7 lines

configure.ac AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks c · line 34

Quoted 3 lines
configure.ac +0 -0
 # Checks for programs.
 AC_PROG_CC

Mathieu,

This fixed it for me too.

Thanks for confirming. Pushed as commit:

commit 450b97095e27646fcd1e4b83c99477d7253b987b

Author: Mathieu Desnoyers <[email protected]>
Date:   Thu Jun 14 00:56:40 2012 -0400

Fix: re-enable compatibility with autoconf < 2.64

Quoted 9 lines

Thanks,

John

_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com