cvs commit: ports/emulators/linux_base-fc4 Makefile pkg-install
pkg-plist
Boris Samorodov
bsam at FreeBSD.org
Sat Apr 19 20:51:13 UTC 2008
bsam 2008-04-19 20:51:13 UTC
FreeBSD ports repository
Modified files:
emulators/linux_base-fc4 Makefile pkg-install pkg-plist
Log:
1. Add a symlink from /compat/linux/lib/librt.so.1 to
/compat/linux/usr/lib/librt.so.1. This bug exists only
at linux_base-fc4 _and_ osrelease=2.4.2.
2. Bump PORTREVISION.
Note: The symlink is created at pkg-install script since the first
run of '/compat/linux/sbin/ldconfig -r /compat/linux' seems to remove
the link.
Tijl Coosemans <tijl at ulyssis.org>:
-----
This is not really a bug of linux compat, but is because of the
following:
1. opening /path/to/somefile under linux compat first tries
/compat/linux/path/to/somefile then /path/to/somefile.
2. linux binaries have two search paths for librt.so.1:
/lib and /usr/lib.
3. fc4 has a librt.so.1 in /lib but it is rejected under 2.4.2
emulation.
4. fc4 does not have a librt.so.1 under /usr/lib so when the runtime
linker tries this search path it ends up opening FreeBSD
/usr/lib/librt.so.1 (because of point 1) and fails.
By adding a softlink in /compat/linux/usr/lib to the librt.so.1 in
/compat/linux/lib, the linker doesn't open the FreeBSD librt.so.1
anymore. Instead, under 2.4.2, it rejects this lib and then tries an
internal search path /lib/obsolete/linuxthreads where it finds the
correct version. Under 2.6.16 the softlink doesn't change anything,
so imho this is something the fc4 port/package should deal with.
-----
PR: 121494
Submitted by: Jason Bacon <jwbacon at tds.net>
Convinced by: Tijl Coosemans <tijl at ulyssis.org>
Patched by: bsam (me)
Revision Changes Path
1.28 +1 -1 ports/emulators/linux_base-fc4/Makefile
1.6 +5 -0 ports/emulators/linux_base-fc4/pkg-install
1.14 +1 -0 ports/emulators/linux_base-fc4/pkg-plist
More information about the cvs-ports
mailing list