Bug 121494 - emulators/linux_base-fc4 missing /usr/lib/librt.so.1
Summary: emulators/linux_base-fc4 missing /usr/lib/librt.so.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-emulation (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-08 15:10 UTC by Jason W. Bacon
Modified: 2008-04-19 22:00 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason W. Bacon freebsd_committer freebsd_triage 2008-03-08 15:10:01 UTC
The linux_base-fc4 port does not install /compat/linux/usr/lib/librt.so.1, which is required by some linux binaries in linux_base-fc4.

Fix: 

Workaround:

ln -s /compat/linux/lib/librt.so.1 /compat/linux/usr/lib
How-To-Repeat: 1. Install linux_base-fc4
2. Run /compat/linux/bin/sh
3. Run 'ls'

sh-3.00# ls
ls: error while loading shared libraries: /usr/lib/librt.so.1 ELF file OS ABI invalid
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2008-03-08 22:32:55 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-emulation

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2008-04-19 21:51:18 UTC
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
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 3 Boris Samorodov freebsd_committer freebsd_triage 2008-04-19 21:53:20 UTC
State Changed
From-To: open->closed

The port was patched, thanks for the report!