FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 05-02-2010, 11:10 AM
Julien Cristau
 
Default Confused by .la file removal vs static linking support

On Sun, May 2, 2010 at 11:46:23 +0100, Neil Williams wrote:

> (To actually statically link without the .la (or with an .la 'mangled'
> to empty the dependency_libs field) largely amounts to reconstructing
> the information that was in the .la originally. That should be
> sufficient disincentive to try to statically link at all. Hence, is it
> worth wasting archive space on the inevitably much larger .a files?)
>
Static linking is resolved by providing a foo.pc file so that "pkg-config
--static --libs foo" is all that's needed to find the right libs.

Cheers,
Julien
 
Old 05-02-2010, 11:30 AM
"Nikita V. Youshchenko"
 
Default Confused by .la file removal vs static linking support

> On Sun, May 2, 2010 at 11:46:23 +0100, Neil Williams wrote:
> > (To actually statically link without the .la (or with an .la 'mangled'
> > to empty the dependency_libs field) largely amounts to reconstructing
> > the information that was in the .la originally. That should be
> > sufficient disincentive to try to statically link at all. Hence, is it
> > worth wasting archive space on the inevitably much larger .a files?)
>
> Static linking is resolved by providing a foo.pc file so that
> "pkg-config --static --libs foo" is all that's needed to find the right
> libs.

This does not clarify the question about dependences.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 201005021530.38211@blacky.localdomain">http://lists.debian.org/201005021530.38211@blacky.localdomain
 
Old 05-02-2010, 11:31 AM
"Bernhard R. Link"
 
Default Confused by .la file removal vs static linking support

* Nikita V. Youshchenko <yoush@debian.org> [100502 11:27]:
> (3) looks like plain inconsistency: package will provide .a file, but not
> ensure things required for using .a file into system.

I think (3) is the best you can do if you assume the .a file is usefull
to anyone. If someone wants to link to the .a file, they will need to
give the other libraries anyway, so why not also install those
individually?

Also remember that "The Depends field should be used if the depended-on
package is required for the depending package to provide a significant
amount of functionality.".

Even without those other development packages, most of the functionality
is still there, so I think that is the perfect example for a "Suggests".

Hochachtungsvoll,
Bernhard R. Link


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100502113154.GA24297@pcpool00.mathematik.uni-freiburg.de">http://lists.debian.org/20100502113154.GA24297@pcpool00.mathematik.uni-freiburg.de
 
Old 05-02-2010, 11:46 AM
Julien Cristau
 
Default Confused by .la file removal vs static linking support

On Sun, May 2, 2010 at 15:30:37 +0400, Nikita V. Youshchenko wrote:

> > On Sun, May 2, 2010 at 11:46:23 +0100, Neil Williams wrote:
> > > (To actually statically link without the .la (or with an .la 'mangled'
> > > to empty the dependency_libs field) largely amounts to reconstructing
> > > the information that was in the .la originally. That should be
> > > sufficient disincentive to try to statically link at all. Hence, is it
> > > worth wasting archive space on the inevitably much larger .a files?)
> >
> > Static linking is resolved by providing a foo.pc file so that
> > "pkg-config --static --libs foo" is all that's needed to find the right
> > libs.
>
> This does not clarify the question about dependences.
>
It does, because foo.pc won't work without its dependencies installed
(even if you're not using --static; they're needed for --cflags).

Cheers,
Julien
 
Old 05-02-2010, 02:56 PM
Frans Pop
 
Default Confused by .la file removal vs static linking support

Neil Williams wrote:
> But does any package in Debian actually do the static linking?

A few udebs use static linking to avoid the need for separate udebs for
certain libraries. It also helps to reduce memory usage as only needed
symbols are linked in.

It's only used in a few specific cases; the normal practice is to provide a
library from a udeb.

Cheers,
FJP


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 201005021656.02073.elendil@planet.nl">http://lists.debian.org/201005021656.02073.elendil@planet.nl
 
Old 05-02-2010, 04:57 PM
"Steve M. Robbins"
 
Default Confused by .la file removal vs static linking support

I'm a little alarmed at the attitude that "no one cares about static
linking" so that it's okay to drop the .a files. Likely relatively
few people care, but there are some that do.

One example is scientific users that need to ensure reproducibility of
computer experiments [1] over many years: one technique used is to
statically link the code and quarantine it so that it isn't disturbed
by system library upgrades. It's not the only technique used, of
course, but "our priorities are our users" so let's think hard before
removing this option for them.

