On Sat, 2005-09-03 at 23:13 -0700, Steve Langasek wrote: > On Sun, Sep 04, 2005 at 01:04:40AM +1000, skaller wrote: > > On Sat, 2005-09-03 at 04:19 -0700, Steve Langasek wrote: > > > > At the present time and given the current state of the software I > > > believe it is not in Debian's best interest that you ship a .pc file *at > > > all* upstream > > > Interesting. Hmm. Can you explain in a bit more detail > > why you think this is? > > pkg-config and libtool are both tools designed to facilitate portability > to platforms which have inferior linkers, Reading your excellent article, you explain this (excuse me duplicating text from your article): "* Glibc[] support[s] transitive dependencies .." which if I understand correctly: supposed executable E required library A, and library A requires library B, then you can link with a command like: gcc E -lA and don't need to specify -lB. Now you say to use libtool, which prunes extraneous dependencies. I actually find libtool a superior pain .. it is complex to use and makes a real mess of build scripts ;( I need more convincing on this point (I understand the pruning dependencies ..) Then you say to use 'versioned symbols in all libraries depended on by other libs' .. which makes sense .. however I could use some education here: the example: http://people.debian.org/~vorlon/dependency-hell/img9.html doesn't make any sense to me. Can you explain what it is doing? And here: http://people.debian.org/~vorlon/dependency-hell/img10.html you have an example of use of the version script: the second case is headed libtool(Makefile.am) which is a worry (I will NEVER use any auto* tools) so I would like to understand what is being done do I can duplicate it with a sane build tool (I use Python). > and in the process they > duplicate information already provided by ELF libraries on GNU/Linux in > a manner that makes dependency changes more rigid and fragile. Yup, that I understand. The system should calculate the transitive closure of the dependencies. > http://people.debian.org/~vorlon/dependency-hell/ > > > It does seem 'contrary' in some way to Debian's policy > > of things going in particular places .. yet people don't > > always actually put them there .. :) > > I really have no idea what you're referring to here. On an arbitrary system, to use some libary K, you cannot just write -lK on your link command, because the library will only be sought in standard locations.. you need to add -Lpath so the linker can actually find the library. My commend meant 'Debian policy says to put libraries in /usr/lib' which means in theory you don't need any -L switches (more or less), however some packages don't conform to this policy, so you may still need -L switches: that's what I meant .. :) -- John Skaller <skaller at users dot sourceforge dot net>
Attachment:
signature.asc
Description: This is a digitally signed message part