Subject: Re: libtool question...
To: Todd Vierling <tv@wasabisystems.com>
From: Nick Hudson <skrll@netbsd.org>
List: tech-pkg
Date: 03/22/2001 16:47:19
Todd Vierling wrote:
>
> On Thu, 22 Mar 2001, Nick Hudson wrote:
>
> : > Oh yeah, I got the links and real library the wrong way round. What was
> : > I thinking!
> :
> : Actually no I didn't. I'm confusing myself...
> :
> : The real library is always the one with ${maj}.${min}[.${teeny}]
> : appended. libtool follows links and so your ELF pattern won't match.
>
> Uh, that's annoying; I see the code block that uses ls(1) to resolve the
> symlinks. And precisely why does it do that? For a program which opens the
> file and examines its contents (such as file(1)), resolving the symlink
> shouldn't be necessary--and in this name-matching case, it's actually
> detrimental.
Hey, those libtool guys are certainly maintaining a curious beast.
A quick trawl through libtool.m4 reveals at least 4 instances of a file
command without a -L option and looking at SUSv2 it seems as though
there is no standard for such an option. So presumably they implemented
the link following for file in libtool.
> The problem with this is that the needed ELF symlink may not exist even
> though a library of the form libNAME.so.1.2.3 (note three components) does.
> I suppose, then, that the pattern could be made into a non-object-format
> dependent such as the following:
>
> {lt_cv_deplibs_check_method='file_magic /lib[^/\.]*\.so(\.[0-9]+)+$'}
>
> Note the (\.[0-9]+)+$ ... this ensures that at least one version number
> component is present in the library it's trying to resolve.
>
> : Are we heading towards a lt_cv_deplibs_check_method='match_pattern ...'
> : option for libtool?
>
> Possibly, if you're in a position to implement it. That's essentially what
> the file_magic_cmd='echo' does....
I'm looking for the best way to go here
1) Make a change to file_magic so that it doesn't follow links unless
it's told to do so.
2) Add a new option like match_pattern that does what
file_magic_cmd='echo' should do.
Maybe I should ask on the libtool lists...
Nick
--
aka skrll@netbsd.org, skrll@excite.co.uk