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

Bug 329001

Summary: net-dns/bind parallel build failure
Product: Gentoo Linux Reporter: Andrew Savchenko <bircoph>
Component: [OLD] ServerAssignee: Christian Ruppert (idl0r) <idl0r>
Status: RESOLVED OBSOLETE    
Severity: normal CC: barzog, gentoo+bugs, mikemol
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
environment
build.log
environment
emerge --info

Description Andrew Savchenko gentoo-dev 2010-07-19 20:35:05 UTC
Hello,

with -j5 bind-9.7.1_p2 fails to build.
Looks like it tries to link an object file before it was compiled.
With -j1 bind builds successfully.

libtool: link: `unix/os.lo' is not a valid libtool object                                                                                      
make[2]: *** [rndc-confgen] Error 1                                                                                                            
make[2]: *** Waiting for unfinished jobs....                                                                                                   
libtool: compile:  x86_64-pc-linux-gnu-gcc -I/var/tmp/portage/net-dns/bind-9.7.1_p2/work/bind-9.7.1-P2 -I./include -I./../include -I/var/tmp/po
rtage/net-dns/bind-9.7.1_p2/work/bind-9.7.1-P2/lib/dns/include -I../../../lib/dns/include -I/var/tmp/portage/net-dns/bind-9.7.1_p2/work/bind-9.
7.1-P2/lib/isc/include -I../../../lib/isc -I../../../lib/isc/include -I../../../lib/isc/unix/include -I../../../lib/isc/nothreads/include -I../
../../lib/isc/x86_32/include -I/usr/include -D_GNU_SOURCE -march=nocona -mcx16 -msahf --param l1-cache-line-size=64 --param l1-cache-size=16 --
param l2-cache-size=256 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -ftree-loop-linea
r -floop-interchange -floop-strip-mine -pipe -fstack-protector -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-ari
th -fno-strict-aliasing -c os.c -o os.o >/dev/null 2>&1

Here is my $ emerge --info
Portage 2.2_rc67 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.11.2-r0, 2.6.32.16-sheryl x86_64)
=================================================================
System uname: Linux-2.6.32.16-sheryl-x86_64-Intel-R-_Celeron-R-_CPU_2.53GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 18 Jul 2010 04:45:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -mcx16 -msahf --param l1-cache-line-size=64 --param l1-cache-size=16 --param l2-cache-size=256 -O2 -funswitch-loops -fpre
dictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -ftree-loop-linear -floop-interchange -floop-strip-mine -pipe -fsta
ck-protector"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=nocona -mcx16 -msahf --param l1-cache-line-size=64 --param l1-cache-size=16 --param l2-cache-size=256 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -ftree-loop-linear -floop-interchange -floop-strip-mine -pipe -fstack-protector"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps y"
FEATURES="assume-digests ccache collision-protect distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-march=nocona -mcx16 -msahf --param l1-cache-line-size=64 --param l1-cache-size=16 --param l2-cache-size=256 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -ftree-loop-linear -floop-interchange -floop-strip-mine -pipe -fstack-protector"
GENTOO_MIRRORS=" ftp://bircoph/distributive/gentoo/portage ftp://ftp.chg.ru/pub/Linux/gentoo http://mirror.yandex.ru//gentoo-distfiles  http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="ru_RU.UTF-8" 
LC_ALL=""
LDFLAGS="-Wl,-O1"  
LINGUAS="ru en"
MAKEOPTS="-j5 --load-average=5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="aalib acl acpi adns amd64 bash-completion blas bzip2 caps cdb cli clisp cracklib crypt cscope ctype cups curl curlwrappers cvs cxx cyrillic djvu doc editor enca encode enscript examples exif expat extra-ciphers fftw foomaticdb fortran ftp gdbm gif ginac git glibc-omitfp gmp gnuplot gnutls gpgme gpm graphite gsl hardened hdf5 iconv idn imap iproute2 ipv6 javascript jpeg jpeg2k keyscrub kpathsea lapack latex libcaca libwww lm_sensors logrotate lzo maildir mailwrapper mbox md5sum mhash mime mmap mmx mng modules mudflap multilib mysql mysqli ncurses netcdf network-cron nls nntp nocd nptlonly objc objc++ offensive openexr otr pam pcntl pcre pdf perl plotutils png pop posix ppds pppd raw readline recode reflection rfc3779 rle samba scanner session sharedmem slang slp smtp sockets socks5 sparse spell spl sse sse2 sse3 ssl subversion supernodal sysfs syslog szip tcpd tiff unicode usb vim vim-syntax wifi xattr yaz zlib" 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="authz_host dir mime" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" RUBY_TARGETS="ruby18" USERLAND="GNU" 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_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Andrew Savchenko gentoo-dev 2010-07-19 20:37:43 UTC
Created attachment 239443 [details]
build.log
Comment 2 Andrew Savchenko gentoo-dev 2010-07-19 20:37:54 UTC
Created attachment 239445 [details]
environment
Comment 3 Andrew Savchenko gentoo-dev 2010-11-03 20:29:52 UTC
Created attachment 253059 [details]
build.log

The same problem with 9.7.2_p2-r1 on another host. It fails with -j8 and build with -j2. Why success with -j2? Maybe I was lucky or ccache done its job well.
Comment 4 Andrew Savchenko gentoo-dev 2010-11-03 20:30:24 UTC
Created attachment 253061 [details]
environment
Comment 5 Andrew Savchenko gentoo-dev 2010-11-03 20:30:48 UTC
Created attachment 253063 [details]
emerge --info
Comment 6 Enne Eziarc 2011-02-23 21:21:30 UTC
FYI, the build is still broken by this on bind-9.7.3.
Comment 7 Nico Baggus 2011-03-02 02:11:53 UTC
Indeed broken in 9.7.3
It does build with MAKEOPTS="-j1"
Comment 8 Christian Ruppert (idl0r) gentoo-dev 2012-01-19 18:16:17 UTC
*** Bug 399335 has been marked as a duplicate of this bug. ***
Comment 9 Oleg Gawriloff 2012-07-30 07:01:39 UTC
Same with net-dns/bind-9.9.1_p2. Any news on that?
Comment 10 Christian Ruppert (idl0r) gentoo-dev 2012-08-09 21:16:47 UTC
To be honest:
I built bind/bind-tools *several* times I guess somewhat above 300 times since we removed the forced "make -j1" and I had no parallel build failure yet.
The same applies to the Gentoo Infrastructure, where we use BIND as well and the same applies to some friends and so on.
I would say that the case were it fails is rare and even that rare that we (IMHO) still benefit from the "partial" parallel build.
The BIND upstream disabled parallel build mostly already.

I can't even reproduce it because it never failed here.
Can you guys show me the exact use flags that you used/use for net-dns/bind?
Comment 11 Michael Mol 2012-08-10 13:23:40 UTC
After analyzing the build log, I noted what I believe is the specific cause in bug 39935:

"libtool call to build rndc-confgen appears to depend on unix/os.lo before said file is built. Relevant piece of the build output"

It can probably be fixed by adding an explicit make dependency on unix/os.lo to whatever build target is calling libtool to build rndc-confgen.
Comment 12 mikolaj.bugzilla 2012-08-29 15:35:05 UTC
Parallel build of bind fails on my host too. (With bind 9.9.1-P2 )
Now that I have found a solution ( I was ok with outdated bind on my server. The failure happened only on 1 of my machines ), I can confirm that the last build that succeeded in parallel build was: 9.8.3_p1

*  net-dns/bind
      Latest version available: 9.9.1_p2
      Latest version installed: 9.8.3_p1

flags are
+ berkdb
+ caps
+ dlz
+ ipv6
+ ssl
+ threads
Comment 13 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2020-02-23 12:32:01 UTC
Does not seem actual for now.