On 2016-08-13 00:06, Richard Purdie wrote:
> On Fri, 2016-08-12 at 22:06 +0200, Jan Engelhardt wrote:
>> Given certain circumstances, libtool 2.4.2 fails to install a
>> library. 
>> (a) The target directory spec contains a trailing slash
>> (b) The library to install is linking to another just-built one in a 
>> different path.
> 
> FWIW we have this patch:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-devtools/libtool/libtool/trailingslash.patch
> 
> which seems to help. We've never been able to clean it up enough to
> submit upstream or have a reliable test case for it though :(
> 
> Cheers,
> 
> Richard
> 
> [patch follows below]
> 
> A command like /bin/sh ../../i586-poky-linux-libtool   --mode=install 
> /usr/bin/install -c   gck-roots-store-standalone.la 
> '/media/data1/builds/poky1/tmp/work/core2-poky-linux/gnome-keyring-2.26.1-r1/image/usr/lib/gnome-keyring/standalone/'
>  fails (e.g. gnome-keyring or pulseaudio)
> 
> This is because libdir has a trailing slash which breaks the comparison.
> 
> RP 2/1/10
> 
> Merged a patch received from Gary Thomas <g...@mlbassoc.com>
> 
> Date: 2010/07/12
> Nitin A Kamble <nitin.a.kam...@intel.com>
> 
> Updated by: Robert Yang <liezhi.y...@windriver.com>
> 
> diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
> --- a/build-aux/ltmain.in
> +++ b/build-aux/ltmain.in
> @@ -2356,8 +2356,15 @@ func_mode_install ()
>       func_append dir "$objdir"
>  
>       if test -n "$relink_command"; then
> +      # Strip any trailing slash from the destination.
> +      func_stripname '' '/' "$libdir"
> +      destlibdir=$func_stripname_result
> +
> +      func_stripname '' '/' "$destdir"
> +      s_destdir=$func_stripname_result
> +

Careful!

I think you need to handle / and // specifically for that to be correct<tm>.

Cheers,
Peter

>         # Determine the prefix the user has applied to our future dir.
> -       inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
> +       inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
>  
>         # Don't allow the user to place us outside of our expected
>         # location b/c this prevents finding dependent libraries that
> 
> _______________________________________________
> https://lists.gnu.org/mailman/listinfo/libtool
> 

_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool

Reply via email to