Search squid archive

Re: v6.12 build error from release tarball

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-11-08 02:33, Marko, Peter wrote:

I don't really know autotools and how they are supposed to be used.

We are in the same boat here -- there are a lot of gray areas and dark corners with autotools. Bootstrapping of components is one of them, as commit 82e18891 message illustrates. And in your particular case, you are essentially dealing with bootstrapping a component of a component!

As an additional disclaimer, I know nothing about Yocto :-).


This process (using bootstrapped release tarball + running autoreconf) is
the standard way how Yocto project builds autotool based components.

Please consider adjusting Yocto "standard way" to honor and use component-supplied bootstrap.sh (instead of autoreconf) when it exists.


Maybe because release tarballs are bootstrapped with a possibly/usually
different version of libtool and other toolchain parts than are used by Yocto

Yes, most likely they are, but the differences may not matter to Yocto. And if they do matter to Yocto, then Yocto should honor component's way of bootstrapping before blindly assuming that autoreconf "works".

or because of different configuration options?

Squid bootstrapping does not have options, but even if it had them, running autoreconf (without options) would probably ignore them, so this is probably not about bootstrapping options.


Your explanation makes sense to me and I have some idea why this
build problem occurs and have some arguments for my patch within Yocto.

I am very glad to hear that you are making progress.


Good luck,

Alex.


-----Original Message-----
From: Alex Rousskov <rousskov@xxxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, November 8, 2024 5:27
To: squid-users@xxxxxxxxxxxxxxxxxxxxx
Cc: Marko, Peter (FT D EU SK BFS1) <Peter.Marko@xxxxxxxxxxx>
Subject: Re:  v6.12 build error from release tarball

On 2024-11-07 16:48, Marko, Peter wrote:

Commit [1] removed directory libltdl/m4 from release tarball by merging
all those files into libltdl/aclocal.m4,

Clarification: While commit b4addc22 itself did not remove any
directories or merged any files, bootstrapping Squid after that commit
may have such an effect. The exact bootstrapping outcome depends, in
part, on bootstrapping environment (e.g., installed libtool version)...


however makefiles still
reference it causing following error (in Yocto project):

libltdl/Makefile.am that references m4 directory comes from Libtool.
That particular Makefile.am does not exist in primary Squid sources
(i.e. what gets committed to the official git repository). It gets
created (by libtoolize IIRC) during bootstrapping of Squid sources.



| autoreconf: Entering directory 'libltdl'

To bootstrap Squid, one has to run ./bootstrap.sh instead of autoreconf.
AFAIK, Squid does not fully support bootstrapping with autoreconf;
autoreconf fails to do the right thing in some environments. If
autoreconf had worked for you, it was just temporary luck.

However, _why_ run autoreconf (i.e. bootstrapping Squid) after
downloading _bootstrapped_ sources?! Clarifying this contradiction may
help identify and address the underlying problem.


Thank you,

Alex.






| autoreconf: configure.ac: not using Gettext
| autoreconf: running: aclocal --system-acdir=WORKDIR/recipe-
sysroot/usr/share/aclocal/ -I WORKDIR/squid-6.12/acinclude/ -I
WORKDIR/recipe-sysroot-native/usr/share/aclocal/ --force -I m4
| aclocal: error: couldn't open directory 'm4': No such file or directory
| autoreconf: error: aclocal failed with exit status: 1

Following change of release tarball will make the build pass:
diff squid-6.12-orig/libltdl/Makefile.am squid-6.12/libltdl/Makefile.am
--- squid-6.12-orig/libltdl/Makefile.am
+++ squid-6.12/libltdl/Makefile.am
@@ -29,7 +29,7 @@
   ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
   #####

-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS =
   AUTOMAKE_OPTIONS = foreign
   AM_CPPFLAGS =
   AM_LDFLAGS =
diff squid-6.12-orig/libltdl/Makefile.in squid-6.12/libltdl/Makefile.in
--- squid-6.12-orig/libltdl/Makefile.in
+++ squid-6.12/libltdl/Makefile.in
@@ -448,7 +448,7 @@ target_alias = @target_alias@
   top_build_prefix = @top_build_prefix@
   top_builddir = @top_builddir@
   top_srcdir = @top_srcdir@
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS =
   AUTOMAKE_OPTIONS = foreign

   # -I$(srcdir) is needed for user that built libltdl with a sub-Automake

I don't know how to fix it in source repository.
Help would be appreciated.

Thanks,
    Peter

[1] https://github.com/squid-
cache/squid/commit/b4addc2262e5bee37543f8d1ab9dd98337bafba3
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.squid-cache.org/listinfo/squid-users


_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.squid-cache.org/listinfo/squid-users



[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux