Comments (14)
Hmm - interesting ... let me hunt down 4.7.1 here and give it a spin.
Have you had luck with previous versions of OpenEXR and this compiler?
- Piotr
From: quantizationbit [[email protected]]
Sent: 12 July 2013 14:55
To: openexr/openexr
Subject: [openexr] Compile 2.0.1 release? (#67)
System Slackware 14.0, 32 bit, gcc 4.7.1
Compiles but "make check" fails into the testing of ImathTest. I'm trying to put together a full clean build/install of OpenEXR, CTL (1.5 rc) to utilize ultimately ctlrender command for some testing. I've removed prior builds and removed openexr 1.7.0 package which comes with Slackware by default.
lt-ImathTest: testBox.cpp:253: void {anonymous}::testExtendByPoint(const char*) [with T = Imath_2_0::Vec2]: Assertion `b.min == p && b.max == p' failed.
/bin/sh: line 5: 8024 Aborted ${dir}$tst
FAIL: ImathTest
1 of 1 test failed
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory /home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory/home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make: *** [check-recursive] Error 1
qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/IlmBase$
Thanks,
Bill Mandel
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/67.
from openexr.
Come to think of it ... could you let me know the values for the box 'b' and the point 'p'
- Piotr
From: quantizationbit [[email protected]]
Sent: 12 July 2013 14:55
To: openexr/openexr
Subject: [openexr] Compile 2.0.1 release? (#67)
System Slackware 14.0, 32 bit, gcc 4.7.1
Compiles but "make check" fails into the testing of ImathTest. I'm trying to put together a full clean build/install of OpenEXR, CTL (1.5 rc) to utilize ultimately ctlrender command for some testing. I've removed prior builds and removed openexr 1.7.0 package which comes with Slackware by default.
lt-ImathTest: testBox.cpp:253: void {anonymous}::testExtendByPoint(const char*) [with T = Imath_2_0::Vec2]: Assertion `b.min == p && b.max == p' failed.
/bin/sh: line 5: 8024 Aborted ${dir}$tst
FAIL: ImathTest
1 of 1 test failed
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory /home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory/home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make: *** [check-recursive] Error 1
qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/IlmBase$
Thanks,
Bill Mandel
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/67.
from openexr.
Come to think of it ... could you let me know the values for the box 'b' and the point 'p'
from openexr.
Not sure how I do that?
Should I put a print statement in testBox.cpp?
Here is the final output:
makeInfinite() for type V2s
makeInfinite() for type V2i
makeInfinite() for type V2f
makeInfinite() for type V2d
makeInfinite() for type V3s
makeInfinite() for type V3i
makeInfinite() for type V3f
makeInfinite() for type V3d
makeInfinite() for type V4s
makeInfinite() for type V4i
makeInfinite() for type V4f
makeInfinite() for type V4d
extendBy() point for type V2s
extendBy() point for type V2i
extendBy() point for type V2f
extendBy() point for type V2d
lt-ImathTest: testBox.cpp:253: void {anonymous}::testExtendByPoint(const char*) [with T = Imath_2_0::Vec2]: Assertion `b.min == p && b.max == p' failed.
/bin/sh: line 5: 11442 Aborted ${dir}$tst
FAIL: ImathTest
1 of 1 test failed
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory /home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest' make[1]: *** [check-am] Error 2 make[1]: Leaving directory
/home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make: *** [check-recursive] Error 1
qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/IlmBase$
from openexr.
Could you replace testBox.cpp with the attached and run that, or
alternatively edit the code as follows?
diff --git
a/IlmBase/ImathTest/testBox.cpp b/IlmBase/ImathTest/testBox.cpp
index
0727a4b..5c5f67a 100644
--- a/IlmBase/ImathTest/testBox.cpp
+++
b/IlmBase/ImathTest/testBox.cpp
@@ -250,6 +250,10 @@
testExtendByPoint(const char *type)
IMATH_INTERNAL_NAMESPACE::Box
b;
b.extendBy(p);
- if( !(b.min == p && b.max == p))
- {
- std::cerr <<
"failed to set empty box to value " << p << ": got " << b.min << ',' <<
b.max << std::endl; - }
assert(b.min == p && b.max == p);
}
On
2013-07-13 11:00, quantizationbit wrote:
Not sure how I do that?
Should I put a print statement in testBox.cpp?
Here is the
final output:
makeInfinite() for type V2s
makeInfinite() for type
V2i
makeInfinite() for type V2f
makeInfinite() for type V2dmakeInfinite() for type V3s
makeInfinite() for type V3imakeInfinite() for type V3f
makeInfinite() for type V3dmakeInfinite() for type V4s
makeInfinite() for type V4imakeInfinite() for type V4f
makeInfinite() for type V4d
extendBy()
point for type V2s
extendBy() point for type V2i
extendBy() point
for type V2f
extendBy() point for type V2d
lt-ImathTest:
testBox.cpp:253: void {anonymous}::testExtendByPoint(const char*) [with
T = Imath_2_0::Vec2]: Assertion `b.min == p && b.max == p' failed./bin/sh: line 5: 11442 Aborted ${dir}$tst
FAIL: IMATHTEST
1
OF 1 TEST FAILEDmake[2]: *** [check-TESTS] Error 1
make[2]:
Leaving directory
/home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'
make[1]:
*** [check-am] Error 2
make[1]: Leaving
directory/home/qbit/Documents/OpenEXR/openexr-2.0.1/IlmBase/ImathTest'make: *** [check-recursive] Error 1
qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/IlmBase$
Reply
to this email directly or view it on GitHub [1].
Links:
[1]
#67 (comment)
from openexr.
Thanks for that print code. Here's what I got. Then then next assert macro failed.
makeInfinite() for type V4d
extendBy() point for type V2s
extendBy() point for type V2i
extendBy() point for type V2f
failed to set empty box to value (2970.17 -6529.19): got (2970.17 -6529.19),(2970.17 -6529.19)
failed to set empty box to value (-8281.27 -1598.75): got (-8281.27 -1598.75),(-8281.27 -1598.75)
failed to set empty box to value (4538.74 -6180.36): got (4538.74 -6180.36),(4538.74 -6180.36)
failed to set empty box to value (10376.7 -4432.52): got (10376.7 -4432.52),(10376.7 -4432.52)
failed to set empty box to value (-9545.28 -1475.49): got (-9545.28 -1475.49),(-9545.28 -1475.49)
failed to set empty box to value (-2391.3 -5042.59): got (-2391.3 -5042.59),(-2391.3 -5042.59)
failed to set empty box to value (12126.5 -10796.4): got (12126.5 -10796.4),(12126.5 -10796.4)
failed to set empty box to value (-3157.67 10233.1): got (-3157.67 10233.1),(-3157.67 10233.1)
failed to set empty box to value (-1282.04 -12162.7): got (-1282.04 -12162.7),(-1282.04 -12162.7)
failed to set empty box to value (8345.8 -12213.9): got (8345.8 -12213.9),(8345.8 -12213.9)
from openexr.
Next test: could you see whether compiling with -ffloat-store prevents
the problem occurring?
You should be able to do this by doing a make clean, then something
likeexport CPPFLAGS=-ffloat-store or setenv CPPFLAGS -ffloat-store
before running configure and make check again)
If this does fix the problem, we should probably implement a workaround
in the test packages. It's less likely to be an issue in the library itself
(This will help to test Richard's theory that it might be an
overprecision issue caused by 80 bit floating point math)
On 13/07/13 13:51, quantizationbit wrote:
Thanks for that print code. Here's what I got. Then then next assert
macro failed.
from openexr.
Hi,
I experienced the same error, and confirmed the test suite succeeds if -ffloat-store flag is added.
Tested ilmbase 2.0.1 on Ubuntu 13.04
from openexr.
Ok yes using -ffloat-store works. I set the flag as described and rebuilt IlmBase from clean and make check succeeds. Now to figure out why slackware 14 comes with IlmBase 1.0.2 and OpenExr 1.7.0 as a few general image tools like ImageMagick depend on that.
from openexr.
Ok using -ffloat-store gets IlmBase completed and installed. I've continued using that setting (although seems non-optimal to avoid register math) with OpenEXR and get to a "-nan" error in it's check.
Testing testOptimizedInterleavePatterns
Testing SSE optimisation with different interleave patterns (large images) ...
0, 0: RGBHalf read as RGBHalf... OK
0, 1: RGBHalf read as RGBAHalf... OK
0, 2: RGBHalf read as ABGRHalf... OK
0, 3: RGBHalf read as RGBFloat...
error reading back channel B pixel 96,-62 got -nan expected -nan
lt-IlmImfTest: testOptimizedInterleavePatterns.cpp:230: bool {anonymous}::compare(const Imf_2_0::FrameBuffer&, const Imf_2_0::FrameBuffer&, const Box2i&, bool): Assertion `writtenHalf.bits()==readHalf.bits()' failed.
/bin/sh: line 5: 13205 Aborted ${dir}$tst
FAIL: IlmImfTest
1 of 1 test failed
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory /home/qbit/Documents/OpenEXR/openexr-2.0.1/OpenEXR/IlmImfTest' make[1]: *** [check-am] Error 2 make[1]: Leaving directory
/home/qbit/Documents/OpenEXR/openexr-2.0.1/OpenEXR/IlmImfTest'
make: *** [check-recursive] Error 1
qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/OpenEXR$
from openexr.
Thanks for that. I think I'll modify that test not to write
nans/infs to the test images.
For the time being you could comment out the TEST
testOptimizedInterleavePatterns in IlmImfTest/main.cpp: since the
optimisation branch is disabled, that test isn't particularly
useful. The fail is an issue with the test, not the library itself.
Also, I don't think it's necessary to compile your installed version
of the library with -ffloat-store: if you can get it to pass all the
tests with -ffloat-store, it's probably safe to rebuild without the
flag and install it.
We might need to come up with a 'overprecision safe' test for
float-based types for use in the test packages.On 18/07/13 05:01, quantizationbit
wrote:
Ok using -ffloat-store gets IlmBase completed and installed.
I've continued using that setting (although seems non-optimal to
avoid register math) with OpenEXR and get to a "-nan" error in
it's check.
Testing testOptimizedInterleavePatterns
Testing SSE optimisation with different interleave patterns
(large images) ...
0, 0: RGBHalf read as RGBHalf... OK
0, 1: RGBHalf read as RGBAHalf... OK
0, 2: RGBHalf read as ABGRHalf... OK
0, 3: RGBHalf read as RGBFloat...
error reading back channel B pixel 96,-62 got -nan expected
-nan
lt-IlmImfTest: testOptimizedInterleavePatterns.cpp:230: bool
{anonymous}::compare(const Imf_2_0::FrameBuffer&, const
Imf_2_0::FrameBuffer&, const Box2i&, bool): Assertion
`writtenHalf.bits()==readHalf.bits()' failed.
/bin/sh: line 5: 13205 Aborted ${dir}$tst
FAIL: IlmImfTest
1 of 1 test failed
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory /home/qbit/Documents/OpenEXR/openexr-2.0.1/OpenEXR/IlmImfTest'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory/home/qbit/Documents/OpenEXR/openexr-2.0.1/OpenEXR/IlmImfTest'
make: *** [check-recursive] Error 1qbit@0xFFFB:~/Documents/OpenEXR/openexr-2.0.1/OpenEXR$
—
Reply to this email directly or view
it on GitHub.
from openexr.
The ilmbase testsuite (not the openexr one) succeeds if only the two files testBoxAlgo.cpp and testBox.cpp are built with -fno-inline or -ffloat-store (either of theses gcc options does the trick).
from openexr.
Looking into the OpenEXR issue backlog. Is this still an issue, or ok to close?
from openexr.
Closing the issue for now, feel free to re-open or file a new issue if you need further help.
from openexr.
Related Issues (20)
- ImportError: /home/mona/Downloads/blender-3.5.1-linux-x64/3.5/python/lib/python3.10/site-packages/OpenEXR.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZTIN13IlmThread_3_14TaskE
- Imf library missing? HOT 1
- CVE-2023-5841: […] Heap Overflow in Scanline Deep Data Parsing HOT 6
- testDWAACompression failed with 3.1.11 under aarch64
- GCC 14 exrcheck -c error HOT 1
- CompressionAttribute::readValueFrom() should use isValidCompression()? HOT 2
- PR 1634 broke bad tile error detection
- SonarCloud Analysis broken by recent update to sonar-scanner HOT 3
- Allow multithreading in python
- About 3.2.126 release HOT 7
- exrenvmap: observed imprecise conversion of cubemap to lat/lon HOT 11
- Provide an API using numpy arrays in python HOT 11
- An integer overflow in file exrmultipart.cpp HOT 3
- Incorrect Values When Reading DWA Compressed Layer With OpenEXRCore HOT 10
- understanding openEXR's 3D coordinate system HOT 7
- tarball at https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.2.4/openexr-v3.2.4.tar.gz extracts incorrectly HOT 3
- Python crashes when trying to write an output file HOT 2
- Is there any way to write a bigger image?
- [Need suggestions/recommendations] OpenEXR for high-speed images grabbing application scenario. HOT 7
- update metadata without rewriting the entire file HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openexr.