Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 407611

Summary: app-office/kmymoney-4.6.2 fails at parallel make - fatal error: kmymoneysettings.h: No such file or directory
Product: Gentoo Linux Reporter: Wonko <wonko>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: normal CC: creffett, onet.cristian
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://bugs.kde.org/show_bug.cgi?id=297008
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Build log

Description Wonko 2012-03-10 03:30:19 UTC
Package builds fine with MAKEOPTS=-j1.

Portage 2.2.0_alpha90 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.14.1-r2, 3.2.6-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.2.6-gentoo-x86_64-AMD_FX-tm-4100_Quad-Core_Processor-with-gentoo-2.1
Timestamp of tree: Fri, 09 Mar 2012 06:15:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.7-r2, 2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7                                                                              
dev-util/cmake:           2.8.7-r5                                                                           
dev-util/pkgconfig:       0.26                                                                               
sys-apps/baselayout:      2.1                                                                                
sys-apps/openrc:          0.9.9.2                                                                            
sys-apps/sandbox:         2.5                                                                                
sys-devel/autoconf:       2.13, 2.68                                                                         
sys-devel/automake:       1.9.6-r3, 1.11.3                                                                   
sys-devel/binutils:       2.22-r1                                                                            
sys-devel/gcc:            4.4.6-r1, 4.5.3-r2                                                                 
sys-devel/gcc-config:     1.5.1                                                                              
sys-devel/libtool:        2.4.2                                                                              
sys-devel/make:           3.82-r3                                                                            
sys-kernel/linux-headers: 3.2-r1 (virtual/os-headers)                                                        
sys-libs/glibc:           2.14.1-r2                                                                          
Repositories: gentoo kde-sunset zugaina sunrise vmware x11 nx kde enlightenment emacs dfreise proaudio science gamerlay-stable local                                                                                      
Installed sets:                                                                                              
ACCEPT_KEYWORDS="amd64 ~amd64"                                                                               
ACCEPT_LICENSE="* -@EULA"                                                                                    
CBUILD="x86_64-pc-linux-gnu"                                                                                 
CFLAGS="-pipe -march=amdfam10 -O2          -floop-interchange -floop-strip-mine -floop-block          -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -m3dnow          -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mlwp -mavx          --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048"                
CHOST="x86_64-pc-linux-gnu"                                                                                  
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"                                                                   
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.2/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.2/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.2/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /usr/share/X11/xkb /usr/share/openvpn/easy-rsa"
CXXFLAGS="-pipe -march=amdfam10 -O2          -floop-interchange -floop-strip-mine -floop-block          -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -m3dnow          -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mlwp -mavx          --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps y --load-average=6.0"
FEATURES="assume-digests binpkg-logs buildpkg buildsyspkg collision-protect distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr"
FFLAGS=""
GENTOO_MIRRORS="rsync://mirror.netcologne.de/gentoo/ http://gentoo.mneisen.org/"
LANG="de_DE.utf8"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en"
MAKEOPTS="--jobs --load 5"
PKGDIR="/var/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/portage/tmpfs"
PORTDIR="/var/portage/tree"
PORTDIR_OVERLAY="/var/portage/layman/kde-sunset /var/portage/layman/zugaina /var/portage/layman/sunrise /var/portage/layman/vmware /var/portage/layman/x11 /var/portage/layman/nx /var/portage/layman/kde /var/portage/layman/enlightenment /var/portage/layman/emacs /var/portage/layman/dfreise /var/portage/layman/pro-audio /var/portage/layman/science /var/portage/layman/gamerlay /var/portage/local"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi aim alsa amd64 apache2 apm audiofile bash-completion bcmath berkdb bluetooth branding bzip2 cairo calendar cdda cdparanoia cdr cli consolekit cracklib crypt ctype cups cvs cxx dbus declarative dga directfb dri dts dvb dvd dvdr emacs emboss encode exif fam fbcon ffmpeg firefox flac foomaticdb fortran ftp gd gdbm gdu ggi gif gimp ginac git gnutls gphoto2 gpm gtk handbook hddtemp iconv ieee1394 imagemagick imlib ipv6 jabber jack java javascript jbig jpeg jpeg2k kde kipi latex lcms ldap libnotify lm_sensors lzma mad maildir matroska matrox mikmod mime mmx mng modplug modules motif mp3 mp4 mpeg mplayer mudflap multilib musepack musicbrainz nas ncurses nls nptl nptlonly nsplugin ogg openal opengl openmp oss pam pango pch pcre pdf phonon php plasma plotutils png policykit ppds pppd qt3support qt4 quicktime radius rdesktop readline recode ruby samba scanner sdl semantic-desktop session slang slp smp sndfile sockets sox speex spell sse sse2 sse3 ssl startup-notification subversion svg sysfs tcpd theora threads tiff truetype udev unicode usb videos vim-syntax visualization vnc vorbis wma wmf wxwindows x264 xattr xcb xcomposite xine xinerama xml xorg xosd xpm xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="cgi alias auth_basic authn_file authz_groupfile authz_host authz_owner authz_user dir mime userdir" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FRITZCAPI_CARDS="fcpci" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" LIRC_DEVICES="serial" MISDN_CARDS="avmfritz" PHP_TARGETS="php5-3 php5-4" RUBY_TARGETS="ruby18" SANE_BACKENDS="canon_pp microtek plustek_pp" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

