sys-apps/cloop checks whether ZLIB_*FLATE have been set to "y" in the kernel config, but simply defining those isn't sufficient to cause the library routines to be included in the kernel. The linker will not load them into the kernel image if nothing calls them. /usr/src/linux/lib/Config.in lists the symbols that require ZLIB_*FLATE. The ebuild could check for those symbols, or just include a message warning the user to configure at least one of them. Reproducible: Always Steps to Reproduce: 1.emerge sys-apps/cloop 2.depmod -a 3.insmod cloop Actual Results: # depmod -a depmod: *** Unresolved symbols in /lib/modules/2.4.22/misc/cloop.o # insmod cloop Using /lib/modules/2.4.22/misc/cloop.o /lib/modules/2.4.22/misc/cloop.o: unresolved symbol zlib_inflate /lib/modules/2.4.22/misc/cloop.o: unresolved symbol zlib_inflate_workspacesize /lib/modules/2.4.22/misc/cloop.o: unresolved symbol zlib_inflateInit_ /lib/modules/2.4.22/misc/cloop.o: unresolved symbol zlib_inflateReset /lib/modules/2.4.22/misc/cloop.o: unresolved symbol zlib_inflateEnd This happens with kernels 2.4.21 and 2.4.22.
Thanks for pointing this out! I've updated the ebuild to work out what the required symbols are, and to check whether any of them are enabled. If not, the ebuild dies. I figured a warning would just scroll off the screen and be missed by a lot of people. The fixes should be appearing on your rsync mirror within the hour. Would you mind giving them a go, and letting me know whether they work for you too? Thanks, Stu
They work, nice job. I did notice that the ebuild still checks for ZLIB_DEFLATE, which isn't necessary for cloop.
Not sure this is supposed to be here, but: how does one force ZLIB_DEFLATE to 'Y' instead of 'M' in the kernel config? Cause it always reverts to 'M' for me, and I can't force it to be compiled in the kernel. I tried editing .config by hand, but make oldconfig reverts it back to 'M'. Any idea? The answer should be put in the ebuild error message, maybe. This got me very confused.
When you make menuconfig, go to the zlib options, and press 'Y' ? Or am I missing something here? Stu
I am one who is missing something for sure. ZLIB must be enabled in "Library Routines", right? Then why when I try to enter to that category in menuconfig, it doesn't let me in?
Read /usr/src/linux/lib/Config.in. You'll see the rules that govern whether ZLIB is available at all, and whether it's offered as a module or as something you can compile in. Best regards, Stu