Summary: | genkernel does not support multiprocessing hosts: -j make option | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | DEMAINE Benoît-Pierre, aka DoubleHP <dhp_gentoo> |
Component: | genkernel | Assignee: | Gentoo Genkernel Maintainers <genkernel> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | dhp_gentoo, plasmaroo, rocket |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
DEMAINE Benoît-Pierre, aka DoubleHP
2005-09-29 11:07:48 UTC
Yeah, genkernel is Gentoo-agnostic, so it reads *nothing* from make.conf, on purpose. I don't see a problem with adding support to genkernel.conf, though. Try setting MAKEOPTS='j4' in /etc/genkernel.conf and see if that works. --makeopts="-j4" is known to work. Please see comment #2 I have tried MAKEOPTS="j5" and MAKEOPTS="-j5" in /etc/genkernel.conf and I now always got in ps aux: 4978 tty4 S+ 0:00 make -j2 CC=gcc LD=ld AS=as bzImage so ... --makeopts="-j5" does work, but I dislike very much having to think about options every day, especially with tools designed to automate daily tasks ... => - why doesnt MAKEOPTS work in the conf ? - onece support is added and works, please insert an example line in the conf, so that people dont have to grab forums, but already have answers in comments of the conf file. Especially for actual bi cores and coming quadricores CPUs ... which respectively theoretically want -j3 and -j5 Note that genkernel actually use internally -j2, but such an option is quiet ridiculous on computer with several cores, or more than 2 CPUs. Manual override works, but the point of this bug is to ask dev to automate the process. What kernel is your target? 2.4 or 2.6? latest kernel yesterday was 2.6.15-gentoo-r1 I just solved the problem. Issue is due to line 82 (on my system) of /usr/share/genkernel/genkernel : source ${ARCH_CONFIG} || gen_die "Could not read ${ARCH_CONFIG}" this call overrides any /etc/genkernel.conf setting. I found that using dychotomy; if adding in there MAKEOPTS="-j77" just before, changes nothing; just after, you get -j77 in ps at run time. Reason is: MAKEOPTS is actually hardcoded in /usr/share/genkernel/<arch>/config.sh . Other parameters of those are ok to be there, but MakeOPTS here override /etc/genkernel.conf ... my fix is to alter all /usr/share/genkernel/<arch>/config.sh that way: replace: MAKEOPTS="-j2" with: if [ "${MAKEOPTS}" == "" ] then MAKEOPTS="-j2" fi That has to be done for all architectures, since every single arch overrides that variable locally. I have found no way to affect all arch nicer way. This fix DOES solve actual bug, and DOES NOT affect CLI options, what really surprised me in fact :) So, please update package, and wait for stabilisation before closing. Cheers everybody. Fixed in 3.4.0_pre1, thanks. |