app-office/kmymoney-4.6.1 was built with the following:
USE="calendar (consolekit) handbook (multilib) (policykit) (-aqua) -debug -doc -hbci -ofx -quotes -test" LINGUAS="de -bg -bs -ca -ca@valencia -cs -da -el -en_GB -eo -es -et -eu -fi -fr -ga -gl -hu -it -ja -lt -ms -nds -nl -pl -pt -pt_BR -ro -ru -sk -sv -tr -ug -uk -zh_CN -zh_TW"
Comment 1 Chris Reffett (RETIRED) gentoo-dev Security 2012-03-10 23:48:44 UTC
Full build.log, please.
Comment 2 Wonko 2012-03-11 03:18:27 UTC
Created attachment 304885 [details]
Build log

Whoops, sorry. Don't know what happened, maybe I jus pressed the back button instead of submit when I tried to attach the log yesterday. Here it is.
Comment 3 Chris Reffett (RETIRED) gentoo-dev Security 2012-03-11 04:01:21 UTC
Interesting, I do not encounter that error, even when I compile with MAKEOPTS="--jobs --load 5" instead of my usual "-j5". (I do wonder about your rather extensive list of C(XX)FLAGS, but since you say it works when you set MAKEOPTS="-j1" I'm guessing that's probably not the issue)


Relevant information:

emerge -pv kmymoney
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild  N     ] app-office/kmymoney-4.6.2  USE="handbook test (-aqua) -calendar -debug -doc -hbci -ofx -quotes" LINGUAS="-bg -bs -ca -ca@valencia -cs -da -de -el -en_GB -eo -es -et -eu -fi -fr -ga -gl -hu -it -ja -lt -ms -nds -nl -pl -pt -pt_BR -ro -ru -sk -sv -tr -ug -uk -zh_CN -zh_TW" 0 kB

Total: 1 package (1 new), Size of downloads: 0 kB

emerge --info:
Portage 2.2.0_alpha90 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.2.6-gentoo-zeugma x86_64)
=================================================================
System uname: Linux-3.2.6-gentoo-zeugma-x86_64-Intel-R-_Core-TM-_i5_CPU_M_560_@_2.67GHz-with-gentoo-2.1
Timestamp of tree: Sat, 10 Mar 2012 05:00:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.9.2
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.2-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5.1
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2-r1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo gamerlay-stable kde sunrise zeugma-local
Installed sets: @kde-4.8
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.3 dlj-1.1 googleearth google-talkplugin Intel-SDP Oracle-BCLA-JavaSE RTCW-ETEULA Q3AEULA skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://mirror.rit.edu/gentoo http://gtlib.gatech.edu/pub/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/gamerlay /var/lib/layman/kde /var/lib/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X accessibility acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cli consolekit cracklib crypt cups cxx dbus dri dvd encode ffmpeg flac fortran gdbm geoip git gnutls gpm gstreamer iconv icu id3tag ipod ipv6 java jpeg kde lame latex libnotify mad mmx mng modules mp3 mpeg mudflap multilib ncurses networkmanager nls nptl nptlonly nsplugin offensive ogg openal opengl openmp pam pcre png policykit pppd qt3support qt4 readline semantic-desktop session spell sql sse sse2 ssl ssse3 svg sysfs tcpd threads tiff truetype udev unicode usb v4l v4l2 vcd vim-syntax vorbis wifi xcomposite xinerama xorg xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="mouse keyboard evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="ati radeon fglrx intel uvesafb v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Wonko 2012-03-11 15:13:42 UTC
Seems this MAKEOPTS stuff is hard to debug. I tried a couple of times again, and got different results. Sometimes it built just fine, and on the next run it failed, at a different stage like 11%, not 23% as in my build log. The actual problem with missing kmymoneysettings.h is the same, though.

