Closed TimB87 closed 1 year ago
Hi @TimB87,
line 18070 of configure
is deep into a heredoc that seems to be coming from AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
, so the shell seems to be interpreting code that was not meant to be interpreted by shell. My current best guess is that we are dealing with a POSIX shell related topic here. Could you share what shell you have in /bin/sh
and which version? What I'll probably be able to reproduce with over here easily includes: bash busybox dash ksh lksh mksh
. My guess is that yours is neither Bash nor Dash?
Best, Sebastian
PS: with Dash I get error …
./configure: 21523: test: x: unexpected operator
…which I believe is from the ==
in
if test x"$LV_THREAD_CFLAGS" == xgthread2; then
It continues after that though and doesn't show the error that you saw above. I think I'll make a pull request once we understand the whole thing.
PS: I saw the autoreconf -vfi
above now so there's a chance that your configure script is different from mine. Could you attache the generated configure script or try without autoreconf -vfi
?
@hartwork If I understand @TimB87 correctly, autoreconf
did not manage to expand AX_CXX_COMPILE_STDCXX_11
. The resultant line in his configure script is:
AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
@kaixiong I see, totally overlooked that part! :+1:
@TimB87 that means the answer is that if you're running autoreconf
you'll also need autoconf-archive installed. Either both or nothing.
Hi @kaixiong, hi @hartwork
Sorry for the late reply!
My shell is indeed dash, version 0.5.12. Having autoconf-archive installed fixes it. The log was from a clean container with minimal dependencies present, autoconf-archive was not invited to the party there.
Bashism, could've/should've thought about that one :sweat_smile:
Having autoconf-archive installed fixes it.
@TimB87 okay great, I'll close the issue then. Please open more issues if anything else needs fixing.
@TimB87 that means the answer is that if you're running
autoreconf
you'll also need autoconf-archive installed. Either both or nothing.
You can make this properly error-check. Add the following line to configure.ac:
m4_pattern_forbid([^AX_CXX_COMPILE_STDCXX_11])
(or genericize that pattern as much as you wish, keep in mind that autotools itself guarantees that ^AC_
is reserved and won't appear in the output unless specifically m4_patternallow'd, but autoconf-archive is not careful about this so `^AX` isn't necessarily safe).
With this you get a proper error when autoconf-archive is not installed. By "proper error" I mean that configure doesn't fail with confusing syntax errors, instead, the autoreconf -fvi
stage fails:
configure.ac:14: error: possibly undefined macro: AX_CXX_COMPILE_STDCXX_11
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf-2.71: error: /usr/bin/autoconf-2.71 failed with exit status: 1
You can do the same for PKG_CHECK_MODULES
.
Just stumbled on this; I'd recommend to apply eli-schwartz's fix in their just-above reply.
@Apteryks @eli-schwartz I turned Eli's idea into a new pull request #371 now — review and/or testing is welcome :pray:
Hi all :wave:
While trying to build a 32 bit library of libvisual 0.4.2, I get this weird error while running
configure
:Building works for non 32 bit version just fine.
Line 18070 in configure is:
AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
gcc info:
Is there any more info I can provide?