Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 461594 - media-libs/ilmbase-2.0.0 - IexMathFpu.cpp:262:38: error: 'struct _libc_fpstate' has no member named 'cwd'
Summary: media-libs/ilmbase-2.0.0 - IexMathFpu.cpp:262:38: error: 'struct _libc_fpstat...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-13 01:41 UTC by Viktor Yu. Kovalskii
Modified: 2013-03-21 03:44 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,17.88 KB, text/plain)
2013-03-13 01:42 UTC, Viktor Yu. Kovalskii
Details
build.log (ilmbase-2.0.0-buildlog.txt,16.63 KB, text/plain)
2013-03-13 13:50 UTC, josef.95
Details
emerge --info (emerge --info.txt,8.22 KB, text/plain)
2013-03-13 13:51 UTC, josef.95
Details
ilmbase-2.0.0-ucontext.patch (ilmbase-2.0.0-ucontext.patch,346 bytes, patch)
2013-03-16 13:24 UTC, Tupone Alfredo
Details | Diff
Disable use of glibc's ucontext.h (workaround) (ilmbase-2.0.0.ebuild.patch,182 bytes, patch)
2013-03-16 22:43 UTC, Samuli Suominen (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Viktor Yu. Kovalskii 2013-03-13 01:41:45 UTC
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"
Comment 1 Viktor Yu. Kovalskii 2013-03-13 01:42:43 UTC
Created attachment 341854 [details]
build.log
Comment 2 Viktor Yu. Kovalskii 2013-03-13 01:43:19 UTC
Upstream bug:

https://github.com/openexr/openexr/issues/3
Comment 3 Juergen Rose 2013-03-13 09:07:11 UTC
I have the same issue at i686 systems.
Comment 4 josef.95 2013-03-13 13:50:31 UTC
Created attachment 341892 [details]
build.log

Same Error here on x86 (i686)
Comment 5 josef.95 2013-03-13 13:51:31 UTC
Created attachment 341894 [details]
emerge --info
Comment 6 Tupone Alfredo gentoo-dev 2013-03-16 13:24:21 UTC
Created attachment 342260 [details, diff]
ilmbase-2.0.0-ucontext.patch

Applying this patch fix the problem
Comment 7 josef.95 2013-03-16 17:05:41 UTC
(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
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2013-03-16 18:07:14 UTC
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?
Comment 9 Adrian Bassett 2013-03-16 21:33:41 UTC
(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 10 Samuli Suominen (RETIRED) gentoo-dev 2013-03-16 22:28:12 UTC
Comment on attachment 342260 [details, diff]
ilmbase-2.0.0-ucontext.patch

Yeah, the patch is not correct in any case
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2013-03-16 22:43:01 UTC
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?
Comment 12 Adrian Bassett 2013-03-18 15:25:27 UTC
(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.
Comment 13 Samuli Suominen (RETIRED) gentoo-dev 2013-03-21 03:44:05 UTC
(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)