Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 97060 - emerge naim fails if MAKEOPTS="-j<n>" where n >= 9
Summary: emerge naim fails if MAKEOPTS="-j<n>" where n >= 9
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Net-im project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-25 13:05 UTC by Ben XO
Modified: 2007-01-14 04:52 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 Ben XO 2005-06-25 13:05:39 UTC
emerge net-im/naim-0.11.7.2 fails with the following:

In file included from fireio.c:13:
conio_cmds.h:102:1: unterminated #else

make[2]: *** [fireio.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/naim-0.11.7.2/work/naim-0.11.7.2/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/naim-0.11.7.2/work/naim-0.11.7.2/src'
make: *** [all-recursive] Error 1

I have MAKEOPTS="-j9" in my make.conf usually (distcc between 2 dual proc
hyperthreading boxes); doing..

MAKEOPTS="-j1" emerge naim

..solved the problem. (and also tested everything up to -j8).

Reproducible: Always
Steps to Reproduce:
1. MAKEOPTS="-j9" emerge naim (even on a uniprocessor box with distcc off).

Actual Results:  
emerge terminates at fireio.c

Expected Results:  
a clean compile (:

Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.4.20041102-r1, 2.6.11-hardened-r14 i686)
=================================================================
System uname: 2.6.11-hardened-r14 i686 Intel(R) Xeon(TM) CPU 3.00GHz
Gentoo Base System version 1.6.12
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, May 16 2005, 23:57:01)]
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer  -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind
/var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer  -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache distcc distlocks sandbox sfperms
strict"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk/ http://194.117.143.69 
ftp://194.117.143.69/mirrors/gentoo http://194.117.143.71
ftp://194.117.143.72/mirrors/gentoo"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X509 acl apache2 bashlogger berkdb caps chroot crypt curl erandom fam
flash flexresp gd gdbm gnutls graphviz hardened hardenedphp imagemagick imap
inline innodb ithreads java jpeg lcms lm_sensors logrotate maildir math mcal
mpeg mysql ncurses nls nptl offensive pam pcre pdflib perl php pic pie png
python qmail readline rrdtool sasl sftplogging shaper snmp snortsam softquota
spamassassin spell sse ssl threads tiff truetype unicode vchroot vhosts xml2
zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Sumit Khanna 2006-07-04 02:08:46 UTC
I had the same problem with naim not building. I changed MAKEOPTS="-j1" and it built fine. Isn't there a way to turn off parallel builds in an ebuild/force the -j1 option? It should be added to this ebuild if so.
Comment 2 Ben XO 2006-07-04 02:45:57 UTC
(In reply to comment #1)
> I had the same problem with naim not building. I changed MAKEOPTS="-j1" and it
> built fine. Isn't there a way to turn off parallel builds in an ebuild/force
> the -j1 option? It should be added to this ebuild if so.
> 

there is indeed, i've seen it in ebuilds for other bugs i've posted recently. you just change the line "emake || die "make failed"" in the ebuild to "emake -j1 || die "make failed""

The reason this hasn't been done yet, i think, is because very few people use -j as high as 9 (9 is the right figure for an 8-way processor box, or in my case, 2 dual-processor hyper-threading boxes with distcc). naim compiles fine with -j3, -j4, etc.

However, there's no way an ebuild to specify a "maximum j" (??? is there ???) so i guess the only solution is to change it to -j1 :(

i have just re-confirmed that this problem exists in *naim-0.11.7.2* (which is still the stable version, that this bug was originally filed against). Even on a uni-processor single threaded box, MAKEOPTS="-j9" causes compilation failure, but MAKEOPTS="-j4" does not.

i have just confirmed that this problem still exists in *naim-0.11.8.2* (which is ~x86 and latest in portage). MAKEOPTS="-j9" bombs - but MAKEOPTS="-j4" does not.

ebuild patches forthcoming.

Comment 3 Ben XO 2006-07-04 02:48:06 UTC
--- naim-0.11.7.2.ebuild        2005-09-03 20:35:49.000000000 +0100
+++ naim-0.11.7.2-r1.ebuild     2006-07-04 10:44:31.000000000 +0100
@@ -26,7 +26,7 @@
                --enable-detach \
                ${myconf} \
                || die "configure failed"
-       emake || die "make failed"
+       emake -j1 || die "make failed"
 }

 src_install() {
Comment 4 Ben XO 2006-07-04 02:48:16 UTC
--- naim-0.11.8.2.ebuild        2006-07-01 12:17:27.000000000 +0100
+++ naim-0.11.8.2-r1.ebuild     2006-07-04 10:44:01.000000000 +0100
@@ -36,7 +36,7 @@
                --with-pkgdocdir=/usr/share/doc/${PF} \
                ${myconf} \
                || die "configure failed"
-       emake || die "make failed"
+       emake -j1 || die "make failed"
 }

 src_install() {
Comment 5 Olivier Crete (RETIRED) gentoo-dev 2007-01-14 04:52:03 UTC
already in there.. uses make instead of emake..