Hello, Fedora Linux is applying a bunch of patches to ilmbase which probably should be included / reviewed upstream:
ilmbase-1.0.3-secondary.patch # the FPU exception code is x86 specific - This should fix building on # no-x86 archs. ilmbase-1.0.3-ucontext.patch # fix build on i686/32bit # https://github.com/openexr/openexr/issues/3 They also revert the soname bump in 1.0.3: # revert soname bump # upstream missed bumping to so7 for OpenEXR-1.7.0, decided to do so now for # OpenEXR-1.7.1. given fedora has shipped OpenEXR-1.7.0 since f15, bumping # ABI now makes little sense. Even with these patches ilmbase testsuite still fails on ix86, though. <https://github.com/openexr/openexr/issues/3#issuecomment-7469236> cu andreas <git://pkgs.fedoraproject.org/ilmbase.git> -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary ilmbase-1.0.3/IexMath/IexMathFpu.cpp --- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary 2012-09-04 10:26:55.000000000 +0200 +++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-09-04 10:27:20.000000000 +0200 @@ -27,7 +27,7 @@ #endif -#ifdef HAVE_UCONTEXT_H +#if defined(HAVE_UCONTEXT_H) && (defined(__x86_64__) || defined(__i386__)) #include <ucontext.h>
diff -up ilmbase-1.0.3/configure.ac.so6 ilmbase-1.0.3/configure.ac --- ilmbase-1.0.3/configure.ac.so6 2012-07-30 17:06:57.000000000 -0500 +++ ilmbase-1.0.3/configure.ac 2012-08-05 21:22:35.519448537 -0500 @@ -8,7 +8,7 @@ AM_INIT_AUTOMAKE(1.6.3) dnl Require aut AM_MAINTAINER_MODE -LIBTOOL_CURRENT=7 +LIBTOOL_CURRENT=6 LIBTOOL_REVISION=0 LIBTOOL_AGE=0 LIBTOOL_VERSION=$LIBTOOL_CURRENT:$LIBTOOL_REVISION:$LIBTOOL_AGE
diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext ilmbase-1.0.3/IexMath/IexMathFpu.cpp --- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext 2012-07-26 20:51:55.000000000 +0200 +++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-08-02 23:33:14.815036891 +0200 @@ -228,6 +228,7 @@ clearExceptions () const uint16_t cwRestoreMask = ~((3 << 10) | (3 << 8)); const uint16_t cwRestoreVal = (0 << 10) | (3 << 8); +#if 0 inline void restoreControlRegs (const ucontext_t & ucon, bool clearExceptions) { @@ -235,7 +236,7 @@ restoreControlRegs (const ucontext_t & u setMxcsr (ucon.uc_mcontext.fpregs->mxcsr, clearExceptions); } -#if 0 +#endif // // Ugly, the mxcsr isn't defined in GNU libc ucontext_t, but @@ -255,7 +256,6 @@ restoreControlRegs (const ucontext_t & u setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions); } -#endif } // namespace FpuControl
_______________________________________________ Openexr-devel mailing list Openexr-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/openexr-devel