| Summary: | linux-mod.eclass fails with distcc across non-identical platforms | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Yang Zhao <yang> |
| Component: | Eclasses | Assignee: | Gentoo Kernel Miscellaneous <kernel-misc> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | flameeyes, gengor, hp-cluster, lisa |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge info of target machine
emerge info of distcc participating host distccd log from participating host |
||
|
Description
Yang Zhao
2006-01-22 18:25:25 UTC
Cluster, any idea how to solve this? As far as I know we do not have a RESTRICT=distcc? (In reply to comment #1) > Cluster, any idea how to solve this? As far as I know we do not have a > RESTRICT=distcc? > You can try restricting MAKEOPTS to just -j1 so that there are no jobs to distribute, but this does not of course solve the problem that there is probably a problem in crosscompiling madwifi-driver in general. Reporter, please post `emerge --info` from both localhost and the distcc node. Created attachment 78027 [details]
emerge info of target machine
Created attachment 78028 [details]
emerge info of distcc participating host
emerge --info provided Does other external kernel module ebuilds (e.g. net-wireless/hostap-driver) work with distcc? Forgot NEEDINFO. (In reply to comment #7) > Does other external kernel module ebuilds (e.g. net-wireless/hostap-driver) > work with distcc? Negative. Fails with similar error: make[1]: Entering directory `/usr/src/linux-2.6.15-gentoo-r1' CC [M] /var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules/hostap.o CC [M] /var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules/hostap_crypt_wep.o CC [M] /var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules/hostap_crypt_tkip.o include/linux/skbuff.h: In function `prism2_wep_encrypt': include/linux/skbuff.h:820: warning: asm operand 1 probably doesn't match constraints include/linux/skbuff.h:820: error: impossible constraint in `asm' distcc[18237] ERROR: compile /var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules/hostap_crypt_wep.c on sui/1 failed make[2]: *** [/var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules/hostap_crypt_wep.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/hostap-driver-0.4.7/work/hostap-driver-0.4.7/driver/modules] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.15-gentoo-r1' make: *** [2.6] Error 2 Looks like a general problem with the kbuild system, then. Thank you for verifying this. can you please enable distcc debugging and paste the buildlogs please. as far as I know, it isnt a specific issue with kbuild, since it just calls said compiler - possibly some Kbuild vs gentoo oddity? Created attachment 80504 [details]
distccd log from participating host
Confirmed for util-linux as well... gpt.c: In function `is_gpt_valid': gpt.c:306: warning: integer constant is too large for "long" type partx.c: In function `getblock': partx.c:343: error: can't find a register in class `BREG' while reloading `asm' distcc[8126] ERROR: compile partx.c on sui/1 failed make: *** [partx.o] Error 1 !!! ERROR: sys-apps/util-linux-2.12r-r3 failed. !!! Function src_compile, Line 139, Exitcode 2 !!! make partx failed !!! If you need support, post the topmost build error, NOT this status message. Also, sorry for the lack of distcc longs on target. The last time I tried to get one, it didn't work, and it's slipped my mind since. I'll try and try again sometime later. (In reply to comment #13) > Confirmed for util-linux as well... Please open a separate bug report for this as it has nothing to do with linux-mod.eclass. This shouldn't be difficult to fix, just need to pass emake HOSTCC=$(tc-getBUILD_CC) CC=$(tc-getCC) to tell KBuild the right compilers to use. I actually do that already in alsa-driver. Diego, that should already be in the current code anyways. Could you also review 133382 as I think this is going to be relevant? might help you in case you didn't catch it but i think that bug is a dup of http://bugs.gentoo.org/show_bug.cgi?id=167844 because the pentium 3 that cause the trouble is also using an hardened kernel. At least easy to test with same computers with non-hardened kernel Added RESTRICT="distcc" to linux-mod.eclass w/o realizing it needed special support. Adding dependency bugs. This exact error has been fixed. You're trying to pass a module through distcc to be built on a hardened host. This wouldn't work before, see bug #167844. Fixed via patch to distcc adding USE="hardened". emerge --sync and rebuild distcc with USE="hardened". |