ake[2]: *** [hgcd.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [hgcd_appr.lo] Error 1 m4 -DHAVE_CONFIG_H -D__GMP_WITHIN_GMP -DOPERATION_mullo_basecase -DPIC mullo_basecase.asm >tmp-mullo_basecase.s hgcd_jacobi.c: In function '__gmpn_hgcd_jacobi': hgcd_jacobi.c:156:3: error: not enough arguments to function '__builtin_constant_p' hgcd_jacobi.c:156:37: error: expected expression before ')' token hgcd_jacobi.c:156:37: error: not enough arguments to function '__builtin_constant_p' hgcd_jacobi.c:156:79: error: expected expression before ')' token hgcd_jacobi.c:156:183: error: expected expression before ')' token hgcd_jacobi.c:169:18: error: 'n2' undeclared (first use in this function) hgcd_jacobi.c:169:18: note: each undeclared identifier is reported only once for each function it appears in libtool: compile: x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_toom52_mul -O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wimplicit-function-declaration -c toom52_mul.c -fPIC -DPIC -o .libs/toom52_mul.o x86_64-pc-linux-gnu-gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_mullo_basecase -O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wimplicit-function-declaration -Wa,--noexecstack tmp-mullo_basecase.s -fPIC -DPIC -o .libs/mullo_basecase.o libtool: compile: x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_toom62_mul -O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param $ einfo =dev-libs/gmp-5.1.0 Portage 2.2.0_alpha161 (default/linux/amd64/13.0, gcc-4.7.2-asneeded, glibc-2.16.0, 3.7.6-lh x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.7.6-lh-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.2 KiB Mem: 16345836 total, 7010804 free KiB Swap: 3987452 total, 3789600 free Timestamp of tree: Sat, 09 Feb 2013 10:30:01 +0000 ld GNU gold (GNU Binutils 2.23.1) 1.11 ccache version 3.1.9 [enabled] app-shells/bash: 4.2_p42 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.6.8-r1, 2.7.3-r3, 3.1.5-r1, 3.2.3-r2, 3.3.0-r1 dev-util/ccache: 3.1.9 dev-util/cmake: 2.8.10.2-r1 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.6, 1.12.6, 1.13.1 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.4.7, 4.5.4, 4.6.3, 4.7.2 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.7 (virtual/os-headers) sys-libs/glibc: 2.16.0 Repositories: gentoo sunrise bicatali betagarden dummy neurogeek science Raspberry-Pi-Overlay last-hope g-ctan ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wimplicit-function-declaration" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/eselect/ /usr/share/gnupg/qualified.txt /usr/share/nano/ /var/lib/hsqldb /var/spool/munin-async/.ssh" 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" CXXFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wenum-compare" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=12 -t --keep-going --autounmask-write --autounmask --quiet-build=n" FCFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g" FEATURES="assume-digests binpkg-logs buildsyspkg ccache collision-protect compressdebug distlocks ebuild-locks fixlafiles merge-sync metadata-transfer multilib-strict news noinfo parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms sign split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g" GENTOO_MIRRORS=" /mnt/tmpfs/ http://gentoo.j-schmitz.net/mirror/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common" MAKEOPTS="-j16 -l12" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_COMPRESS_FLAGS="-z -e -9 -v" 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="/var/cache/portage/tree" PORTDIR_OVERLAY="/local/overlays/sunrise-reviewed /local/overlays/bicatali /local/overlays/betagarden /local/overlays/dummy /local/overlays/neurogeek /local/overlays/sci /local/overlays/gen2pi /local/overlays/lh/ebuilds /local/overlays/g-ctan" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl alsa amd64 avx bash-completion berkdb branding bzip2 cairo caps cli cracklib crypt cxx dbus dri fortran gdbm gif gmp gnome gnome-keyring gpm gstreamer gtk iconv icu ipv6 jpeg jpeg2k mmx mmxext modules mudflap multilib ncurses network-cron nls nptl nsplugin numa opengl openmp pam pcre pgo png pulseaudio qt3support raw readline session smp sse sse2 sse3 sse4 sse4_1 sse4a ssl startup-notification tcpd threads tiff truetype unicode vaapi vdpau xinerama zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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="authn_core authz_core socache_shmcb unixd 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 sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="plymouth" 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" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer pdfimport scripting-javascript wiki-publisher" LINGUAS="en" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_6 python2_7 python3_1 python3_2 python3_3 pypy1_9 pypy2_0" QEMU_SOFTMMU_TARGETS="i386 x86_64 arm armeb" QEMU_USER_TARGETS="i386 x86_64 arm armeb" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia" 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" USE_PYTHON="2.6 2.7 3.1 3.2 3.3 2.7-pypy-1.9 2.7-pypy-2.0" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-libs/gmp-5.1.0 was built with the following: USE="cxx (multilib) -doc -static-libs" CFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wimplicit-function-declaration" CXXFLAGS="-O2 -pipe -ftracer -march=corei7-avx -mtune=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -frecord-gcc-switches -g -Wenum-compare"
Created attachment 338430 [details] gmp-5.1.0:20130209-173533.log build.log
your tuneup stage did not run correctly: #define HGCD_THRESHOLD speed_measure() could not get 4 results within 1.0% i imagine your system was otherwise busy ?
(In reply to comment #2) > your tuneup stage did not run correctly: > #define HGCD_THRESHOLD speed_measure() could not get 4 results within 1.0% > > i imagine your system was otherwise busy ? probably. I will retest on an idle system.
I tested around: * idle system * freshly setup ~x86 lxc * switch cpu governor to performance * -j1 * Minimize FLAGS all that didn't work.
FEATURES=-ccache helped. But this didn't explain the ccache free lxc problem.
okay, only worked once. Repeating fails again.
(In reply to comment #4) so it's most likely caused by scheduling spikes in containers. i could have the code check to see if the header generation worked and warn if it didn't. in reality, using USE=pgo in this system sounds kind of a dead end.
It fails for me too. Haven't tried without ccache though.
(In reply to comment #7) > (In reply to comment #4) > > so it's most likely caused by scheduling spikes in containers. i could have > the code check to see if the header generation worked and warn if it didn't. > in reality, using USE=pgo in this system sounds kind of a dead end. No, it also fails on the life system. Except for the one time where it succeed, which isn't reproducible anymore.
This is fixed in 5.1.1.
*** Bug 462442 has been marked as a duplicate of this bug. ***
I was wrong. I still see this.
*** Bug 470958 has been marked as a duplicate of this bug. ***
go into the build dir and manually run: ./tune/tuneup when it fails, what is its exit code ?
An option is to merge the defaults in the header file with the freshly computed output, replacing each default value that has a fresh counterpart. Still better than nothing. Unless there is some kind of innate relationship among the constants that the defaults have and that any full output of "tuneup" has. (A relationship that should not be harmed if a balanced lib code is to be produced.)
(In reply to comment #14) > go into the build dir and manually run: > ./tune/tuneup > > when it fails, what is its exit code ? I cannot even build the tuneup binary anymore. In file included from hgcd_appr_lehmer.c:29:0: ../mpn/generic/hgcd_appr.c: In function 'mpn_hgcd_appr_lehmer_itch': ../mpn/generic/hgcd_appr.c:46:56: error: expected expression before ';' token return 20 * ((n+3) / 4) + 22 * k + HGCD_THRESHOLD; ^ make: *** [hgcd_appr_lehmer.lo] Error 1 make: Leaving directory `/var/tmp/portage/dev-libs/gmp-5.1.2/work/gmp-5.1.2/tune'
(In reply to comment #15) that seems like it'd be messy and require a bit of tooling. i'd rather just throw away the results entirely if tuneup failed rather than hoping every define it produces is independent. (In reply to comment #16) that's because the first tuneup run poisoned things FEATURES=noclean USE=-pgo emerge gmp then build tuneup by hand and run it by hand and look at the exit code. the code in the ebuild is not complicated and trivial to manage by hand.
(In reply to comment #14) > go into the build dir and manually run: > ./tune/tuneup > > when it fails, what is its exit code ? Program received signal SIGABRT, Aborted. 0x00002aaaaaff9089 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt -v No symbol "v" in current context. (gdb) bt #0 0x00002aaaaaff9089 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00002aaaaaffa3e8 in __GI_abort () at abort.c:90 #2 0x00000000004075b5 in one (threshold=threshold@entry=0x45bad8 <hgcd_threshold>, param=param@entry=0x45c660 <param.10716>) at tuneup.c:570 #3 0x000000000040aa46 in tune_hgcd () at tuneup.c:1778 #4 all () at tuneup.c:2778 #5 0x000000000040ac22 in main (argc=1, argv=0x7fffffffc958) at tuneup.c:2834 (gdb) bt full #0 0x00002aaaaaff9089 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 resultvar = 0 pid = 16380 selftid = 16380 #1 0x00002aaaaaffa3e8 in __GI_abort () at abort.c:90 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x2, sa_sigaction = 0x2}, sa_mask = {__val = {1000, 30, 46912496176871, 3686692720207724545, 0, 6931836430746305885, 46912501492952, 4572768, 30, 4569816, 46912496202517, 0, 4294967295, 46912505284528, 32, 0}}, sa_flags = -1430698496, sa_restorer = 0x0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00000000004075b5 in one (threshold=threshold@entry=0x45bad8 <hgcd_threshold>, param=param@entry=0x45c660 <param.10716>) at tuneup.c:570 ti = <optimized out> tiplus1 = <optimized out> d = <optimized out> since_positive = 2 since_thresh_change = 5 thresh_idx = 30 new_thresh_idx = <optimized out> #3 0x000000000040aa46 in tune_hgcd () at tuneup.c:1778 param = {name = 0x44e24e "HGCD_THRESHOLD", function = 0x435a80 <speed_mpn_hgcd>, function2 = 0x435a80 <speed_mpn_hgcd>, step_factor = 0.01, step = 1, function_fudge = 1, stop_since_change = 80, stop_factor = 1.2, min_size = 30, min_is_always = 0, max_size = 1000, check_size = 0, size_extra = 0, data_high = 0, noprint = 0} #4 all () at tuneup.c:2778 start_time = 1369246684 end_time = 46912498360720 #5 0x000000000040ac22 in main (argc=1, argv=0x7fffffffc958) at tuneup.c:2834 opt = <optimized out>
# echo $? 134
And this issue is not really load dependent. I ran it successfully with load=12 on a 4 core HT machine.
(In reply to comment #18) try changing the ebuild like so: if use pgo ; then emake -j1 -C tune tuneup || die ebegin "Trying to generate tuned data" ./tune/tuneup | tee gmp.mparam.h.new if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then mv gmp-mparam.h.new gmp-mparam.h emake clean || die emake || die fi fi
That works for me, or rather the ebuild doesn't die. The tuning part still fails (it's never worked here).
should be all set now in the tree; thanks for the report! Commit message: If USE=pgo tuning fails, ignore the results rather than aborting the build http://sources.gentoo.org/dev-libs/gmp/gmp-5.1.0.ebuild?r1=1.6&r2=1.7 http://sources.gentoo.org/dev-libs/gmp/gmp-5.1.1.ebuild?r1=1.2&r2=1.3 http://sources.gentoo.org/dev-libs/gmp/gmp-5.1.2.ebuild?r1=1.1&r2=1.2
*** Bug 489788 has been marked as a duplicate of this bug. ***