[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ 100058 ] 1.4 - $buildir-path may not contain "~"

From: Gary V . Vaughan
Subject: Re: [ 100058 ] 1.4 - $buildir-path may not contain "~"
Date: Sat, 16 Jun 2001 15:22:19 +0100

Your analysis is correct.  Unfortunately, libtool needs to execute multi-line 
commands which may contain for loops or if statements, and so setting IFS to 
';' breaks.  Conceivably we could teach libtool more about parsing shell 
code, but it is already far too slow for that to be a practical solution.

We chose '~' as the magic character because most shell users associate it 
with home directory substitution and emacs backup files and don't use it in 
the path to a project source file.  Choosing another character is a feasible 
solution, though you have to bear in mind that the libtool source code goes 
through m4, sed and bourne shell, as well as having an autoconf pass to 
subsitute configure time vars, so the quoting is hairy and sensitive to 
change.  Meta characters to sed, m4, autoconf or any shell that might execute 
libtool are all bad choices.

Perhaps the problem will go away when we have a binary ltmain in a couple of 

In the mean while, I think the only workaround is to not use '~' in pathnames.


On Thursday 14 June 2001  7:10 am, address@hidden wrote:
> Support Request #100058, was updated on 2001-Jun-13 23:10
> You can respond by visiting:
> Category: None
> Status: Open
> Priority: 5
> Summary: 1.4 - $buildir-path may not contain "~"
> By: guidod
> Date: 2001-Jun-13 23:10
> Message:
> Logged In: YES
> user_id=614
> Browser: Mozilla/4.7 [en] (X11; U; SunOS 5.6 sun4u)
> With the change from 1.3.5 to 1.4
> all project builds broke. It boiled
> down to the project-path to have a
> "~" somewhere in the middle, i.e.
> some/project~0.1.3/dir which is
> perfectly legal, but at some point
> during mode=linking, the libtool
> script will barf at "0.1.3/dir"
> being nonexistent - it probably
> has to do with libtool storing some
> command-sequences using a IFS="~"
> (delimiter instead of a IFS=";").
> Note that the project-path is not
> my choice but the one of the local
> source-repository system, and that
> it does not help to use symlinks to
> circumvent the problem - libtool
> seems to resolve names for relative
> paths to the real-path, i.e. sth.
> like -L.. will contain a "~" later.
> Since earlier versions had allowed
> the buildpath to contain "~", it is
> probably possible to fix this issue,
> but what to do before that? Is there
> a way to get around the problem now?
> ----------------------------------------------------------------------
> You can respond by visiting:
> _______________________________________________
> Libtool mailing list
> address@hidden

  ())_.  Gary V. Vaughan     gary@(|
  ( '/   Research Scientist        ,_())____
  / )=   GNU Hacker   \'      `&
`(_~)_   Tech' Author    =`---d__/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]