Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 251935 - dev-util/freeride installs a corrupted elf shared object
Summary: dev-util/freeride installs a corrupted elf shared object
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High QA (vote)
Assignee: Gentoo Ruby Team
Depends on:
Blocks: prestripped
  Show dependency tree
Reported: 2008-12-21 20:44 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2009-08-14 09:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-12-21 20:44:30 UTC
dev-util/freeride-0.9.6:20081214-173509.log:  * QA Notice: Pre-stripped files found:
dev-util/freeride-0.9.6:20081214-173509.log:  * /var/tmp/portage/dev-util/freeride-0.9.6/image/usr/lib/ruby/site_ruby/freeride/redist/i686-linux/

Portage warns about pre-stripped files being installed into the image directory; this is a bad thing since it makes Portage's splitdebug feature useless, and it stops the users and the developers from looking into backtraces with full debug information available.

For the developers going to look into it, what you have to look out for, to
find what is stripping the files, is one of these conditions:

- explicit "strip" command run on the produced files;
- "install -s" command to install the binary files;
- "-Wl,-s" flag passed during linking

Remove the "strip" commands, remove the "-s" option at install, and remove
"-Wl,-s" and the problem should be gone.

Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-12-28 17:31:13 UTC
yamato / # ls -l /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
-rwxr-xr-x 1 root root 837 Dec 14 17:35 /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
yamato / # ls -lh /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
-rwxr-xr-x 1 root root 837 Dec 14 17:35 /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
yamato / # eu-readelf -d /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
yamato / # eu-readelf -s /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
yamato / # eu-readelf -S /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
There are 32 section headers, starting at offset 0x3740:

Section Headers:
[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk Inf Al

I think freeride actually installs BROKEN elf files.

Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-12-28 17:41:56 UTC
yamato / # readelf -h /usr/lib/ruby/site_ruby/freeride/redist/i686-linux/
readelf: Error: Unable to read in 0x28 bytes of section headers
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0x710
  Start of program headers:          52 (bytes into file)
  Start of section headers:          14144 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         4
  Size of section headers:           40 (bytes)
  Number of section headers:         32
  Section header string table index: 29
readelf: Error: Unable to read in 0x500 bytes of section headers
readelf: Error: Unable to read in 0xd8 bytes of dynamic section
Comment 3 Hans de Graaff gentoo-dev Security 2008-12-29 09:36:57 UTC
These .so files are shipped by upstream because (from redist/README(:

  - It makes things easier for the FreeRIDE users. FreeRIDE works
    out of the box.

  - It eases developer works because we know exactly what module
    version we are working with.

The upstream archive does not seem to provide a way to rebuild these modules. I guess it should be possible to find the original packages and install them as dependencies, but that is going to be quite a bit of work.

+1 on removal by treecleaners from me, unless someone wants to maintain this.
Comment 4 Matti Bickel (RETIRED) gentoo-dev 2009-06-13 21:34:32 UTC
I tried. But freeride is broken anyway, as it depends on fxruby:1.4 only, which is only very vaguely supported upstream.

Sad, but it's removal is actually a good thing.
Comment 5 Hans de Graaff gentoo-dev Security 2009-07-13 07:29:00 UTC
The package never got properly masked, so I've just done this. Will be removed in 30 days.
Comment 6 Hans de Graaff gentoo-dev Security 2009-08-14 09:13:27 UTC
dev-util/freeride has now been removed from the tree.