squid: fix automake breakage
PATCH 1/1 squid: fix automake breakage
Squid bundles a copy of libltdl (from libtool) which autoreconfigures on its own.
For some odd reason when automake was bumped to version 1.15 and if the host system has another automake version, for example 1.14, the ACLOCAL and AUTOMAKE variables don't expand properly when the internal autoreconf is triggered hence calling the missing handler which in turn tries to use an incorrect automake version.
The solution is to pass unexpanded ACLOCAL and AUTOMAKE variables that defer the evaluation to a later moment and avoid the issue.
Fixes:
http://autobuild.buildroot.net/results/73f/73fcffafbea320f8c64378bbe8a96922b5e7c6b5/
--- package/squid/squid.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
package/squid/squid.mk +3 -1
@@ -20,7 +20,9 @@ SQUID_CONF_ENV = \ ac_cv_func_va_copy=yes \ ac_cv_func___va_copy=yes \ ac_cv_func_strnstr=no \ - ac_cv_have_squid=yes + ac_cv_have_squid=yes \ + ACLOCAL="$(ACLOCAL)" \ + AUTOMAKE="$(AUTOMAKE)" SQUID_CONF_OPTS = \ --enable-async-io=8 \ --enable-linux-netfilter \
Signature · 1 line
2.0.5
PATCH 1/1 squid: fix automake breakage
Dear Gustavo Zacarias,
Quoted 10 lines · Gustavo Zacarias
Squid bundles a copy of libltdl (from libtool) which autoreconfigures on its own.
For some odd reason when automake was bumped to version 1.15 and if the host system has another automake version, for example 1.14, the ACLOCAL and AUTOMAKE variables don't expand properly when the internal autoreconf is triggered hence calling the missing handler which in turn tries to use an incorrect automake version.
The solution is to pass unexpanded ACLOCAL and AUTOMAKE variables that defer the evaluation to a later moment and avoid the issue.
Quoted 7 lines
Fixes:
http://autobuild.buildroot.net/results/73f/73fcffafbea320f8c64378bbe8a96922b5e7c6b5/Signed-off-by Gustavo Zacarias <[email protected]>--- package/squid/squid.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
We seem to have the same problem with host-guile:
http://autobuild.buildroot.org/results/634/634e342f7f384fc6eba11872aa2d680c0d8dc98a/build-end.log.
So I'm not sure a package-specific solution is appropriate here, no?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 squid: fix automake breakage
Quoted 3 lines · Thomas Petazzoni
We seem to have the same problem with host-guile:
http://autobuild.buildroot.org/results/634/634e342f7f384fc6eba11872aa2d680c0d8dc98a/build-end.log.
So I'm not sure a package-specific solution is appropriate here, no?
For guile the problem is different, it's the fact that we're patching configure.ac without enabling AUTORECONF, hence autoreconf is triggered internally and breaks.
For squid it seems related to the bundled libltdl (libtool). I've already tried to unbundle it without much success, seems to be pretty tied up.
I've sent a patch to fix guile.
Regards.
PATCH 1/1 squid: fix automake breakage
In reply to Gustavo ZacariasGustavo Zacarias <[email protected]> wrote in news:1420679367-24134-1-git-send-email-gustavo at zacarias.com.ar:
Quoted 3 lines
Squid bundles a copy of libltdl (from libtool) which autoreconfigures on its own.
For some odd reason when automake was bumped to version 1.15 and if the
host
Quoted 9 lines
system has another automake version, for example 1.14, the ACLOCAL and AUTOMAKE variables don't expand properly when the internal autoreconf is triggered hence calling the missing handler which in turn tries to use an incorrect automake version.
The solution is to pass unexpanded ACLOCAL and AUTOMAKE variables that defer the evaluation to a later moment and avoid the issue.Fixes:
http://autobuild.buildroot.net/results/73f/73fcffafbea320f8c64378bbe8a969
22b5e7c6b5/
Quoted 2 lines
Signed-off-by Gustavo Zacarias <gustavo-
Quoted 9 lines
--- package/squid/squid.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)package/squid/squid.mk +0
-0
package/squid/squid.mk SQUID_CONF_ENV = \ · line 28
Quoted 10 lines
package/squid/squid.mk +3
-1@@ -20,7 +20,9 @@ SQUID_CONF_ENV = \ ac_cv_func_va_copy=yes \ ac_cv_func___va_copy=yes \ ac_cv_func_strnstr=no \ - ac_cv_have_squid=yes + ac_cv_have_squid=yes \ + ACLOCAL="$(ACLOCAL)" \ + AUTOMAKE="$(AUTOMAKE)" SQUID_CONF_OPTS = \ --enable-async-io=8 \ --enable-linux-netfilter \
Only compile-tested.
PATCH 1/1 squid: fix automake breakage
In reply to Gustavo ZacariasDear Gustavo Zacarias,
Quoted 10 lines · Gustavo Zacarias
Squid bundles a copy of libltdl (from libtool) which autoreconfigures on its own.
For some odd reason when automake was bumped to version 1.15 and if the host system has another automake version, for example 1.14, the ACLOCAL and AUTOMAKE variables don't expand properly when the internal autoreconf is triggered hence calling the missing handler which in turn tries to use an incorrect automake version.
The solution is to pass unexpanded ACLOCAL and AUTOMAKE variables that defer the evaluation to a later moment and avoid the issue.
Quoted 4 lines
Fixes:
http://autobuild.buildroot.net/results/73f/73fcffafbea320f8c64378bbe8a96922b5e7c6b5/Signed-off-by Gustavo Zacarias <[email protected]>
Even though I am not too happy about the fix, I applied it in order to fix the autobuilder issues.
I'd like to understand better why the libltdl bundled in Squid thinks it should autoreconf itself.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 squid: fix automake breakage
Quoted 5 lines · Thomas Petazzoni
Even though I am not too happy about the fix, I applied it in order to fix the autobuilder issues.
I'd like to understand better why the libltdl bundled in Squid thinks it should autoreconf itself.
I couldn't find the why yet, but i did find that the fact that we don't autoreconf libtool causes it since libtool 2.4.4 is packaged with automake 1.14.1.
In a project where host-libtool (i.e. autoreconfs) see:
output/target/usr/share/libtool/aclocal.m4 ->
[AM_AUTOMAKE_VERSION([1.14.1])dnl
(circa line 54)
Since libtoolize blindly copies this at some point libltdl automatically-triggered autoreconf uses this version (actually am__api_version='1.14' in line 35) to call it, hence breaking.
One solution would be to autoreconf libtool which doesn't seem straightforward.
Another is to "hack" libtool and s/1.14.1/1.15/ + s/1.14/1.15/ that file (tested to work).
We could also define ACLOCAL & co in the autotools infra, it shouldn't hurt any package, though i haven't tested this.
In any case it seems to be a problem limited to squid only or we would have seen more of these.
Regards.