![](https://seccdn.libravatar.org/avatar/7946a5581e1e0b25e548f2b41c69d273.jpg?s=120&d=mm&r=g)
On Tue, 2008-11-18 at 12:07 +0000, Dave Howorth wrote:
Dominique Leuenberger wrote:
http://en.opensuse.org/Packaging/Shared_Library_Packaging_Policy
Interesting. I have a couple of dumb questions:
There doesn't seem to be any discussion about installing both 32-bit and 64-bit versions. Does that mean there are no issues? How are the packages distinguished?
My dumb question is: When the .so file is installed from the -devel package, should it symlink to the lib with the major number only, or the lib with the major and minor numbers? This will, of course, effect the lib any programs that are built will want at runtime: it will want the one that the .so was symlinked linked to at link time on the system on which it was built, NOT where it points at runtime in the system it runs on. Which is of course why this useful doc exists in the first place. But I missed this point. Whichever one it links to is the only one that needs to be distributed, because that is the only one that will be looked for. I think that as long as the choice is allowed, there will be confusion. Perhaps the -devel package should do symlinks as: libX.so -> libX.so.1 libX.1.2.3.so -> libX.so.1.2.3 So, if I use -lX, I get the major release version. After all, I was not specific. If I use -lX.1.2.3, I get the very specific version. It is fully backwards compatible. The use of '.' or '-' or '_' is a detail. I remember that the AT&T SVR4 compiler had an option when making libs that told what file should be looked for at runtime - independent of the name of the file that was linked when a program was made. Madness, you say? Perhaps. But the intention was that, no matter what the ultimate sym link pointed to at program compile built time, the library would tell what should be looked for at runtime. When the library is built, the decision is made. What it is called in the various places it may get installed (.so. or so.major or .so.major.minor) was not important. All those odd local links need not be distributed in a runtime lib. Only the original name used when the lib was made is delivered. Not a bad feature, IMHO.
Exceptions (1) Shared libraries which are used solely and only by programs from the containing main package ... - ... - no devel files for those shared libs are packaged anywhere ...
Perhaps I'm being dumb, but how is the main package built if there are no devel files?
Cheers, Dave
-- Roger Oberholtzer OPQ Systems / Ramböll RST Ramböll Sverige AB Krukmakargatan 21 P.O. Box 17009 SE-104 62 Stockholm, Sweden Office: Int +46 8-615 60 20 Mobile: Int +46 70-815 1696 -- "On two occasions I have been asked (by members of Parliament!), 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage 1791-1871) English computer pioneer, philosopher And remember: It is RSofT and there is always something under construction. It is like talking about large city with all constructions finished. Not impossible, but very unlikely. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org