Message ID | 1482241596-31688-12-git-send-email-jezz@sysmic.org |
---|---|
State | Changes Requested |
Headers | show |
Hi Jerome, Please wrap your commit messages at 72 columns (vim wrap will do that for you :-). On 20-12-16 14:46, Jérôme Pouiller wrote: > libtool include support for cross-compilation since v1.5. In order to enable it, ^s > we have to pass `--with-sysroot' to `configure' script. With this option, ^the > autoconf fill `$lt_sysroot' and libtool will search libraries in `$lt_sysroot' ^s ^the > subtree. > > Note Yocto force `$lt_sysroot' even if --with-sysroot is not provided: ^: ^s > http://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch What a horrible hack is that patch, turning 'yes' into 'no'... > > Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> (tested on a static arm musl build with about 20 packages) Regards, Arnout > --- > package/pkg-autotools.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk > index f7b8488..bb20eec 100644 > --- a/package/pkg-autotools.mk > +++ b/package/pkg-autotools.mk > @@ -192,6 +192,7 @@ define $(2)_CONFIGURE_CMDS > --sysconfdir=/etc \ > --localstatedir=/var \ > --program-prefix="" \ > + --with-sysroot \ > --disable-gtk-doc \ > --disable-gtk-doc-html \ > --disable-doc \ >
Hello,
On Tue, 20 Dec 2016 14:46:28 +0100, Jérôme Pouiller wrote:
> libtool include support for cross-compilation since v1.5.
Are you sure this is true?
In the release notes of libtool v2.4
(https://savannah.gnu.org/forum/forum.php?forum_id=6525), I see:
"""
New in 2.4 2010-09-22:
New features:
- Sysroot support. This allows you to build cross-compiled packages
with the same prefix that will be used on the destination machine,
and still find dependent libraries under the compiler's "sysroot".
Without sysroot support, paths internal to the build system may leak
into the product of the build.
Sysroot support is disabled unless the --with-sysroot configure
option is passed to configure, because .la files generated with
sysroot support will not be usable in general with older Libtools.
"""
So are you sure that this feature didn't appear in libtool 2.4 ?
Best regards,
Thomas
On 20-03-17 22:52, Thomas Petazzoni wrote: > Hello, > > On Tue, 20 Dec 2016 14:46:28 +0100, Jérôme Pouiller wrote: > >> libtool include support for cross-compilation since v1.5. > > Are you sure this is true? > > In the release notes of libtool v2.4 > (https://savannah.gnu.org/forum/forum.php?forum_id=6525), I see: > > """ > > > New in 2.4 2010-09-22: > > New features: > > - Sysroot support. This allows you to build cross-compiled packages > with the same prefix that will be used on the destination machine, > and still find dependent libraries under the compiler's "sysroot". > Without sysroot support, paths internal to the build system may leak > into the product of the build. > > Sysroot support is disabled unless the --with-sysroot configure > option is passed to configure, because .la files generated with > sysroot support will not be usable in general with older Libtools. > > """ > > So are you sure that this feature didn't appear in libtool 2.4 ? Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any sysroot support (not in configure, not in ltmain.sh). Obviously, *this* patch is not affected by it - it certainly doesn't hurt to pass the --with-sysroot configure option. It's only patches 12+13 that we wouldn't be able to remove. However, considering: - most packages install things in /usr/lib, which is already searched by default; - most packages use libtool 2.4 or later, I think we can take the risk. The autobuilders will discover any issues, which we can fix per package (e.g. with AUTORECONF = YES). Regards, Arnout
Hello, On Wed, 22 Mar 2017 00:57:39 +0100, Arnout Vandecappelle wrote: > > So are you sure that this feature didn't appear in libtool 2.4 ? > > Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any > sysroot support (not in configure, not in ltmain.sh). > > Obviously, *this* patch is not affected by it - it certainly doesn't hurt to > pass the --with-sysroot configure option. It's only patches 12+13 that we > wouldn't be able to remove. > > However, considering: > > - most packages install things in /usr/lib, which is already searched by default; > > - most packages use libtool 2.4 or later, > > I think we can take the risk. The autobuilders will discover any issues, which > we can fix per package (e.g. with AUTORECONF = YES). Since I would prefer to avoid autoreconfiguring many packages, it would be useful to know how many packages are still using libtool versions earlier than 2.4. Thomas
On 22-03-17 09:14, Thomas Petazzoni wrote: > Hello, > > On Wed, 22 Mar 2017 00:57:39 +0100, Arnout Vandecappelle wrote: > >>> So are you sure that this feature didn't appear in libtool 2.4 ? >> >> Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any >> sysroot support (not in configure, not in ltmain.sh). >> >> Obviously, *this* patch is not affected by it - it certainly doesn't hurt to >> pass the --with-sysroot configure option. It's only patches 12+13 that we >> wouldn't be able to remove. >> >> However, considering: >> >> - most packages install things in /usr/lib, which is already searched by default; >> >> - most packages use libtool 2.4 or later, >> >> I think we can take the risk. The autobuilders will discover any issues, which >> we can fix per package (e.g. with AUTORECONF = YES). > > Since I would prefer to avoid autoreconfiguring many packages, it would > be useful to know how many packages are still using libtool versions > earlier than 2.4. I'm doing an allyesconfig download and will check the ltmain.sh in all the tarballs. It will take some time before that finishes. Regards, Arnout
Hello, On Wednesday 22 March 2017 09:14:37 CET Thomas Petazzoni wrote: > Hello, > > On Wed, 22 Mar 2017 00:57:39 +0100, Arnout Vandecappelle wrote: > > > > So are you sure that this feature didn't appear in libtool 2.4 ? > > > > Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any > > sysroot support (not in configure, not in ltmain.sh). > > > > Obviously, *this* patch is not affected by it - it certainly doesn't hurt > > to pass the --with-sysroot configure option. It's only patches 12+13 that > > we wouldn't be able to remove. > > > > However, considering: > > > > - most packages install things in /usr/lib, which is already searched by > > default; > > > > - most packages use libtool 2.4 or later, > > > > I think we can take the risk. The autobuilders will discover any issues, > > which we can fix per package (e.g. with AUTORECONF = YES). > > Since I would prefer to avoid autoreconfiguring many packages, it would > be useful to know how many packages are still using libtool versions > earlier than 2.4. This is precisely what I wanted to known before to replying. I extracted all (or nearly all) packages existing in Buildroot. I found 269 packages that use libool: $ grep -ho 'VERSION="[0-9.]*' */ltmain.sh | sort | uniq -c | sort -n 1 VERSION="1.5.24 1 VERSION="2.2.4 3 VERSION="1.5.22 5 VERSION="1.5.26 13 VERSION="2.2.6 29 VERSION="2.4.6 67 VERSION="2.4.2 There 23 packages that use libtool < 2.4: - bellagio - celt051 - dbus-cpp - eventlog - gtk2-engines - lesstif - libargtable2 - libesmtp - liblo - libmhash - libnetfilter_conntrack - libnetfilter_log - libnfnetlink - libpthread-stubs - lite - log4cxx - matchbox-lib - metacity - sdl_sound - sylpheed - xapp_xinput-calibrator - xdriver_xf86-input-tslib - xdriver_xf86-video-imx 4 of them already call autoreconf: bellagio, dbus-cpp, libnetfilter_log, libnfnetlink. I am going to create a configuration with all of these packages. ++
On 22-03-17 10:20, Jérôme Pouiller wrote: > Hello, > > On Wednesday 22 March 2017 09:14:37 CET Thomas Petazzoni wrote: >> Hello, >> >> On Wed, 22 Mar 2017 00:57:39 +0100, Arnout Vandecappelle wrote: >> >>>> So are you sure that this feature didn't appear in libtool 2.4 ? >>> >>> Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any >>> sysroot support (not in configure, not in ltmain.sh). >>> >>> Obviously, *this* patch is not affected by it - it certainly doesn't hurt >>> to pass the --with-sysroot configure option. It's only patches 12+13 that >>> we wouldn't be able to remove. >>> >>> However, considering: >>> >>> - most packages install things in /usr/lib, which is already searched by >>> default; >>> >>> - most packages use libtool 2.4 or later, >>> >>> I think we can take the risk. The autobuilders will discover any issues, >>> which we can fix per package (e.g. with AUTORECONF = YES). >> >> Since I would prefer to avoid autoreconfiguring many packages, it would >> be useful to know how many packages are still using libtool versions >> earlier than 2.4. > > This is precisely what I wanted to known before to replying. > > I extracted all (or nearly all) packages existing in Buildroot. I found 269 > packages that use libool: > > $ grep -ho 'VERSION="[0-9.]*' */ltmain.sh | sort | uniq -c | sort -n > 1 VERSION="1.5.24 > 1 VERSION="2.2.4 > 3 VERSION="1.5.22 > 5 VERSION="1.5.26 > 13 VERSION="2.2.6 > 29 VERSION="2.4.6 > 67 VERSION="2.4.2 Your command isn't good enough... It skips ltmain.sh which are not in the top directory, and it skips the ones where VERSION isn't quoted. I got quite a few more: $ for i in *.tar*; do tar tf $i | grep ltmain.sh | xargs -r tar -xf $i --to-command="grep ^VERSION= | { grep -v '[^.]2\.4' && printf ' @@$i\\r'; } | tr '\\n\\r' ' \\n'"; done VERSION=1.5.26 @@CEGUI-0.6.2b.tar.gz VERSION="1.5.26 Debian 1.5.26-1ubuntu1" @@LiTE-0.8.10.tar.gz VERSION=2.2.6 @@SDL-1.2.15.tar.gz VERSION=2.2.6 @@SDL2_image-2.0.1.tar.gz VERSION=2.2.6 @@SDL2_ttf-2.0.14.tar.gz VERSION=2.2.6 @@SDL_image-1.2.12.tar.gz VERSION=2.2.6 @@SDL_mixer-1.2.12.tar.gz VERSION=2.2.6 @@SDL_net-1.2.8.tar.gz VERSION="1.5.24 Debian 1.5.24-1ubuntu1" @@SDL_sound-1.0.3.tar.gz VERSION=2.2.6 @@SDL_ttf-2.0.11.tar.gz VERSION="1.5.22 Debian 1.5.22-2" @@apache-log4cxx-0.10.0.tar.gz VERSION=2.2.6b @@arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 VERSION=2.2.6b @@arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@argtable2-13.tar.gz VERSION=2.2.10 @@axfsutils-64886703fdff6cfc64eb20fbe7d7295bbeec867b.tar.gz VERSION=2.2.6 @@beecrypt-4.2.1.tar.gz VERSION=2.2.6b @@bind-9.11.0-P3.tar.gz VERSION=1.3.5 @@bind-9.11.0-P3.tar.gz VERSION=2.2.7a @@binutils-2.26.1.tar.bz2 VERSION=2.2.7a @@binutils-2.27.tar.bz2 VERSION=1.5.22 @@boost_1_63_0.tar.bz2 VERSION="1.5.26 Debian 1.5.26-4" @@celt-0.5.1.3.tar.gz VERSION=1.5.22 @@clamav-0.99.2.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@collectd-5.5.1.tar.bz2 VERSION="1.5.26 Debian 1.5.26-1ubuntu1" @@curlftpfs-0.9.2.tar.gz VERSION=2.2.6b @@db-5.3.28.NC.tar.gz VERSION=2.2.6 @@db-5.3.28.NC.tar.gz VERSION=1.5.22 @@db-5.3.28.NC.tar.gz VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@eventlog_0.2.12.tar.gz VERSION="1.5.22 Debian 1.5.22-4" @@faad2-2.7.tar.gz VERSION=1.4 @@fcgi-2.4.0.tar.gz VERSION=1.5.24 @@gamin-0.1.10.tar.gz VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 VERSION=1.5.16 @@gcc-4.9.4.tar.bz2 VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 VERSION=1.5.16 @@gcc-5.4.0.tar.bz2 VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 VERSION=1.5.16 @@gcc-6.2.0.tar.bz2 VERSION=2.2.7a @@gdb-7.10.1.tar.xz VERSION=2.2.7a @@gdb-7.11.1.tar.xz VERSION="1.5.26 Debian 1.5.26-4" @@genpart-1.0.2.tar.bz2 VERSION=1.4e @@gettext-0.19.8.1.tar.xz VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@gmpc-11.8.16.tar.gz VERSION=2.2.6b @@google-breakpad-7515ab13768c7edc09f0f2ec2354dc6c928239a6.tar.gz VERSION="2.2.6b Debian-2.2.6b-2" @@gtk-engines-2.20.2.tar.bz2 VERSION=1.5.2 @@ijs-0.35.tar.bz2 VERSION=1.5.20 @@ipkg-0.99.163.tar.gz VERSION=1.5.22 @@jasper-1.900.1.tar.bz2 VERSION=2.2.6b @@json-c-0.11.tar.gz VERSION="1.5.26 Debian 1.5.26-4" @@kodi-16.1-Jarvis.tar.gz VERSION=2.2.10 @@lame-3.99.5.tar.gz VERSION=2.2.6 @@libart_lgpl-2.3.21.tar.gz VERSION=2.2.4 @@libass-0.13.1.tar.xz VERSION=1.5.6 @@libcdaudio-0.99.12p2.tar.gz VERSION=2.2.6 @@libcddb-1.3.2.tar.bz2 VERSION=2.2.6 @@libdaemon-0.14.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libdbus-c++-0.9.0.tar.gz VERSION=2.2.10 @@libdmtx-0.7.4.tar.gz VERSION=1.5.6 @@libdnet-1.11.tar.gz VERSION="2.2.6b Debian-2.2.6b-2" @@libeXosip2-3.6.0.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@libee-0.4.1.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libesmtp-1.0.6.tar.bz2 VERSION=1.5.6 @@libfakekey-0.1.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libgeotiff-1.4.0.tar.gz VERSION=1.5.26 @@libglade-2.6.4.tar.bz2 VERSION=1.5.22 @@libhid-0.2.16.tar.gz VERSION=1.5.2 @@libid3tag-0.15.1b.tar.gz VERSION="2.2.4 Debian-2.2.4-0ubuntu4" @@liblo-0.26.tar.gz VERSION=1.5.22 @@liblog4c-localtime-v1.0.tar.gz VERSION=1.5.2 @@libmad-0.15.1b.tar.gz VERSION="1.5.22 Debian 1.5.22-2" @@libmatchbox-1.9.tar.bz2 VERSION=1.5.22 @@libmcrypt-2.5.8.tar.gz VERSION="2.2.6b Debian-2.2.6b-2" @@libmnl-1.0.3.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@libmpd-11.8.17.tar.gz VERSION="1.5.26 Debian 1.5.26-4" @@libmpeg2-0.5.1.tar.gz VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_conntrack-1.0.6.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_log-1.0.1.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_log-1.0.1.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2" @@libnfnetlink-1.0.1.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2" @@libosip2-3.6.0.tar.gz VERSION="2.2.6 Debian-2.2.6a-4" @@libpthread-stubs-0.3.tar.bz2 VERSION=1.5.6 @@librsync-0.9.7.tar.gz VERSION="1.5.22 Debian 1.5.22-2" @@libsexy-0.1.11.tar.gz VERSION=1.5.14 @@libsvg-0.1.4.tar.gz VERSION=1.5.14 @@libsvg-cairo-0.1.6.tar.gz VERSION=2.2.6 @@libtheora-1.1.1.tar.xz VERSION=1.4.3 @@libunwind-1.1.tar.gz VERSION=2.2.10 @@lzop-1.03.tar.gz VERSION=1.5.2 @@madplay-0.15.2b.tar.gz VERSION=1.5.6 @@mb-applet-startup-monitor-0.1.tar.bz2 VERSION="2.2.4 Debian-2.2.4-0ubuntu4" @@mcrypt-2.6.8.tar.gz VERSION=2.2.6b @@msgpack-0.5.4.tar.gz VERSION=2.2.6 @@mysql-5.1.73.tar.gz VERSION=1.5.8 @@ngrep-1.45.tar.bz2 VERSION=1.5.26 @@php-7.1.3.tar.xz VERSION=1.5.22 @@pjproject-2.4.5.tar.bz2 VERSION=2.2.6 @@popt-1.16.tar.gz VERSION=1.3.4 @@privoxy-3.0.26-stable-src.tar.gz VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@proftpd-1.3.5d.tar.gz VERSION=1.5.26 @@proftpd-1.3.5d.tar.gz VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@proftpd-1.3.5d.tar.gz VERSION=2.2.6 @@pthsem_2.0.8.tar.gz VERSION=2.2.6 @@qt-everywhere-opensource-src-4.8.7.tar.gz VERSION=2.2.7a @@rustc-1.10.0-src.tar.gz VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz VERSION=1.4 @@sidplay-libs-2.1.1.tar.gz VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@sofia-sip-1.12.11.tar.gz VERSION="1.5.22 Debian 1.5.22-4" @@speex-1.2rc1.tar.gz VERSION=2.2.6 @@sqlcipher-v3.2.0.tar.gz VERSION=1.5.6 @@startup-notification-0.9.tar.gz VERSION=1.5.22 @@sysfsutils-2.1.0.tar.gz VERSION=1.5.22 @@szip-2.1.tar.gz VERSION=1.5.24 @@tn5250-0.17.4.tar.gz VERSION=1.5.6 @@ucl-1.03.tar.gz VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@unixODBC-2.3.2.tar.gz VERSION="2.2.6 Debian-2.2.6a-4" @@vorbis-tools-1.4.0.tar.gz VERSION=1.4.3 @@xcursor-transparent-theme-0.1.1.tar.gz VERSION="1.5.26 Debian 1.5.26-4" @@xf86-input-tslib-0.0.6.tar.bz2 VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@xinput_calibrator-0.7.5.tar.gz That's 109 tarballs with some older libtool. Note that this just iterates over the tarballs that I have in my download directory, there may be some old versions of packages in there. Anyway, I think 109 out of the 2150 tarballs in that directory is still extremely small. Note also that in many of these, the ltmain will be in some subdirectory containing bundled source that we don't even use. Note, finally, that there are also quite a few host-only packages in there (e.g. gcc, but that one is special because it also builds stuff for the target. It doesn't seem to install .la files, however). > There 23 packages that use libtool < 2.4: > - bellagio > - celt051 > - dbus-cpp > - eventlog > - gtk2-engines > - lesstif > - libargtable2 > - libesmtp > - liblo > - libmhash > - libnetfilter_conntrack > - libnetfilter_log > - libnfnetlink > - libpthread-stubs > - lite > - log4cxx > - matchbox-lib > - metacity > - sdl_sound > - sylpheed > - xapp_xinput-calibrator > - xdriver_xf86-input-tslib > - xdriver_xf86-video-imx > > 4 of them already call autoreconf: bellagio, dbus-cpp, libnetfilter_log, > libnfnetlink. > > I am going to create a configuration with all of these packages. That's not necessarily sufficient: the generated .la file could be wrong, so you have to check if packages that use it are still working correctly. Alternatively, just check all the .la files. Regards, Arnout
On 22-03-17 11:05, Arnout Vandecappelle wrote: > > > On 22-03-17 10:20, Jérôme Pouiller wrote: >> Hello, >> >> On Wednesday 22 March 2017 09:14:37 CET Thomas Petazzoni wrote: >>> Hello, >>> >>> On Wed, 22 Mar 2017 00:57:39 +0100, Arnout Vandecappelle wrote: >>> >>>>> So are you sure that this feature didn't appear in libtool 2.4 ? >>>> >>>> Yeah, looks like it. E.g. speex has libtool 1.5, and it doesn't have any >>>> sysroot support (not in configure, not in ltmain.sh). >>>> >>>> Obviously, *this* patch is not affected by it - it certainly doesn't hurt >>>> to pass the --with-sysroot configure option. It's only patches 12+13 that >>>> we wouldn't be able to remove. >>>> >>>> However, considering: >>>> >>>> - most packages install things in /usr/lib, which is already searched by >>>> default; >>>> >>>> - most packages use libtool 2.4 or later, >>>> >>>> I think we can take the risk. The autobuilders will discover any issues, >>>> which we can fix per package (e.g. with AUTORECONF = YES). By the way, this series also *fixes* issues. E.g. I couldn't reproduce http://autobuild.buildroot.net/results/e8c6bdc314b9a8d5de303633a3abd7b7e44beb2e after applying this series, whereas I could reproduce it before. Regards, Arnout >>> >>> Since I would prefer to avoid autoreconfiguring many packages, it would >>> be useful to know how many packages are still using libtool versions >>> earlier than 2.4. >> >> This is precisely what I wanted to known before to replying. >> >> I extracted all (or nearly all) packages existing in Buildroot. I found 269 >> packages that use libool: >> >> $ grep -ho 'VERSION="[0-9.]*' */ltmain.sh | sort | uniq -c | sort -n >> 1 VERSION="1.5.24 >> 1 VERSION="2.2.4 >> 3 VERSION="1.5.22 >> 5 VERSION="1.5.26 >> 13 VERSION="2.2.6 >> 29 VERSION="2.4.6 >> 67 VERSION="2.4.2 > > Your command isn't good enough... It skips ltmain.sh which are not in the top > directory, and it skips the ones where VERSION isn't quoted. I got quite a few more: > > $ for i in *.tar*; do tar tf $i | grep ltmain.sh | xargs -r tar -xf $i > --to-command="grep ^VERSION= | { grep -v '[^.]2\.4' && printf ' @@$i\\r'; } | tr > '\\n\\r' ' \\n'"; done > > VERSION=1.5.26 @@CEGUI-0.6.2b.tar.gz > VERSION="1.5.26 Debian 1.5.26-1ubuntu1" @@LiTE-0.8.10.tar.gz > VERSION=2.2.6 @@SDL-1.2.15.tar.gz > VERSION=2.2.6 @@SDL2_image-2.0.1.tar.gz > VERSION=2.2.6 @@SDL2_ttf-2.0.14.tar.gz > VERSION=2.2.6 @@SDL_image-1.2.12.tar.gz > VERSION=2.2.6 @@SDL_mixer-1.2.12.tar.gz > VERSION=2.2.6 @@SDL_net-1.2.8.tar.gz > VERSION="1.5.24 Debian 1.5.24-1ubuntu1" @@SDL_sound-1.0.3.tar.gz > VERSION=2.2.6 @@SDL_ttf-2.0.11.tar.gz > VERSION="1.5.22 Debian 1.5.22-2" @@apache-log4cxx-0.10.0.tar.gz > VERSION=2.2.6b @@arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 > VERSION=2.2.6b @@arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@argtable2-13.tar.gz > VERSION=2.2.10 @@axfsutils-64886703fdff6cfc64eb20fbe7d7295bbeec867b.tar.gz > VERSION=2.2.6 @@beecrypt-4.2.1.tar.gz > VERSION=2.2.6b @@bind-9.11.0-P3.tar.gz > VERSION=1.3.5 @@bind-9.11.0-P3.tar.gz > VERSION=2.2.7a @@binutils-2.26.1.tar.bz2 > VERSION=2.2.7a @@binutils-2.27.tar.bz2 > VERSION=1.5.22 @@boost_1_63_0.tar.bz2 > VERSION="1.5.26 Debian 1.5.26-4" @@celt-0.5.1.3.tar.gz > VERSION=1.5.22 @@clamav-0.99.2.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@collectd-5.5.1.tar.bz2 > VERSION="1.5.26 Debian 1.5.26-1ubuntu1" @@curlftpfs-0.9.2.tar.gz > VERSION=2.2.6b @@db-5.3.28.NC.tar.gz > VERSION=2.2.6 @@db-5.3.28.NC.tar.gz > VERSION=1.5.22 @@db-5.3.28.NC.tar.gz > VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@eventlog_0.2.12.tar.gz > VERSION="1.5.22 Debian 1.5.22-4" @@faad2-2.7.tar.gz > VERSION=1.4 @@fcgi-2.4.0.tar.gz > VERSION=1.5.24 @@gamin-0.1.10.tar.gz > VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 > VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 > VERSION=2.2.7a @@gcc-4.9.4.tar.bz2 > VERSION=1.5.16 @@gcc-4.9.4.tar.bz2 > VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 > VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 > VERSION=2.2.7a @@gcc-5.4.0.tar.bz2 > VERSION=1.5.16 @@gcc-5.4.0.tar.bz2 > VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 > VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 > > > VERSION=2.2.7a @@gcc-6.2.0.tar.bz2 > > > VERSION=1.5.16 @@gcc-6.2.0.tar.bz2 > > > VERSION=2.2.7a @@gdb-7.10.1.tar.xz > VERSION=2.2.7a @@gdb-7.11.1.tar.xz > VERSION="1.5.26 Debian 1.5.26-4" @@genpart-1.0.2.tar.bz2 > VERSION=1.4e @@gettext-0.19.8.1.tar.xz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@gmpc-11.8.16.tar.gz > VERSION=2.2.6b @@google-breakpad-7515ab13768c7edc09f0f2ec2354dc6c928239a6.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2" @@gtk-engines-2.20.2.tar.bz2 > VERSION=1.5.2 @@ijs-0.35.tar.bz2 > VERSION=1.5.20 @@ipkg-0.99.163.tar.gz > VERSION=1.5.22 @@jasper-1.900.1.tar.bz2 > VERSION=2.2.6b @@json-c-0.11.tar.gz > VERSION="1.5.26 Debian 1.5.26-4" @@kodi-16.1-Jarvis.tar.gz > VERSION=2.2.10 @@lame-3.99.5.tar.gz > VERSION=2.2.6 @@libart_lgpl-2.3.21.tar.gz > VERSION=2.2.4 @@libass-0.13.1.tar.xz > VERSION=1.5.6 @@libcdaudio-0.99.12p2.tar.gz > VERSION=2.2.6 @@libcddb-1.3.2.tar.bz2 > VERSION=2.2.6 @@libdaemon-0.14.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libdbus-c++-0.9.0.tar.gz > VERSION=2.2.10 @@libdmtx-0.7.4.tar.gz > VERSION=1.5.6 @@libdnet-1.11.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2" @@libeXosip2-3.6.0.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@libee-0.4.1.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libesmtp-1.0.6.tar.bz2 > VERSION=1.5.6 @@libfakekey-0.1.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@libgeotiff-1.4.0.tar.gz > VERSION=1.5.26 @@libglade-2.6.4.tar.bz2 > VERSION=1.5.22 @@libhid-0.2.16.tar.gz > VERSION=1.5.2 @@libid3tag-0.15.1b.tar.gz > VERSION="2.2.4 Debian-2.2.4-0ubuntu4" @@liblo-0.26.tar.gz > VERSION=1.5.22 @@liblog4c-localtime-v1.0.tar.gz > VERSION=1.5.2 @@libmad-0.15.1b.tar.gz > VERSION="1.5.22 Debian 1.5.22-2" @@libmatchbox-1.9.tar.bz2 > VERSION=1.5.22 @@libmcrypt-2.5.8.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2" @@libmnl-1.0.3.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" @@libmpd-11.8.17.tar.gz > VERSION="1.5.26 Debian 1.5.26-4" @@libmpeg2-0.5.1.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_conntrack-1.0.6.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_log-1.0.1.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2" @@libnetfilter_log-1.0.1.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2" @@libnfnetlink-1.0.1.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2" @@libosip2-3.6.0.tar.gz > VERSION="2.2.6 Debian-2.2.6a-4" @@libpthread-stubs-0.3.tar.bz2 > VERSION=1.5.6 @@librsync-0.9.7.tar.gz > VERSION="1.5.22 Debian 1.5.22-2" @@libsexy-0.1.11.tar.gz > VERSION=1.5.14 @@libsvg-0.1.4.tar.gz > VERSION=1.5.14 @@libsvg-cairo-0.1.6.tar.gz > VERSION=2.2.6 @@libtheora-1.1.1.tar.xz > VERSION=1.4.3 @@libunwind-1.1.tar.gz > VERSION=2.2.10 @@lzop-1.03.tar.gz > VERSION=1.5.2 @@madplay-0.15.2b.tar.gz > VERSION=1.5.6 @@mb-applet-startup-monitor-0.1.tar.bz2 > VERSION="2.2.4 Debian-2.2.4-0ubuntu4" @@mcrypt-2.6.8.tar.gz > VERSION=2.2.6b @@msgpack-0.5.4.tar.gz > VERSION=2.2.6 @@mysql-5.1.73.tar.gz > VERSION=1.5.8 @@ngrep-1.45.tar.bz2 > VERSION=1.5.26 @@php-7.1.3.tar.xz > VERSION=1.5.22 @@pjproject-2.4.5.tar.bz2 > VERSION=2.2.6 @@popt-1.16.tar.gz > VERSION=1.3.4 @@privoxy-3.0.26-stable-src.tar.gz > VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@proftpd-1.3.5d.tar.gz > VERSION=1.5.26 @@proftpd-1.3.5d.tar.gz > VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" @@proftpd-1.3.5d.tar.gz > VERSION=2.2.6 @@pthsem_2.0.8.tar.gz > VERSION=2.2.6 @@qt-everywhere-opensource-src-4.8.7.tar.gz > VERSION=2.2.7a @@rustc-1.10.0-src.tar.gz > VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz > VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz > VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz > VERSION=1.4 @@sidplay-libs-2.1.1.tar.gz > VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz > VERSION=1.5.6 @@sidplay-libs-2.1.1.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@sofia-sip-1.12.11.tar.gz > VERSION="1.5.22 Debian 1.5.22-4" @@speex-1.2rc1.tar.gz > VERSION=2.2.6 @@sqlcipher-v3.2.0.tar.gz > VERSION=1.5.6 @@startup-notification-0.9.tar.gz > VERSION=1.5.22 @@sysfsutils-2.1.0.tar.gz > VERSION=1.5.22 @@szip-2.1.tar.gz > VERSION=1.5.24 @@tn5250-0.17.4.tar.gz > VERSION=1.5.6 @@ucl-1.03.tar.gz > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@unixODBC-2.3.2.tar.gz > VERSION="2.2.6 Debian-2.2.6a-4" @@vorbis-tools-1.4.0.tar.gz > VERSION=1.4.3 @@xcursor-transparent-theme-0.1.1.tar.gz > VERSION="1.5.26 Debian 1.5.26-4" @@xf86-input-tslib-0.0.6.tar.bz2 > VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" @@xinput_calibrator-0.7.5.tar.gz > > That's 109 tarballs with some older libtool. > > Note that this just iterates over the tarballs that I have in my download > directory, there may be some old versions of packages in there. Anyway, I think > 109 out of the 2150 tarballs in that directory is still extremely small. > > Note also that in many of these, the ltmain will be in some subdirectory > containing bundled source that we don't even use. > > Note, finally, that there are also quite a few host-only packages in there > (e.g. gcc, but that one is special because it also builds stuff for the target. > It doesn't seem to install .la files, however). > > >> There 23 packages that use libtool < 2.4: >> - bellagio >> - celt051 >> - dbus-cpp >> - eventlog >> - gtk2-engines >> - lesstif >> - libargtable2 >> - libesmtp >> - liblo >> - libmhash >> - libnetfilter_conntrack >> - libnetfilter_log >> - libnfnetlink >> - libpthread-stubs >> - lite >> - log4cxx >> - matchbox-lib >> - metacity >> - sdl_sound >> - sylpheed >> - xapp_xinput-calibrator >> - xdriver_xf86-input-tslib >> - xdriver_xf86-video-imx >> >> 4 of them already call autoreconf: bellagio, dbus-cpp, libnetfilter_log, >> libnfnetlink. >> >> I am going to create a configuration with all of these packages. > > That's not necessarily sufficient: the generated .la file could be wrong, so > you have to check if packages that use it are still working correctly. > Alternatively, just check all the .la files. > > Regards, > Arnout >
Hello, On Wed, 22 Mar 2017 22:28:27 +0100, Arnout Vandecappelle wrote: > >>>> I think we can take the risk. The autobuilders will discover any issues, > >>>> which we can fix per package (e.g. with AUTORECONF = YES). > > By the way, this series also *fixes* issues. E.g. I couldn't reproduce > http://autobuild.buildroot.net/results/e8c6bdc314b9a8d5de303633a3abd7b7e44beb2e > after applying this series, whereas I could reproduce it before. So it allows to have better .la files, that help with "transitive" dependencies in static linking scenarios? Also, you don't need to convince me that we need to use the libtool sysroot support. Anything to cleanup/remove the libtool hacks that we have is welcome, so this series is definitely welcome, and I'm not trying to push back on it. It's just that Jerome's assumption was that the sysroot support was in libtool since 1.5, which is not the case, and the fact that it's only there since libtool 2.4 and we have packages using earlier libtool versions needs to be handled by the series. Thomas
Hello, On Mon, 20 Mar 2017 22:52:50 +0100, Thomas Petazzoni wrote: > On Tue, 20 Dec 2016 14:46:28 +0100, Jérôme Pouiller wrote: > > > libtool include support for cross-compilation since v1.5. > > Are you sure this is true? > > In the release notes of libtool v2.4 > (https://savannah.gnu.org/forum/forum.php?forum_id=6525), I see: So, because of this issue, I've marked patches 11 to 19 from your series as "Changes Requested". Things are indeed not as simple as "use sysroot support from libtool". Of course, it would definitely be nice to continue working on this topic, and benefit from libtool sysroot support when available. Best regards, Thomas
diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index f7b8488..bb20eec 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -192,6 +192,7 @@ define $(2)_CONFIGURE_CMDS --sysconfdir=/etc \ --localstatedir=/var \ --program-prefix="" \ + --with-sysroot \ --disable-gtk-doc \ --disable-gtk-doc-html \ --disable-doc \
libtool include support for cross-compilation since v1.5. In order to enable it, we have to pass `--with-sysroot' to `configure' script. With this option, autoconf fill `$lt_sysroot' and libtool will search libraries in `$lt_sysroot' subtree. Note Yocto force `$lt_sysroot' even if --with-sysroot is not provided: http://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> --- package/pkg-autotools.mk | 1 + 1 file changed, 1 insertion(+)