Stuart,
If I add a patch to libtool (that fixes an issue using file-5.14 on
Ubuntu-14.04 to identified shared objects; patch attached) and then rm
.host_wait_warning* and rerun ltib, the host version of libtool does
_not_ get rebuilt while installing host support packages.
This is due to the ./ltib script code:
my $spec_upd = @rpms && ( (stat($spec))[9] > (stat($rpms[0]))[9] )
&& ! $cf->{hostinst};
that prevents:
$r .= "spec file newer than rpm, " if $spec_upd;
from being executed whcich would trigger the rebuild.
Any idea why in CVS version 1.26 you conditionalised $spec_upd on not
forcing a build for the host?
In my world I use LTIB as part of continuous integration project on
multiple build servers (since I have nearly a dozen different build
configurations) and the build servers out of sync compared to my
workstation (since I ran "./ltib --hostcf -p libtool" to rebuild on my
workstation). On the build servers I have to forcibly remove the
libtool host .rpm to get them back in sync on the next build.
Thanks in advance!
--
Peter Barada
[email protected]
file-5.14 on Ubuntu 14.04 identifies shared objects as:
peter@laptop:~/work/ltib$ file --version
file-5.14
magic file from /etc/magic:/usr/share/misc/magic
peter@turbo:~/work/ltib$ file rootfs/lib/libc-2.8.so
rootfs/lib/libc-2.8.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
Note the double space in "LSB shared object".
file-5.11 on Ubuntu 13.10 identifies shared objecfts as:
peter@laptop:~/work/ltib$ file --version
file-5.11
magic file from /etc/magic:/usr/share/misc/magic
peter@laptop:~/work/ltib$ file rootfs/lib/libc-2.8.so
rootfs/lib/libc-2.8.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
Not the single space(s) in "LSB shared obhect".
To fix this, modifiy the Libtool lt_cv_deplibs_check_method in the
linux clause to check for multiple spaces between the significant bit
designator and the shared object/dynamic lib strings.
--- libtool-1.5/acinclude.m4 2003-04-14 18:29:13.000000000 -0400
+++ libtool-1.5.modified/acinclude.m4 2014-07-16 09:48:09.483572663 -0400
@@ -2171,7 +2171,7 @@
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB[ ]+(shared object|dynamic lib )' ;;
esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
diff --exclude CVS --exclude .git -uNr libtool-1.5/libtool.m4 libtool-1.5.modified/libtool.m4
--- libtool-1.5/libtool.m4 2003-04-14 17:58:23.000000000 -0400
+++ libtool-1.5.modified/libtool.m4 2014-07-07 15:07:06.679038898 -0400
@@ -2171,7 +2171,7 @@
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB[ ]+(shared object|dynamic lib )' ;;
esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
_______________________________________________
LTIB home page: http://ltib.org
Ltib mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/ltib