-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tiff read error when reading EXR file #134
Comments
can you try testing with the more direct path to that input file and let me know if it gives the same error?
I believe ctl_render tries to read the input file looking for the magic numbers that would idenity it has DPX, TIF and EXR, instead of just relying on the file extension |
Same result. |
are you sure you are using the most recent code available in the master branch? I didn't get the error you are seeing when using the Here are the steps I used to test after cloning the repo:
out.exr looks identical to the input file CMS_Test_Pattern.exr |
I strictly followed installation instructions using brew on macOS.
I can try a build from scratch now
|
Build from scratch worked great. |
I think some of the instructions are out-of-date, the CTL repo had not been updated since 2014 so I volunteered to maintain it in May 2022. Since then, we've fixed a lot of bugs and extended support to many more platforms and OpenEXR3, so I think we should do a release soon. The brew CTL distribution may need a new release version number to trigger their repo to use the latest code, I'm not sure. |
Sounds good. I'm trying to also become a better contributor to Anyway. This seems to be fixed. I'm having an issue with
now, but I assume that's some of your changes / bug fixes and we need to update on our side. Tagging @KelSolaar for vis. |
OK good to hear. My guess is that you are getting that Let me know if that fixes the exception. |
Thanks. Perfect workaround for now. Next up to debug is our fileIO. Did the output parameters / usage change at all? |
i don't believe the output parameters or usage has changed. Are you getting other errors now? |
Another work around is to write your CTL code to handle both RGB and RGBA input files and set a default value for
|
Thanks for your help @michaeldsmith. Probably best that we re-write out CTL template to have defaults there. I am solved on my other issues, but we would like to have a release soon if you think you've stabilized CTL. That way we can test against a release version. Cheers, |
ctlrender stopped working for me and started showing me the same error about I have tried reinstalling from source using cmake and get an error on the make when linking ctlrender. Any ideas on how to fix? (Up to here, all builds fine, except for a few warnings of deprecated syntax)
|
@scottdyer it looks like your build may be trying to use version 3.2 of OpenEXR (Imf_3_2) while trying to use version 2.5 of IMath (Imath_2_5). version 2.5 of Imath was part of ilmbase for years, but Imath was spun out of ilmbase when OpenEXR went to version 3, there is now a separate Imath 3 library [1] dependency in OpenEXR 3 My guess is that you may have both Imath 3 and Imath 2.5 (part of ilmbase) installed on your system somehow and CTL is trying to use Imath 2.5 with OpenEXR 3.2 Can you try uninstalling ilmbase on your system and re-running cmake? If you still have issues, can you provide the cmake output text? It should look something like this:
|
Well yes, that appeared to be it. I was overlooking that mismatch in the library versions - I thought I had fully reinstalled openexr but part of the old stuff was still lingering. Cleaned that out then reinstalled openexr and the ctl installed beautifully with cmake. Or at least completed without errors. Thanks. However, now when I run ctlrender, I get this error:
For reference, here is the cmake output:
|
I've not seen that debugTrapv error before. Are you sure that your shell is not doing something else like running trap? You could try compiling CTL for Release mode and see if that fixes this issue, by running cmake like this:
If that doesn't work, you could try following the steps I put together in the Mac release github workflow here: Those steps compile and test CTL from source on Mac using either OpenEXR 2 or OpenEXR 3 If you need to use ctlrender soon and can't get it working natively on mac, you could also try using one of the dockers that I've included in the repo. |
@scottdyer One other thing I thought of to share with you, I have not tested the recent CTL using the AcesContainer dependency. Trying out AcesContainer with CTL is on my todo list. Its possible that AcesContainer could be causing an issue for you. The Cmake output text you included above did not mention not finding AcesContainer, so I imagine you have AcesContainer installed on your machine. Can you confirm that? When I run cmake on systems without AcesContainer, I see cmake output message indicating AcesContainer was not found, like this:
|
Thanks, I do have aces_container installed and all of ctlrender used to work just fine on my machine. I don't know at what point it stopped working but it was fairly recently so maybe macOS changed something or whatever since OpenEXRs seems to be acting weird recently in macOS in terms of thumbnail previews, etc. Also, I will note that the docker did install fine but for practical reasons I still want to get ctlrender installed natively on my system. I'll keep trying things to make sure I don't have any lingering old versions being linked or something like that. I just don't know what the |
it looks like dyld is the mac dynamic library loader [1]. I will look into compiling CTL in static mode which may avoid the use of dyld. |
@scottdyer I found what seems to be a related issue posted in the OpenEXR repo about AcademySoftwareFoundation/openexr#188 It looks like @meshula has posted a work around but I'm not sure it is relevant to the latest OpenEXR releases. You could try cleaning out your OpenEXR install on your machine and recompiling OpenEXR from source. |
That workaround would work, although I haven't seen a need for it in many years. |
@scottdyer I've been able to replicate a
then I run cmake on CTL with the same cmake argument
I suspect your system still has some remnants of OpenEXR 2.5 lingering around, can you try again to clear those old versions out and try using OpenEXR 3.1 instead? You could try compiling openexr 3.1 as static (using cmake argument @meshula do you think CTL should implement your work around when CTL uses openexr 2.5 with cmake argument |
I have tried everything I could to remove all traces of OpenEXR 2.5 (or 3.1). I started by removing everything in the cmake I then did a fresh install starting with Imath, then OpenEXR, then CTL, and still get the following error
|
looking here: Line 17 in 111b104
|
@meshula I created PR #160 that adds the |
@meshula thanks for your review of PR #160, it has been merged with master. I just tried building OpenEXR RB-2.5 statically using -DBUILD_SHARED_LIBS=OFF and then tried to build CTL from the master branch, I get the errors below. Do you think this is an issue with OpenEXR RB-2.5 or the CTL codebase? Do you have any suggestions on how I can build OpenEXR RB-2.5 statically and use it with CTL ? I have also attached a Dockerfile that replicates the issue. Dockerfile_ubuntu_22.04_openexr2_static_git_clone_CTL.zip
|
Hi Michael, all those missing symbols come from libz. In later versions of OpenEXR libz should be transitively supplied via CMake, however for 2.5 I think you will have manually add a |
* add ZLIB to CMAKE target_link_libraries() as discussed in issue #134 * add debugging message for ZLIB in CMAKE * add mac openexr2 static and docker openexr2 static to github workflow
Hi all,
I'm hoping to get some help when running a simple example. Something is probably missing in my environment config, but I'm at a loss of finding it.
I'm getting a tiff read error when reading exr
The text was updated successfully, but these errors were encountered: