Re: SUMMARY: Re: shared library -dev package naming proposal
> > - Kill the .la files and .a files. Drop support for static linking. Not
> > something that should be done lightly and without prior project-wide
> > discussion.
> > - Leave the .la files in place; -dev packages need to depend on -dev
> > packages corresponding to those runtime dependencies that are also
> > built using libtool. This is the status quo.
> - Option 4 (requires volunteers): fix libtool
Blankly stating that libtool needs to be 'fixed'
because it is 'broken' is not very helpful.
Would you care to explain what needs to be fixed and why
it is broken? Good working examples would be good.
The following are background informations, please do comment
if you find something is wrong about these:
libnewt is an example library that requires libslang.
The names are just symbollic; they just represent
fact 1: shared library
gcc -lnewt a.c
should work, since slang dependency is declared in NEEDED field
of libnewt.so, which the link will be resolved at run-time.
fact 2: static library
gcc -lslang -lnewt a.c
is required for static lib linking, since .a files do not have
dependency information, and symbols need to be resolved at link time.
fact 3: libtool library
libtool tries to implement a wrapper around shared library and
static library, so that both of them can be uniformly processed,
and allows specifying just:
libtool cc -lnewt a.c
(implementation detail: .la files contain the dependency
information for .a).
Packages Build-Depend on -dev packages they directly require,
thus a package requiring newt will Build-Depend on libnewt-dev,
but not libslang2-dev.
libnewt-dev will need to Depend on libslang2-dev, or
static lib compilation with libtool will break.
Junichi Uekawa, Debian Developer http://www.netfort.gr.jp/~dancer/
183A 70FC 4732 1B87 57A5 CE82 D837 7D4E E81E 55C1