To the original poster's question, it seems to me that [2] is
reasonably clear that the request is to drop the .la file. I wouldn't
necessarily downgrade the -dev package dependencies: often they are
there not only for the static lib, but also because your library's
includes will #include files from other libs it depends on, so all
users of your -dev package may need the depended-upon -devs. So it
will depend on the situation at hand.

-Steve

[1] http://lists.debian.org/debian-science/2010/04/msg00037.html
[2] http://lists.debian.org/debian-devel/2009/08/msg00808.html
 
Old 05-02-2010, 05:18 PM
"Nikita V. Youshchenko"
 
Default Confused by .la file removal vs static linking support

> On Sun, May 2, 2010 at 15:30:37 +0400, Nikita V. Youshchenko wrote:
> > > On Sun, May 2, 2010 at 11:46:23 +0100, Neil Williams wrote:
> > > > (To actually statically link without the .la (or with an .la
> > > > 'mangled' to empty the dependency_libs field) largely amounts to
> > > > reconstructing the information that was in the .la originally.
> > > > That should be sufficient disincentive to try to statically link
> > > > at all. Hence, is it worth wasting archive space on the inevitably
> > > > much larger .a files?)
> > >
> > > Static linking is resolved by providing a foo.pc file so that
> > > "pkg-config --static --libs foo" is all that's needed to find the
> > > right libs.
> >
> > This does not clarify the question about dependences.
>
> It does, because foo.pc won't work without its dependencies installed
> (even if you're not using --static; they're needed for --cflags).

What for?
 
Old 05-02-2010, 05:24 PM
"Nikita V. Youshchenko"
 
Default Confused by .la file removal vs static linking support

> I wouldn't
> necessarily downgrade the -dev package dependencies: often they are
> there not only for the static lib, but also because your library's
> includes will #include files from other libs it depends on, so all
> users of your -dev package may need the depended-upon -devs. So it
> will depend on the situation at hand.

With libetpan, it is not the case.

Several libs (libdb, libcurl, libsasl, libexpat, liblockfile) are used by
libetpan internally, but none of their interfaces is experted by libetpan,
and none of headers of those libraries is included by any public libetpan
header.

In this case, dependences on those -dev packages are only because of (1)
dependemcy_libs in .la file, and (2) support for static linking.
 
Old 05-02-2010, 06:06 PM
Samuel Thibault
 
Default Confused by .la file removal vs static linking support

Nikita V. Youshchenko, le Sun 02 May 2010 21:18:26 +0400, a écrit :
> > On Sun, May 2, 2010 at 15:30:37 +0400, Nikita V. Youshchenko wrote:
> > > > On Sun, May 2, 2010 at 11:46:23 +0100, Neil Williams wrote:
> > > > > (To actually statically link without the .la (or with an .la
> > > > > 'mangled' to empty the dependency_libs field) largely amounts to
> > > > > reconstructing the information that was in the .la originally.
> > > > > That should be sufficient disincentive to try to statically link
> > > > > at all. Hence, is it worth wasting archive space on the inevitably
> > > > > much larger .a files?)
> > > >
> > > > Static linking is resolved by providing a foo.pc file so that
> > > > "pkg-config --static --libs foo" is all that's needed to find the
> > > > right libs.
> > >
> > > This does not clarify the question about dependences.
> >
> > It does, because foo.pc won't work without its dependencies installed
> > (even if you're not using --static; they're needed for --cflags).
>
> What for?

For #includes that your library may do for its API (e.g. gobject).

Samuel


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100502180612.GM27636@const.famille.thibault.fr"> http://lists.debian.org/20100502180612.GM27636@const.famille.thibault.fr
 
Old 05-02-2010, 07:54 PM
"Nikita V. Youshchenko"
 
Default Confused by .la file removal vs static linking support

> > > > > Static linking is resolved by providing a foo.pc file so that
> > > > > "pkg-config --static --libs foo" is all that's needed to find
> > > > > the right libs.
> > > >
> > > > This does not clarify the question about dependences.
> > >
> > > It does, because foo.pc won't work without its dependencies
> > > installed (even if you're not using --static; they're needed for
> > > --cflags).
> >
> > What for?
>
> For #includes that your library may do for its API (e.g. gobject).

But libetpan's public headers do not include any headers of those dependent
packages, so it is not the case.

Any other reason?
 

Thread Tools




All times are GMT. The time now is 04:10 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org