Message ID | 1420679367-24134-1-git-send-email-gustavo@zacarias.com.ar |
---|---|
State | Accepted |
Headers | show |
Dear Gustavo Zacarias, On Wed, 7 Jan 2015 22:09:27 -0300, Gustavo Zacarias wrote: > 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/ > > Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> > --- > 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
On 01/08/2015 05:28 AM, Thomas Petazzoni wrote: > 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.
Gustavo Zacarias <gustavo@zacarias.com.ar> wrote in news:1420679367-24134-1-git-send-email-gustavo@zacarias.com.ar: > 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/73fcffafbea320f8c64378bbe8a969 22b5e7c6b5/ > > Signed-off-by: Gustavo Zacarias <gustavo- qnBm8nLGbSGH0oMTQjrRWA@public.gmane.org> > --- > package/squid/squid.mk | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/package/squid/squid.mk b/package/squid/squid.mk > index e9e821d..403818a 100644 > --- a/package/squid/squid.mk > +++ b/package/squid/squid.mk > @@ -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 \ Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de> Only compile-tested.
Dear Gustavo Zacarias, On Wed, 7 Jan 2015 22:09:27 -0300, Gustavo Zacarias wrote: > 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/ > > Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> 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
On 01/12/2015 04:58 PM, Thomas Petazzoni wrote: > 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.
diff --git a/package/squid/squid.mk b/package/squid/squid.mk index e9e821d..403818a 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -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 \
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/ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> --- package/squid/squid.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)