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

Reply via email to