I don't know if it's a clone of https://bugs.gentoo.org/show_bug.cgi?id=574044 but, since today, app-emulation/wine fails pre-merge checks with: >>> Running pre-merge checks for app-emulation/wine-1.9.5 * Checking for gcc-5-3 stack realignment compiler bug ... /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../lib64/crt1.o: in function "_start": (.text+0x20): undefined reference to "main" collect2: error: ld returned 1 exit status * ERROR: app-emulation/wine-1.9.5::gentoo failed (pretend phase): * (no error message) * * Call stack: * ebuild.sh, line 133: Called pkg_pretend * wine-1.9.5.ebuild, line 206: Called wine_build_environment_check * wine-1.9.5.ebuild, line 179: Called die * The specific snippet of code: * $(tc-getCC) -O2 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || die emerge --info app-emulation/wine Portage 2.2.28 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-5.3.0, glibc-2.22-r2, 4.4.4-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.4.4-gentoo-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6000+-with-gentoo-2.2 KiB Mem: 2055376 total, 357228 free KiB Swap: 8393924 total, 7628076 free Timestamp of repository gentoo: Sun, 13 Mar 2016 11:30:01 +0000 sh bash 4.3_p42-r2 ld ld di GNU (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42-r2::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.22.1::gentoo dev-lang/python: 2.7.11-r2::gentoo, 3.4.3-r7::gentoo dev-util/cmake: 3.5.0::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.20.5::gentoo sys-apps/sandbox: 2.10-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 5.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 x-portage location: /usr/local/portage masters: gentoo priority: 0 axs location: /var/lib/layman/axs sync-type: laymansync sync-uri: git://anongit.gentoo.org/dev/axs.git masters: gentoo axs priority: 50 bliss-overlay location: /var/lib/layman/bliss-overlay sync-type: laymansync sync-uri: https://github.com/fearedbliss/bliss-overlay.git masters: gentoo priority: 50 kde location: /var/lib/layman/kde sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/kde.git masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay sync-type: laymansync sync-uri: git://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA skype-4.0.0.7-copyright AdobeFlash-11.x google-chrome Oracle-BCLA-JavaSE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -pipe -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /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/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -pipe -O2" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y --quiet-build=y" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs candy config-protect-if-modified 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 xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="it_IT.UTF-8" LC_ALL="it_IT.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/usr/portage/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 --exclude=/.git" PORTAGE_TMPDIR="/home/portage" USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg kipi lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt3support qt5 readline sdl seccomp semantic-desktop session spell sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="emu10k1" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_default authn_file authz_dbm authz_core authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so speling status socache_shmcb unique_id unixd userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext sse sse2 sse3" DVB_CARDS="tda10046" 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 ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="it" LIRC_DEVICES="livedrive_midi" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby23" SANE_BACKENDS="epson2" USERLAND="GNU" VIDEO_CARDS="radeon r600" 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: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= app-emulation/wine-1.8::gentoo was built with the following: USE="X alsa cups fontconfig gecko jpeg lcms ldap mono mp3 ncurses nls opengl perl png realtime run-exes ssl threads truetype udisks xcomposite xinerama xml -capi -custom-cflags -dos -gphoto2 -gsm -gstreamer -netapi -odbc -openal -opencl -osmesa -oss -pcap -pipelight -prelink -pulseaudio -s3tc -samba -scanner (-selinux) -staging -test -v4l -vaapi" ABI_X86="32 64 -x32" LINGUAS="it -ar -bg -ca -cs -da -de -el -en -en_US -eo -es -fa -fi -fr -he -hi -hr -hu -ja -ko -lt -ml -nb_NO -nl -or -pa -pl -pt_BR -pt_PT -rm -ro -ru -sk -sl -sr_RS@cyrillic -sr_RS@latin -sv -te -th -tr -uk -wa -zh_CN -zh_TW"
Both my AMD and Intel systems have this same issue.
Created attachment 428140 [details, diff] wine-1.9.5-premerge-fix.patch This ebuild patch fixes the problem with the premerge check.
That patch does not work because of the subsequent tests it does not correct... if ! ( "${T}"/69140 || false ) >/dev/null 2>&1; then First with the original code it should have been : "${T}"/pr69140 (the "pr" was missing) Now it should be : "${T}"/pr69140.o (added .o) Unfortunately a .o is not executable so the test always fails I think... so the test is useless... I saw the errors, but do not know how to correct them...
Created attachment 428156 [details, diff] pr69140-test-file.patch Add some crap the pr69140 test to make it compile. Yeah C programs generally need a main() function somewhere :-)
Created attachment 428158 [details, diff] wine-1.9.5-pr69140-test-ebuild.patch Patch the stock Gentoo =app-emulation/wine-1.9.5 ebuild to test for a COMPILE TIME failure in the pr69140 MD4 test code... NOT a runtime failure!! I've not tested these patches at all (disclaimer!!) ... But obviously the updated pr69140 test does "successfully fail" with my (unpatched) stock =sys-devel-gcc-5.3.0 build !! I can't really be bothered to spend an hour rebuilding my gcc - but feel free to try the 2 patches out (*IF* you've already *PATCHED* your gcc 5.3.0 build) ... Bedtime 8-/
*** Bug 577304 has been marked as a duplicate of this bug. ***
*** Bug 577352 has been marked as a duplicate of this bug. ***
Thanks Bob! MVP :) e08eca66f56c895a137a1a7e6cf554d50084c925
(In reply to NP-Hardass from comment #8) > Thanks Bob! MVP :) > > e08eca66f56c895a137a1a7e6cf554d50084c925 np :-/
(In reply to NP-Hardass from comment #8) > Thanks Bob! MVP :) > > e08eca66f56c895a137a1a7e6cf554d50084c925 Ahhh... But - now I've just checked... You've not added this test to older versions of Wine (<1.9.3) - but they are just as affected by this gcc bug! The Wine commit that caused the problem in the first place was: http://source.winehq.org/git/wine.git/blobdiff/71f018cba5191d99fbda8d3b9a25ccd6e422a8c9..dccb57dfd9c668eff5e672def93405be8a3303bd:/include/windef.h All that commit does is add the force_align_arg_pointer attribute to the stock Wine build flags. To replicate the issue (on amd64): attempt to build <app-emulation/wine versions-1.9.3: use stock / unpatched version of =sys-devel/gcc-5.3.0 with USE +custom-cflags CFLAGS+="-mstackrealign"
(In reply to Bob Wya from comment #10) > (In reply to NP-Hardass from comment #8) > > Thanks Bob! MVP :) > > > > e08eca66f56c895a137a1a7e6cf554d50084c925 > > Ahhh... But - now I've just checked... You've not added this test to older > versions of Wine (<1.9.3) - but they are just as affected by this gcc bug! > > The Wine commit that caused the problem in the first place was: > http://source.winehq.org/git/wine.git/blobdiff/ > 71f018cba5191d99fbda8d3b9a25ccd6e422a8c9.. > dccb57dfd9c668eff5e672def93405be8a3303bd:/include/windef.h > > All that commit does is add the force_align_arg_pointer attribute to the > stock Wine build flags. > > To replicate the issue (on amd64): > attempt to build <app-emulation/wine versions-1.9.3: > use stock / unpatched version of =sys-devel/gcc-5.3.0 > with USE +custom-cflags > CFLAGS+="-mstackrealign" I'll apply across the board.
> > I'll apply across the board. OK thanks! ;-)
I have added the gcc patches linked in bug 574044 Comment 13 to /etc/portage/patches/sys-devel/gcc-5.3.0 and have rebuilt gcc. And now, with the current wine-1.9.5 ebuild, the merge goes through just fine.