qtwebkit 5.5.1 won't compile on our 64bit Gentoo buildhost: {standard input}: Assembler messages: {standard input}:214405: Warning: end of file not at end of a line; newline inserted {standard input}:215434: Error: unknown pseudo-op: `.cfi_def_cfa_offs' {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive x86_64-pc-linux-gnu-g++: internal compiler error: Killed (program cc1plus) interestingly, this happens with both the gcc 4.9.3 as well as with gcc 5.3.0. Reproducible: Always Steps to Reproduce: 1. emerge -auvDN --keep-going world 2. all emerges, except qtwebkit 5.5.1 3. three packages remain unbilt because of this: dev-qt/qtwebkit-5.5.1:5::gentoo dev-python/PyQt5-5.5.1::gentoo app-text/calibre-2.47.0::gentoo Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0/no-multilib, gcc-5.3.0, glibc-2.22-r1, 4.1.0 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.1.0-x86_64-Intel_Xeon_E312xx_-Sandy_Bridge-with-gentoo-2.2 KiB Mem: 4054868 total, 3760088 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Mon, 28 Dec 2015 16:45:01 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 distcc 3.2rc1 x86_64-pc-linux-gnu [enabled] ccache version 3.2.4 [disabled] app-shells/bash: 4.3_p42::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.1::gentoo dev-lang/python: 2.7.11-r1::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo dev-util/ccache: 3.2.4::gentoo dev-util/cmake: 3.4.1::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.19.1::gentoo sys-apps/sandbox: 2.10-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.12.6-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r1::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo, 5.3.0::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://gentoo32/gentoo-portage priority: -1000 godin location: /var/lib/layman/godin masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core-avx2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /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=core-avx2 -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=y" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j8" PKGDIR="/data/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X amd64 apache2 cairo ctype cups curl cxx emacs fortran ithreads ncurses pam pcre perl python readline sasl session sse2 ssl subversion svg threads unicode webdav zlib" ABI_X86="64" CURL_SSL="gnutls" ELIBC="glibc" KERNEL="linux" LINGUAS="ar bg ca chr cs da de el es eu fi fr he hi hu id it jp ko lt lv nl no pl pt pt_BR ro ru sk sl sr sv th tl tr uk vi zh_CN zh_TW" NGINX_MODULES_HTTP="autoindex" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" USERLAND="GNU" USE_PYTHON="2.7" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Please provide the complete build log.
Created attachment 421388 [details] Complete build log compressed, as uncompressed the file is 14MB
Can you try to build that without distcc? distcc[30551] (dcc_writex) ERROR: failed to write: Connection reset by peer distcc[30915] (dcc_readx) ERROR: failed to read: Connection reset by peer distcc[30915] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE" distcc[30915] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?
> x86_64-pc-linux-gnu-g++: internal compiler error: Killed (program cc1plus) You most likely ran out of memory (check dmesg).
distcc disabled: 64/qt5/mkspecs/linux-g++ -o .obj/editing/EditingAllInOne.o editing/EditingAllInOne.cpp x86_64-pc-linux-gnu-g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <https://bugs.gentoo.org/> for instructions. Makefile.WebCore.Target:134846: recipe for target '.obj/svg/SVGAllInOne.o' failed make[2]: *** [.obj/svg/SVGAllInOne.o] Error 4 make[2]: *** Waiting for unfinished jobs.... In file included from accessibility/AccessibilityAllInOne.cpp:44:0: accessibility/AccessibilitySlider.cpp: In member function 'virtual void WebCore::AccessibilitySlider::addChildren()': accessibility/AccessibilitySlider.cpp:81:6: warning: function might be candidate for attribute 'noreturn' [-Wsuggest-attribute=noreturn] void AccessibilitySlider::addChildren() ^ make[2]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore' Makefile.WebCore:68: recipe for target 'sub-Target-pri-make_first-ordered' failed make[1]: *** [sub-Target-pri-make_first-ordered] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore' Makefile:133: recipe for target 'sub-Source-WebCore-WebCore-pro-make_first-ordered' failed make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2 * ERROR: dev-qt/qtwebkit-5.5.1::gentoo failed (compile phase): * emake failed
(In reply to Michael Palimaka (kensington) from comment #4) > > x86_64-pc-linux-gnu-g++: internal compiler error: Killed (program cc1plus) > > You most likely ran out of memory (check dmesg). You are right: [3735850.623777] lowmem_reserve[]: 0 0 0 0 [3735850.623805] 0 pages HighMem/MovableOnly [3735850.623897] Out of memory: Kill process 27693 (cc1plus) score 127 or sacrifice child So 4GB is not enough to build qtwebkit 5.5.1 root@gentoo64.petamem.com:/etc/portage # free -h total used free shared buff/cache available Mem: 3.9G 25M 3.7G 216K 129M 3.8G Swap: 0B 0B 0B Maybe a prerequisite-check similar to libreoffice et al. would be good? I didn't assume 4GB is not enough these days. ;-) I wonder what 32bit machines will do. Will try with 8GB @ 64bit.
A check does sound like a good idea (this type of bug does get filed a bit). You make a good point about x86, so I'm not sure what the best amount to check for would be.
Good news everyone... With 8GB it doesn't fail anymore because of an OOM condition, although I had an exciting time watching the top during the build. Memory requirements maxed out @ 6.9 GiB The not-so-good news is, build failed because of rm -f libQt5WebKit.so.5.5.1 libQt5WebKit.so libQt5WebKit.so.5 libQt5WebKit.so.5.5 x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-undefined -Wl,--no-undefined -fdebug-types-section -fuse-ld=gold -Wl,--enable-new-dtags -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5WebKit.so.5 -o libQt5WebKit.so.5.5.1 -lQt5Gui -lQt5Core -lpthread -lQt5Network -lQt5Core -lpthread -lQt5Core -lpthread -lpthread -Wl,-whole-archive -lWebKit1 -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebKit/ -Wl,-whole-archive -lWebCore -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore/ -lz -lXrender -lleveldb -lmemenv -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/JavaScriptCore/ -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WTF/ -lXext -lX11 -lm -lX11 -lxslt -lxml2 -lz -lm -ldl -lm -lxml2 -lxml2 -lsqlite3 -licui18n -licuuc -licudata -lQt5Sql -lQt5Core -lpthread -lQt5Gui -lQt5Core -lpthread -lQt5Network -lQt5Core -lpthread -lQt5Core -lpthread -lGL /var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore//libWebCore.a(/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore//.obj/platform/leveldb/LevelDBDatabase.o):LevelDBDatabase.cpp:function WebCore::openDB(leveldb::Comparator*, leveldb::Env*, WTF::String const&, leveldb::DB**) [clone .constprop.34]: error: undefined reference to 'leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)' /var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore//libWebCore.a(/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source/WebCore//.obj/platform/leveldb/LevelDBDatabase.o):LevelDBDatabase.cpp:function WebCore::LevelDBDatabase::destroy(WTF::String const&): error: undefined reference to 'leveldb::DestroyDB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Options const&)' collect2: error: ld returned 1 exit status Makefile.api:109: recipe for target '../lib/libQt5WebKit.so.5.5.1' failed make[2]: *** [../lib/libQt5WebKit.so.5.5.1] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source' Makefile.QtWebKit:41: recipe for target 'sub-api-pri-make_first-ordered' failed make[1]: *** [sub-api-pri-make_first-ordered] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.5.1/work/qtwebkit-opensource-src-5.5.1/Source' Makefile:219: recipe for target 'sub-Source-QtWebKit-pro-make_first-ordered' failed make: *** [sub-Source-QtWebKit-pro-make_first-ordered] Error 2 * ERROR: dev-qt/qtwebkit-5.5.1::gentoo failed (compile phase): * emake failed But I believe this is for a different ticket then?
Which version of dev-libs/leveldb is installed?
(In reply to Michael Palimaka (kensington) from comment #9) > Which version of dev-libs/leveldb is installed? 1.18-r1
Does it build after rebuilding leveldb?
(In reply to Michael Palimaka (kensington) from comment #7) > A check does sound like a good idea (this type of bug does get filed a bit). > You make a good point about x86, so I'm not sure what the best amount to > check for would be. From my observations: * If total free memory is less than 1.05 GiB, restrict -j to 1 thread * The -j N argument should be N = int(total_memory_gib/0.875) * Or total memory GiB therefore min. int(N*.0875)+1
(In reply to Michael Palimaka (kensington) from comment #11) > Does it build after rebuilding leveldb? YES! Resolved. For a "true fix" of the OOM, I propose the pre-build check for sufficient memory. as for the leveldb, a rebuild did the trick, however before that no inconsistency was found: * Collecting system binaries and libraries * Checking dynamic linking consistency * Assign files to packages Your system is consistent
So, * the OOM is not a bug * the leveldb-related linking failure seems to be caused by a missed rebuild after upgrading to >=gcc-5 * the suggestion for a prerequisite check is now bug 570534 => closing as INVALID.