media-libs/ilmbase-2.0.0 fails to build with error: IexMathFpu.cpp: In function 'void Iex::FpuControl::restoreControlRegs(const ucontext_t&, bool)': IexMathFpu.cpp:262:38: error: 'struct _libc_fpstate' has no member named 'cwd' IexMathFpu.cpp:263:40: error: 'struct _libc_fpstate' has no member named 'mxcsr' make[1]: *** [IexMathFpu.lo] Error 1 Reproducible: Always Steps to Reproduce: emerge -1av media-libs/ilmbase Actual Results: emerging fails emerge --info media-libs/ilmbase Portage 2.2.0_alpha166 (default/linux/x86/13.0, gcc-4.7.2, glibc-2.16.0, 3.7.1-tuxonice i686) ================================================================= System Settings ================================================================= System uname: Linux-3.7.1-tuxonice-i686-Intel-R-_Core-TM-_Duo_CPU_T2350_@_1.86GHz-with-gentoo-2.2 KiB Mem: 3100588 total, 139692 free KiB Swap: 2104508 total, 1711028 free Timestamp of tree: Tue, 12 Mar 2013 16:45:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 ccache version 3.1.9 [enabled] app-shells/bash: 4.2_p45 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.3-r3 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.11.6, 1.13.1 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.7.2-r1 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.8 (virtual/os-headers) sys-libs/glibc: 2.16.0 Repositories: gentoo overlays-oschtan dmol flying Installed sets: @lxde-full, @system ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA PUEL skype-4.0.0.7-copyright dlj-1.1 AdobeFlash-11.x googleearth" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium-m -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/lib/hsqldb" 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/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CPPFLAGS="-O2 -pipe -march=pentium-m -fomit-frame-pointer" CXXFLAGS="-O2 -pipe -march=pentium-m -fomit-frame-pointer" DISTDIR="/mnt/slag/distfiles" EMERGE_DEFAULT_OPTS="--autounmask=n" FCFLAGS="-O2 -march=i686 -pipe" FEATURES="assume-digests binpkg-logs buildpkg ccache collision-protect distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr" FFLAGS="-O2 -march=i686 -pipe" GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles http://linux.nsu.ru/gentoo-distfiles/ http://trumpetti.atm.tut.fi/gentoo/ http://distfiles.gentoo.org" LANG="ru_RU.UTF-8" LC_ALL="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/mnt/slag/gentoo-tree/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="/mnt/slag" PORTDIR="/mnt/slag/gentoo-tree" PORTDIR_OVERLAY="/mnt/slag/layman/oschtan /mnt/slag/layman/dmol /mnt/slag/layman/flying" SYNC="rsync://linux.rz.ruhr-uni-bochum.de/gentoo-portage" USE="7zip X a52 aac aalib acl acpi additions alsa amr amrnb amrwb ao apng archive aspell audiofile autotools bash-completion bazaar bdf bluetooth branding bzip2 cairo cdda cddb cdparanoia cdr cdrdao cdrom chardet cjk cleartype cli consolekit cracklib curl cvs cxx cyrillic dbus dia divx djvu docbook dot dri dri2 drm dts dvd dvdnav dvdr dvdread dvi egl emf enca encode equalizer eselect exceptions exif expat extensions fbcondecor fbsplash ffmpeg fftw flac flash fontconfig fortran fpx ftp fuse gallium gd gecko gif gimp git gles glib glitz gmp gnutls gphoto2 gpm graphviz gstreamer gtk gtk3 gtkstyle hddtemp html http icons iconv icu id3tag idn imagemagick imlib jabber jbig jemalloc jpeg jpeg2k ladspa lame laptop lasi lastfm latex lcms libass libffi libnotify libsamplerate libyaml live lm_sensors lqr lxde lzma lzo mad matroska mercurial mikmod mime mjpeg mms mmx mmxext mng modules motif mp2 mp3 mp4 mpeg mplayer mudflap multitarget musepack natspec ncurses nls nptl nptlonly nsplugin oav objc objc++ objc-gc ogg ogm openexr opengl openmp optimisememory opus orc osmesa pam pango pcre pdf pkcs11 plotutils png policykit postscript pulseaudio qt3support quicktime rar raw rcc readline realmedia rtc rtf science scrobbler sdl session shared-dricore shared-glapi shorten smp sndfile sound soundtouch speex spell sqlite sqlite3 srt sse sse2 ssl startup-notification stats subversion suid svg symlink syslog system-sqlite szip t1lib tcpd templates theora threads tiff truetype twolame type1 udev unicode unsupported upnp usb utempter v4l v4l2 vaapi vamp vba vorbis vpx wav wavpack webdav webdav-neon webgl webp wifi wma wmf wmp wps wxwidgets wxwindows x264 x264-svn-encoder x86 xattr xcb xcomposite xml xmp xorg xpm xps xscreensaver xv xvid zip zlib" ABI_X86="32" 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="adc65 agfa_cl20 aox barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z template toshiba_pdrm11 jl2005a jl2005c topfield ax203 st2205 tp6801" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="gnutls" 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="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer nlpsolver pdfimport" LINGUAS="ru ru_RU" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915" 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: CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= media-libs/ilmbase-1.0.2 was built with the following: USE="-static-libs"
Created attachment 341854 [details] build.log
Upstream bug: https://github.com/openexr/openexr/issues/3
I have the same issue at i686 systems.
Created attachment 341892 [details] build.log Same Error here on x86 (i686)
Created attachment 341894 [details] emerge --info
Created attachment 342260 [details, diff] ilmbase-2.0.0-ucontext.patch Applying this patch fix the problem
(In reply to comment #6) > Created attachment 342260 [details, diff] [details, diff] > ilmbase-2.0.0-ucontext.patch > > Applying this patch fix the problem With the Patch =ilmbase-2.0.0 builds now fine on x86 (i686). Thank you
That patch will result in HAVE_UCONTEXT_H not getting defined and the build never hitting the problematic code inside #ifdef HAVE_UCONTEXT_H in IlmBase/IexMath/IexMathFpu.cpp Is that really what you intended Tupone?
(In reply to comment #7) > (In reply to comment #6) > > Created attachment 342260 [details, diff] [details, diff] [details, diff] > > ilmbase-2.0.0-ucontext.patch > > > > Applying this patch fix the problem > > With the Patch =ilmbase-2.0.0 builds now fine on x86 (i686). > > Thank you Not here on ~x86. No problems on ~amd64. Patch from comment #6 is installed in /etc/portage/patches/media-libs/ilmbase. Using ebuild directly on the 2.0.0 ebuild: # ebuild ilmbase-2.0.0.ebuild configure ... Running elibtoolize in: openexr-2.0.0/IlmBase/ * Applying portage/1.2.0 patch ... * Applying sed/1.5.6 patch ... * Applying as-needed/2.4.2 patch ... >>> Source prepared. * Applying user patches from /etc/portage/patches//media-libs/ilmbase ... * ilmbase-2.0.0-ucontext.patch ... [ ok ] * Done with patching ... # ebuild ilmbase-2.0.0.ebuild compile ... IexMathFpu.cpp:262:38: error: 'struct _libc_fpstate' has no member named 'cwd' IexMathFpu.cpp:263:40: error: 'struct _libc_fpstate' has no member named 'mxcsr' make[1]: *** [IexMathFpu.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/tmp_portage/x86/portage/media-libs/ilmbase-2.0.0/work/openexr-2.0.0/IlmBase/IexMath' ... # emerge -pv ilmbase These are the packages that would be merged, in order: Calculating dependencies .... ... ......... ......... done! [ebuild U ] media-libs/ilmbase-2.0.0:0/10 [1.0.2:0/0] USE="-static-libs" 0 kB
Comment on attachment 342260 [details, diff] ilmbase-2.0.0-ucontext.patch Yeah, the patch is not correct in any case
Created attachment 342310 [details, diff] Disable use of glibc's ucontext.h (workaround) The previous patched removed the check for ucontext.h from configure.ac, this one is telling ./configure the header is not there If we are going to apply a workaround to tree, i'd rather go with this one since by not having a patch for this implies there isn't a proper fix and there isn't :-) The actual problem looks like missing #include <stdint.h> but the source file IlmBase/IexMath/IexMathFpu.cpp is already including it I see "IEX_INTERNAL_NAMESPACE_SOURCE_ENTER" after the include so I'm guessing there is somesort of namespace issue here, and either we need to exit to the std namespace or reinclude stdint.h?
(In reply to comment #11) > Created attachment 342310 [details, diff] [details, diff] > Disable use of glibc's ucontext.h (workaround) This successfully allows ilmbase-2.0.0 to emerge on ~x86. Thanks.
(In reply to comment #12) > (In reply to comment #11) > > Created attachment 342310 [details, diff] [details, diff] [details, diff] > > Disable use of glibc's ucontext.h (workaround) > > This successfully allows ilmbase-2.0.0 to emerge on ~x86. Thanks. thanks for testing, I've applied it without revbump + 21 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> ilmbase-2.0.0.ebuild: + Don't use ucontext.h from libc with this release of IlmBase wrt #461594 by + Viktor Yu. Kovalskiy and Tupone Alfredo because of toolchain incompabilities. (the better fix will come to us from upstream automatically with next release)