Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 37362 - cloop 2.0 ebuild improperly checks for zlib support in kernel
Summary: cloop 2.0 ebuild improperly checks for zlib support in kernel
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-05 20:16 UTC by Justin Whitney
Modified: 2004-10-03 11:07 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Whitney 2004-01-05 20:16:23 UTC
the cloop-2.00.ebuild tells you to enable zlib compression/deflation but fails to warn you to enable at least one option in order to link zlib into the kernel.  As a result, the ebuild will compile/install a bad cloop.o and not tell you about it.

Reproducible: Always
Steps to Reproduce:
1. enable the two zlib options (inflate/deflate) in your 2.4.x kernel config, but enable no further options that make use of zlib.
2. emerge cloop (2.0)
3. the ebuild succeeds, but do a depmod -a and see the unresolved symbols

Actual Results:  
the ebuild succeeds, but the cloop.o module is borked due to unresolved symbols.

Expected Results:  
succes, or failure ala cloop-0.68 ebuild, anthing but the current result.  The
ebuild should have either A) done an nm | grep -i zlib on
/usr/src/linux/System.map or B) checked the CONFIG_ options to ensure that zlib
support was in fact present in the configured kernel.  the .68 ebuild warns you
to this effect by checking the config options
Comment 1 Justin Whitney 2004-01-05 20:20:20 UTC
oops dunno what the hell that nm | grep -i was all about - should have been grep -i zlib in /usr/src/linux/System.map, or similar.
Comment 2 Axxackall 2004-01-15 02:32:04 UTC
Which options do make use of zlib?
Comment 3 Justin Whitney 2004-01-15 23:36:49 UTC
See the 0.68 ebuild, it performs the check i refer to here, and on failure reports what you *could* have enabled in order for the ebuild to succeed.  Examples include things like ppp with compression (maybe just ppp?) deflate crypto algorithms, iso9660 with the transparent com/decomp option, etc.
Comment 4 SpanKY gentoo-dev 2004-10-03 00:28:51 UTC
the 2.00 ebuild has this:

    . ${KERNEL_DIR}/.config || die "kernel has not been configured yet"
    [ "$CONFIG_ZLIB_INFLATE" != "y" ] && badconfig
    [ "$CONFIG_ZLIB_DEFLATE" != "y" ] && badconfig

that falls under your second solution ...

if i missed something, please re-open with more info about what needs to be done to resolve this
Comment 5 Justin Whitney 2004-10-03 07:37:26 UTC
I'm not touching the status - it's been months since this bug has lain dormant and I haven't checked cloop since then.  Please decide for yourself whether a new cloop or new kernel somehow solves this.  That said:

that wouldn't help - that checks for zlib support, as you know.  The problem is, even with those options checked off, and the zlib objects built, nothing will link against them unless it has to.  In other words, if the user doesn't enable any of the options that *use* zlib,  "the iso9660 transparent compression support" for example, then it doesn't get linked, and a later module trying to use these functions doesn't work because they never got linked into the kernel.

So, kernel prerequisites are BOTH OF THE FOLLOWING a) what you have below b) one of the many options I reference in "the 0.68 ebuild" (below) being enabled.
Comment 6 SpanKY gentoo-dev 2004-10-03 11:07:57 UTC
hmm, i wonder if that is a gcc bug then ... and/or the kernel peeps have added gcc attribute calls to work around this ...

if you enable features, they shouldnt be stripped from the kernel simply because they never get used by things you've added ...

ive never used cloop before so i cant really test it myself :/