[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
RE: Two questions about making rpms work on multiple OS versions
- From: "Wichmann, Mats D" <mats d wichmann intel com>
- To: "RPM Package Manager" <rpm-list redhat com>
- Subject: RE: Two questions about making rpms work on multiple OS versions
- Date: Sun, 26 Mar 2006 05:44:10 -0800
>> No it wouldn't. If you *build* fish against libc.so.6, at compile
time
>> the linker puts a dependency on libc.so.6 into the fish binary. The
>> rpm dependency checker notes this. Now, if you CAN run fish against
>> libc.so.5, that's fine, but the version you just built will NOT work
>> against it because symbols are different sizes, etc, which is why the
>> specific version is recorded in the dependency. In order to
>work against
>> libc.so.5, you need to build against libc.so.5. (And that
>binary won't
>> then work on a libc.so.6 system.)
>
>I was under the (apparently incorrect) impression that LSB protected
>me from this when only using libc. The fact that I've used a fish
>version compiled on FC5 under FC4 the last few days with no issues
>also helped. I guess I was simply lucky.
The LSB doesn't help with glibc major-version changes, as the
library version (.so.1, .so.6, etc.) is actually present in the
compiled binary. And so each LSB version does have specific
major-version requirements. Except for the C++ library these
have not changed much over time.
On the packaging side, the LSB provides a meta-dependency to abstract
away the problem that was being asked about originally - it you
depend on lsb=3.0 and LSB 3.0 requires X to be present, you don't
have to worry about the package or filenames tha provide it. On
the downside, not evrey system conforms to the LSB, but it may
still be worth a look.
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]