Re: Trailing slash in directory spec confuses libtool

Peter Rosin <[email protected]>
Newsgroups gmane.comp.gnu.libtool.general
Message-ID <[email protected]>

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 <[email protected]>
> 
> Date: 2010/07/12
> Nitin A Kamble <[email protected]>
> 
> Updated by: Robert Yang <[email protected]>
> 
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.