First I thought it may indeed have to do with my CFLAGS, maybe due to different timing effects, but it also happens with CFLAGS="-pipe" CXXFLAGC=$CFLAGS emerge kmymoney. Sometimes, not always.

I was NOT able to reproduce the problem with MAKEOPTS=-j5 or -j10, I tried for five times. When keeping my standard MAKEOPTS="--jobs --load 5", it builds in about one out of two tries. Hmmm. Or so I though. After a couple of more tries, it did not fail for five times in a row.

BTW, I watched the number of gcc processes with his line, and it climbs up to around 20:
while :; do ps ax|grep [c]c1|wc -l; sleep 1; done

But I was not even able to reproduce the problem with MAKEOPTS=-j30.
Comment 5 Chris Reffett (RETIRED) gentoo-dev Security 2012-03-11 15:35:35 UTC
I suspect that "--jobs --load 5" isn't proper syntax for MAKEOPTS, since from reading the man page, --jobs needs to be --jobs=(number of jobs), and there isn't a --load but there is a --load-average=(load average). Try changing the syntax of your MAKEOPTS to match that, and see what happens.
Comment 6 Wonko 2012-03-11 22:29:01 UTC
Just using --jobs is okay, the argument is optional:
  -j [jobs], --jobs[=jobs]
     Specifies  the number of jobs (commands) to run simultaneously.  If
     there is more than one -j option, the last one is effective.  If the
     -j option is given without an  argument, make will not limit the number
     of jobs that can run simultaneously.

You are right about --load-average being the correct option, but it seems to work fine when I test with lower load values. make uses the getopt_long() routine, which allows all long options to be abbreviated as long as they are not ambiguous. It also does not matter whether one uses "--load=5" or "--load 5".
Comment 7 Chris Reffett (RETIRED) gentoo-dev Security 2012-03-12 00:12:15 UTC
Alright then. Well, the only thing I can think of is that the unlimited jobs option is messing up the compile somehow.
Comment 8 Ian Delaney (RETIRED) gentoo-dev 2012-03-18 09:45:17 UTC
packages that misfire on -j > 1 are often a flow result of a nasty gcc bug, unrelated to the package.  You could try compiling it with some gcc versions and consider unmasking the gcc-4.6 and trying that
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2012-03-29 08:03:26 UTC
I've applied the usual workaround, but we need to keep this bug open until it's really fixed
Comment 10 Cristian Onet 2012-04-10 17:40:01 UTC
Please try this http://commits.kde.org/kmymoney/25ee292b205e6085ba624b8ac8a45fe11a99e5cc patch.
Comment 11 Wonko 2012-04-29 11:38:41 UTC
(In reply to comment #10)
> Please try this
> http://commits.kde.org/kmymoney/25ee292b205e6085ba624b8ac8a45fe11a99e5cc
> patch.

I tried to. Using kmymoney-9999 did not work: svn: warning: W170000: URL 'svn://anonsvn.kde.org/home/kde/trunk/extragear/office/kmymoney' non-existent in r
evision 1292137. Huh?

So I unpacked via the ebuild command, manually overwrote CMakeList.txt, and had no trouble building. Then I tried without the patch, this also worked. And it should, now that I understand comment #9 - the ebuild forces MAKEOPTS=-j1 now.

I put it into my local overlay and removed the MAKEOPTS setting, and... it also builds. I tried for 20 times with MAKEOPTS=-j25 and again 20 times with -j10. And for 50 times with my original settings of MAKEOPTS="--jobs --load 5", pausing some minutes after a build in order to make the load drop. Every time it built fine.

Sorry, I cannot reproduce the problem any more. I have no idea why and what could be different now. gcc and cmake are the same version.
Comment 12 Johannes Huber (RETIRED) gentoo-dev 2012-05-07 12:29:12 UTC
Thank you all.

+  07 May 2012; Johannes Huber <johu@gentoo.org>
+  +files/kmymoney-4.6.2-fix-parallel-build.patch, +kmymoney-4.6.2-r1.ebuild:
+  Revision bump adds upstream parallel build fix wrt bug #407611.