Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 116102 - OpenOffice 2 compilation fails when -j set higher than 1 in MAKEOPTS
Summary: OpenOffice 2 compilation fails when -j set higher than 1 in MAKEOPTS
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-19 15:21 UTC by Joshua Pettett
Modified: 2006-01-13 06:23 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Log of failed OO 2 build with MAKEOPTS="-j2" (openoffice-2.0.0.log.failure.bz2,805.54 KB, application/x-bzip2)
2005-12-20 21:04 UTC, Joshua Pettett
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Pettett 2005-12-19 15:21:18 UTC
Attempted to emerge openoffice about 8 times with MAKEOPTS="-j2".  Each time the build process failed in a random place with a "No such file or directory" error.  Made MAKEOPTS="-j1" and it worked the first time.  Looks to me like this is a race condition and that the -j switch needs to be filtered.

I am willing to do more testing upon requested and will attach last two build logs.


Free disk space: ~25GB
Physical RAM: 576MB (yes, that's 512 + 64)
Swap: 1GB


Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-hardened-r1genkernel.custom i686)
=================================================================
System uname: 2.6.14-hardened-r1genkernel.custom i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /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/qmail/control"
CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks prelink sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo http://mirrors.acm.cs.rpi.edu/gentoo/ http://mirror.datapipe.net/gentoo http://gentoo.chem.wisc.edu/gentoo/"
MAKEOPTS="-j1"
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 3dnow X acl adns aim alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts bzip2 caps cdr cpdflib crypt cscope cups curl dbx dga dio directfb doc emboss encode esd exif expat fam fbcon ffmpeg flac flash flatfile foomaticdb fortran ftp gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 guile hardened hardenedphp idn imagemagick imap imlib innodb ipv6 jabber java joystick jpeg kde kerberos krb4 lcms ldap libg++ libwww lua mad mhash mikmod mime ming mmx mng motif mozilla mp3 mpeg mysql mysqli ncurses nis nls nptl nptlonly ogg oggvorbis openal opengl oscar pam pcntl pcre pda pdflib perl php pic pie png posix prelude python qt quicktime readline recode samba sapdb sasl sdl session shared sharedmem simplexml slang soap sockets speex spell spl sqlite sse ssl svga sysvipc tcltk tcpd tetex threads tidy tiff tokenizer truetype truetype-fonts type1-fonts udev vhosts videos vorbis wmf xine xml xml2 xmlrpc xmms xosd xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Joshua Pettett 2005-12-19 17:06:23 UTC
Well, the bugzilla server doesn't seem to be suited for uploading 25MB log files, so I'll just say that log files (and parts thereof) are available upon request.
Comment 2 Andreas Proschofsky (RETIRED) gentoo-dev 2005-12-19 23:01:31 UTC
Just bzip the log, will make it a lot smaller ;)

BUT: the ebuild already does what you say, no more than one process is used by default. So unless you explicitely stated WANT_DISTCC="true" this should not happen. Did you do that?
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-12-20 01:47:22 UTC
(In reply to comment #2)
> BUT: the ebuild already does what you say, no more than one process is used by
> default. So unless you explicitely stated WANT_DISTCC="true" this should not
> happen. Did you do that?

suka, the sed expression in the ebuild does NOT work (as expected)...

<snip>
#!/bin/sh
MAKEOPTS="-j9"
echo ${MAKEOPTS}
export JOBS=`echo "${MAKEOPTS}" | sed -e "s/.*-j\([0-9]\+\).*/\1/"`
echo ${JOBS}
</snip>

$ ./test.sh
-j9
9
Comment 4 Paul de Vrieze (RETIRED) gentoo-dev 2005-12-20 02:31:12 UTC
That is the intended output. I do however wonder what happens if in the configure  script when the value is not specified. Does that mean maximum? Or does it mean 1. Perhaps adding an else clause to set jobs to 1 would be appropriate, together with a check on emptyness of the MAKEOPTS variable.
Comment 5 Joshua Pettett 2005-12-20 21:04:50 UTC
Created attachment 75244 [details]
Log of failed OO 2 build with MAKEOPTS="-j2"

Ah yes, text compression, what a novel idea. :-D

There's no WANT_DISTCC in my make.conf, and while distcc is installed it is disabled for portage.  There isn't anywhere else it could be turned on is there?

I don't know much about ebuilds, but it looks to me like openoffice-2.0.0.ebuild calls make explicitly (rather than using emake).  Does that mean that the value of MAKEOPTS is effectively ignored if WANT_DISTCC is not set to true???
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2005-12-24 20:21:03 UTC
*** Bug 116660 has been marked as a duplicate of this bug. ***
Comment 7 Andreas Proschofsky (RETIRED) gentoo-dev 2005-12-25 07:38:16 UTC
@Paul: The configure-script defaults to 1, so this should be fine, but I agree we should maybe add JOBS="1" as a default, just to make sure.

@Joshua: Still this bug does not look to me as if it is in any way related to the MAKEOPTS-settings, I know you are saying it built fine with MAKEOPTS="-j1" but maybe this was just an "accident". As stated before, MAKEOPTS should really have no influence here, also I don't see any sign of the build actually using more than one process in your build log. Also that it fails at a different place every time doesn't add to the probability of it. Looks more like a compiler or hardware problem to me, or maybe this is related to using hardened (which is known problematic for OOo)
Comment 8 David Gurvich 2005-12-27 19:17:41 UTC
That is because the ebuild would not finish the configuration stage unless I set MAKEOPTS="-j1".  Instead of using system packages, it makes assumptions as to what those packages are.  Then fails when it can't find them.
 
I first #export MAKEOPTS="-j1".  Then the error log is generated.
Comment 9 Andreas Proschofsky (RETIRED) gentoo-dev 2005-12-27 22:49:20 UTC
@David: To be honest: I don't understand a single word of what you are trying to say:

(In reply to comment #8)
> That is because the ebuild would not finish the configuration stage unless I
> set MAKEOPTS="-j1".

Who are you replying to, and why should that happen?

> Instead of using system packages, it makes assumptions as
> to what those packages are.  Then fails when it can't find them.

???

> I first #export MAKEOPTS="-j1".  Then the error log is generated.

Which error log???
Comment 10 Andreas Proschofsky (RETIRED) gentoo-dev 2006-01-13 06:23:39 UTC
Works here, closing