On 10/05/2010 02:04 PM, Angelo Arrifano wrote:
> You can extract from a .la things like the library name, version and
> linking information (lib dependencies and paths). The information is
> there and nothing prevented anyone from using it.
>>
>> Can you provide any specific use case, or are you now arguing for
>> "choice for choice's sake"?
> 
> There are a lot of packages that need this information to correctly link
> against libtool managed libraries, for example, there are packages that
> linked against GL but didn't set -lGL -lGLU because it was relying on
> libtool to get that information (guess from where?). Things get worse
> when they also expect libtool to also provide libraries path. There are
> even packages that expects libtool to provide linker flags for its
> direct dependencies and flags for the dependencies of its dependencies.
> For example:
> foo links with GL (expects libtool to provide -lGL -lGLU)
> foo also links with the backend of GL (expects libtool to provide -lX11
> for example, which is a dependency of GL)

Yeah, that's called overlinking[1]. There's no need to link to -lX11 if
really only -lGL is required. Exactly what we are trying to protect
users from.

Full stop.

[1] http://wiki.mandriva.com/en/Libtool_archives#shared_build

"Worse, default libtool causes overlinking when it uses *.la."

- Samuli

Reply via email to