Re: [gentoo-user] linux make modules fails
On 5/18/06, Justin Findlay [EMAIL PROTECTED] wrote: is this a single command? Mine only prints out: make -rR -f /usr/src/linux-2.6.17-rc4/scripts/Makefile.modpost scripts/mod/modpost -m -a -o /usr/src/linux-2.6.17-rc4/Module.symvers vmlinux Yep, that is a single command that includes all of the module .o files to process. and that's it. I've been looking at scripts/mod/modpost.c and I guess it wants the object files on the command line, and they aren't being supplied. I think the failing is in scripts/Makefile.modpost. However this makefile is quite convoluted, and beyond my understanding with only a 5-minute investement. I know that somewhere in there is supposed to expand a full list of modules to call modpost with. And for some reason, you are getting an empty list of modules here... What version of gcc are you using? I know 3.4.x works, not so sure about later versions... Again, emerge --info might provide some more insight... -Richard -- gentoo-user@gentoo.org mailing list
[gentoo-user] linux make modules fails
When I try to build the 'modules' target with linux it doesn't create the .ko files. It seems to get stuck at 'stage 2', whatever that means, and I am at a loss finding out what exactly stage 2 is, from looking at scripts/Makefile.modpost, and why it doesn't build. This happens with either a vanilla-sources or gentoo-sources kernel and doesn't happen when I try to build the gentoo kernel from within another system, like a knoppix liveCD. # make V=1 modules rm -f .kernelrelease echo 2.6.17-rc4 .kernelrelease set -e; echo ' CHK include/linux/version.h'; mkdir -p include/linux/; if [ `echo -n 2.6.17-rc4 | wc -c ` -gt 64 ]; then echo '2.6.17-rc4 exceeds 64 characters' 2; exit 1; fi; (echo \#define UTS_RELEASE \2.6.17-rc4\; echo \#define LINUX_VERSION_CODE `expr 2 \\* 65536 + 6 \\* 256 + 17`; echo '#define KERNEL_VERSION(a,b,c) (((a) 16) + ((b) 8) + (c))'; ) /usr/src/linux-2.6.17-rc4/Makefile include/linux/version.h.tmp; if [ -r include/linux/version.h ] cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else echo ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi CHK include/linux/version.h make -f scripts/Makefile.build obj=scripts/basic mkdir -p .tmp_versions rm -f .tmp_versions/* make -f scripts/Makefile.build obj=. mkdir -p arch/x86_64/kernel/ make -f scripts/Makefile.build obj=scripts ... Building modules, stage 2. make -rR -f /usr/src/linux-2.6.17-rc4/scripts/Makefile.modpost scripts/mod/modpost -m -a -o /usr/src/linux-2.6.17-rc4/Module.symvers vmlinux Justin -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
Hi Justin ~ Read the docs on Gentoo.org. Understand what Stage 2 is. If not , you might be better off with Unbuntu. I promise if you follow the docs you will get a wonderful, running Gentoo system. URL: http://www.gentoo.org/doc/en/index.xml?catid=install#doc_chap2 ~ Ben On 5/18/06, Justin Findlay [EMAIL PROTECTED] wrote: When I try to build the 'modules' target with linux it doesn't create the .ko files. It seems to get stuck at 'stage 2', whatever that means, and I am at a loss finding out what exactly stage 2 is, from looking at scripts/Makefile.modpost, and why it doesn't build. This happens with either a vanilla-sources or gentoo-sources kernel and doesn't happen when I try to build the gentoo kernel from within another system, like a knoppix liveCD. # make V=1 modules rm -f .kernelrelease echo 2.6.17-rc4 .kernelrelease set -e; echo ' CHK include/linux/version.h'; mkdir -p include/linux/; if [ `echo -n 2.6.17-rc4 | wc -c ` -gt 64 ]; then echo '2.6.17-rc4 exceeds 64 characters' 2; exit 1; fi; (echo \#define UTS_RELEASE \2.6.17-rc4\; echo \#define LINUX_VERSION_CODE `expr 2 \\* 65536 + 6 \\* 256 + 17`; echo '#define KERNEL_VERSION(a,b,c) (((a) 16) + ((b) 8) + (c))'; ) /usr/src/linux-2.6.17-rc4/Makefile include/linux/version.h.tmp; if [ -r include/linux/version.h ] cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else echo ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi CHK include/linux/version.h make -f scripts/Makefile.build obj=scripts/basic mkdir -p .tmp_versions rm -f .tmp_versions/* make -f scripts/Makefile.build obj=. mkdir -p arch/x86_64/kernel/ make -f scripts/Makefile.build obj=scripts ... Building modules, stage 2. make -rR -f /usr/src/linux-2.6.17-rc4/scripts/Makefile.modpost scripts/mod/modpost -m -a -o /usr/src/linux-2.6.17-rc4/Module.symvers vmlinux Justin -- gentoo-user@gentoo.org mailing list -- Ben Reubenstein 303-947-0446 http://www.benr75.com -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
On 5/18/06, Ben Reubenstein [EMAIL PROTECTED] wrote: Read the docs on Gentoo.org. Understand what Stage 2 is. If not , you might be better off with Unbuntu. I'm sorry, Ben, that I haven't been more explicit. I'm not talking about Gentoo's stage 2, I'm talking about stage 2 of the kernel's build proceedure of modules which gathers object files into kernel modules, so: # cd /usr/src/linux # make modules ... Building modules, stage 2. [failure] # See the output of my previous email. I've tried Ubuntu and didn't like it. (-: Justin -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
On 5/18/06, Ben Reubenstein [EMAIL PROTECTED] wrote: Hi Justin ~ Read the docs on Gentoo.org. Understand what Stage 2 is. How is that supposed to help? His problem is with building modules, not installation... -Richard -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
On 5/18/06, Justin Findlay [EMAIL PROTECTED] wrote: When I try to build the 'modules' target with linux it doesn't create the .ko files. It seems to get stuck at 'stage 2', whatever that means, and I am at a loss finding out what exactly stage 2 is, from looking at scripts/Makefile.modpost, and why it doesn't build. It seems to me that the stage2 is what takes the .o files for all the modules and converts them to .ko files. Here is an example from my kernel build: -- carcharias linux # make CONFIG_CC_OPTIMIZE_FOR_SIZE=1 V=1 modules rm -f .kernelrelease echo 2.6.16-suspend2-r5 .kernelrelease if test ! /usr/src/linux-2.6.16-suspend2-r5 -ef /usr/src/linux-2.6.16-suspend2-r5; then \ /bin/sh /usr/src/linux-2.6.16-suspend2-r5/scripts/mkmakefile \ /usr/src/linux-2.6.16-suspend2-r5 /usr/src/linux-2.6.16-suspend2-r5 2 6 \ /usr/src/linux-2.6.16-suspend2-r5/Makefile; \ echo ' GEN /usr/src/linux-2.6.16-suspend2-r5/Makefile'; \ fi set -e; echo ' CHK include/linux/version.h'; mkdir -p include/linux/; if [ `echo -n 2.6.16-suspend2-r5 | wc -c ` -gt 64 ]; then echo '2.6.16-suspend2-r5 exceeds 64 characters' 2; exit 1; fi; (echo \#define UTS_RELEASE \2.6.16-suspend2-r5\; echo \#define LINUX_VERSION_CODE `expr 2 \\* 65536 + 6 \\* 256 + 16`; echo '#define KERNEL_VERSION(a,b,c) (((a) 16) + ((b) 8) + (c))'; ) /usr/src/linux-2.6.16-suspend2-r5/Makefile include/linux/version.h.tmp; if [ -r include/linux/version.h ] cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else echo ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi CHK include/linux/version.h make -f scripts/Makefile.build obj=scripts/basic rm -rf .tmp_versions mkdir -p .tmp_versions make -f scripts/Makefile.build obj=. mkdir -p arch/i386/kernel/ make -f scripts/Makefile.build obj=scripts make -f scripts/Makefile.build obj=scripts/genksyms make -f scripts/Makefile.build obj=scripts/mod make -f scripts/Makefile.build obj=init ... make -f scripts/Makefile.build obj=lib/zlib_deflate make -f scripts/Makefile.build obj=lib/zlib_inflate make -f scripts/Makefile.build obj=arch/i386/lib Building modules, stage 2. make -rR -f /usr/src/linux-2.6.16-suspend2-r5/scripts/Makefile.modpost scripts/mod/modpost -m -o /usr/src/linux-2.6.16-suspend2-r5/Module.symvers vmlinux arch/i386/kernel/cpuid.o arch/i386/kernel/microcode.o arch/i386/kernel/msr.o arch/i386/oprofile/oprofile.o crypto/arc4.o crypto/michael_mic.o crypto/sha256.o drivers/base/firmware_class.o drivers/block/pktcdvd.o drivers/char/genrtc.o ... -- There are a lot more make -f scripts/ lines, and a lot more modules on the modpost command, than what I included here. What is interesting to me is that your build didn't iterate through the other obj= lines that I have. This happens with either a vanilla-sources or gentoo-sources kernel and doesn't happen when I try to build the gentoo kernel from within another system, like a knoppix liveCD. Hmm, I see you are building an x86_64 kernel...is this being cross-compiled? Are the other environments x86_64 architecture as well? I guess posting your emerge --info output would be useful here... -Richard -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
How is that supposed to help? His problem is with building modules, not installation... Ah ~ Must have read too fast. I think that it has something to do with the 64bit compile... just a guess... On 5/18/06, Richard Fish [EMAIL PROTECTED] wrote: On 5/18/06, Ben Reubenstein [EMAIL PROTECTED] wrote: Hi Justin ~ Read the docs on Gentoo.org. Understand what Stage 2 is. -Richard -- gentoo-user@gentoo.org mailing list -- Ben Reubenstein 303-947-0446 http://www.benr75.com -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
On 5/18/06, Richard Fish [EMAIL PROTECTED] wrote: There are a lot more make -f scripts/ lines, and a lot more modules on the modpost command, than what I included here. I don't get anything with modpost after this: Building modules, stage 2. make -rR -f /usr/src/linux-2.6.17-rc4/scripts/Makefile.modpost scripts/mod/modpost -m -a -o /usr/src/linux-2.6.17-rc4/Module.symvers vmlinux What is interesting to me is that your build didn't iterate through the other obj= lines that I have. It did, but I aggressively trimmed them. (-: Hmm, I see you are building an x86_64 kernel...is this being cross-compiled? Are the other environments x86_64 architecture as well? I guess posting your emerge --info output would be useful here... No cross compiling. This kernel is for the machine that's compiling it. I first noticed this when I tried to install vanilla-sources-2.6.16.1, and I've also tried to compile a vanilla 2.6.14 kernel from kernel.org with the same dissapearing modules trick, so I think this has something to do with a system utility having been updated and not working as expected. I've been trying to find a clue to what it might be from the kernel's makefiles. Justin -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] linux make modules fails
On 5/18/06, Richard Fish [EMAIL PROTECTED] wrote: make -rR -f /usr/src/linux-2.6.16-suspend2-r5/scripts/Makefile.modpost scripts/mod/modpost -m -o /usr/src/linux-2.6.16-suspend2-r5/Module.symvers vmlinux arch/i386/kernel/cpuid.o arch/i386/kernel/microcode.o arch/i386/kernel/msr.o arch/i386/oprofile/oprofile.o crypto/arc4.o crypto/michael_mic.o crypto/sha256.o drivers/base/firmware_class.o drivers/block/pktcdvd.o drivers/char/genrtc.o ... is this a single command? Mine only prints out: make -rR -f /usr/src/linux-2.6.17-rc4/scripts/Makefile.modpost scripts/mod/modpost -m -a -o /usr/src/linux-2.6.17-rc4/Module.symvers vmlinux and that's it. I've been looking at scripts/mod/modpost.c and I guess it wants the object files on the command line, and they aren't being supplied. Justin -- gentoo-user@gentoo.org mailing list