Skip to content
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

Getting started... build & hello world. #607

Closed
Dariusz1989 opened this issue Nov 4, 2019 · 8 comments
Closed

Getting started... build & hello world. #607

Dariusz1989 opened this issue Nov 4, 2019 · 8 comments
Labels
Build A problem with building or installing the library. Needs Discussion To be discussed in the technical steering committee
Milestone

Comments

@Dariusz1989
Copy link

Hey

My "wish" - use openEXR library to load images into my app, get the raw data to pass around & at the end create exr file from my own raw data > output byteArray so I can pass to my image IO device. (as far as I'm aware openEXR offers very good compression options, so being able to get an array of data to save would be great)

Where I am

I downloaded zlib, used cmake.gui to run it and built 32 release/debug/reldebug variants. - no x64 as far as I can tell...
I downloaded openEXR, used cmake.gui to set it up as well, all under vs 2017. Pointed to the zlib I build early and hit generate.

Build system, win10x64/msvc/vs 2017

It made the project, I open project & run in release win32 & local windows debugger... - ALL_BUILD.

build.build.build.build I get code below, to say I'm very "new" to building libraries is an understatement. I did a few but I don't have nearly enough experience to wrap my head around this one... would any1 be so kind as to help out?

1>------ Build started: Project: IlmImf, Configuration: Release Win32 ------
2>------ Build started: Project: IlmImf_static, Configuration: Release Win32 ------
2>ImfBoxAttribute.cpp
1>LINK : fatal error LNK1181: cannot open input file 'K:\Programming\IcarusEcosystem\icarusLibs\zLib\build\Release.obj'
1>Done building project "IlmImf.vcxproj" -- FAILED.
3>------ Build started: Project: IlmImfUtil, Configuration: Release Win32 ------
4>------ Build started: Project: IlmImfExamples, Configuration: Release Win32 ------
5>------ Build started: Project: IlmImfTest, Configuration: Release Win32 ------
6>------ Build started: Project: exr2aces, Configuration: Release Win32 ------
7>------ Build started: Project: exrenvmap, Configuration: Release Win32 ------
8>------ Build started: Project: exrheader, Configuration: Release Win32 ------
9>------ Build started: Project: exrmakepreview, Configuration: Release Win32 ------
10>------ Build started: Project: exrmaketiled, Configuration: Release Win32 ------
11>------ Build started: Project: exrmultipart, Configuration: Release Win32 ------
12>------ Build started: Project: exrmultiview, Configuration: Release Win32 ------
13>------ Build started: Project: exrstdattr, Configuration: Release Win32 ------
10>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
6>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
7>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
10>Done building project "exrmaketiled.vcxproj" -- FAILED.
6>Done building project "exr2aces.vcxproj" -- FAILED.
8>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
8>Done building project "exrheader.vcxproj" -- FAILED.
7>Done building project "exrenvmap.vcxproj" -- FAILED.
9>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
9>Done building project "exrmakepreview.vcxproj" -- FAILED.
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(56): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2i>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(67): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2i>::writeValueTo': definition of dllimport function not allowed
12>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
12>Done building project "exrmultiview.vcxproj" -- FAILED.
13>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
13>Done building project "exrstdattr.vcxproj" -- FAILED.
5>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
5>Done building project "IlmImfTest.vcxproj" -- FAILED.
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(78): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2i>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(86): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2f>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(97): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2f>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfBoxAttribute.cpp(108): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::Box2f>::readValueFrom': definition of dllimport function not allowed
4>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
4>Done building project "IlmImfExamples.vcxproj" -- FAILED.
3>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
3>Done building project "IlmImfUtil.vcxproj" -- FAILED.
14>------ Build started: Project: IlmImfUtilTest, Configuration: Release Win32 ------
2>ImfChannelListAttribute.cpp
11>LINK : fatal error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_4.lib'
11>Done building project "exrmultipart.vcxproj" -- FAILED.
14>LINK : fatal error LNK1181: cannot open input file '..\IlmImfUtil\Release\IlmImfUtil-2_4.lib'
14>Done building project "IlmImfUtilTest.vcxproj" -- FAILED.
2>k:\openexr\ilmimf\ImfName.h(113): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\string.h(338): note: see declaration of 'strncpy'
2>K:\OpenEXR\IlmImf\ImfChannelListAttribute.cpp(70): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::ChannelList>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfChannelListAttribute.cpp(104): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::ChannelList>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfChannelListAttribute.cpp(147): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::ChannelList>::readValueFrom': definition of dllimport function not allowed
2>ImfFloatAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfFloatAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute::staticTypeName': definition of dllimport function not allowed
2>ImfIntAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfIntAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute::staticTypeName': definition of dllimport function not allowed
2>ImfLineOrderAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfLineOrderAttribute.cpp(56): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::LineOrder>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfLineOrderAttribute.cpp(65): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::LineOrder>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfLineOrderAttribute.cpp(75): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::LineOrder>::readValueFrom': definition of dllimport function not allowed
2>ImfMatrixAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(60): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33f>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(78): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33f>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(96): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33f>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(104): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33d>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(122): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33d>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(140): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M33d>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(148): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44f>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(174): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44f>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(200): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44f>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(208): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44d>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(234): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44d>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfMatrixAttribute.cpp(260): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::M44d>::readValueFrom': definition of dllimport function not allowed
2>ImfStringAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfStringAttribute.cpp(55): error C2491: 'Imf_2_4::TypedAttributestd::string::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfStringAttribute.cpp(66): error C2491: 'Imf_2_4::TypedAttributestd::string::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfStringAttribute.cpp(77): error C2491: 'Imf_2_4::TypedAttributestd::string::readValueFrom': definition of dllimport function not allowed
2>ImfVecAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(60): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2i>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(69): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2i>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(78): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2i>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(86): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2f>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(95): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2f>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(104): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2f>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(112): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2d>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(121): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2d>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(130): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V2d>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(138): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3i>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(148): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3i>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(158): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3i>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(166): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3f>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(176): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3f>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(186): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3f>::readValueFrom': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(194): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3d>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(204): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3d>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfVecAttribute.cpp(214): error C2491: 'Imf_2_4::TypedAttribute<Imath_2_4::V3d>::readValueFrom': definition of dllimport function not allowed
2>ImfCompressionAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfCompressionAttribute.cpp(56): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Compression>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfCompressionAttribute.cpp(65): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Compression>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfCompressionAttribute.cpp(75): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Compression>::readValueFrom': definition of dllimport function not allowed
2>ImfDoubleAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfDoubleAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute::staticTypeName': definition of dllimport function not allowed
2>ImfPreviewImageAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfPreviewImageAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::PreviewImage>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfPreviewImageAttribute.cpp(74): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::PreviewImage>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfPreviewImageAttribute.cpp(100): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::PreviewImage>::readValueFrom': definition of dllimport function not allowed
2>ImfChromaticitiesAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfChromaticitiesAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Chromaticities>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfChromaticitiesAttribute.cpp(69): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Chromaticities>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfChromaticitiesAttribute.cpp(84): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Chromaticities>::readValueFrom': definition of dllimport function not allowed
2>ImfKeyCodeAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfKeyCodeAttribute.cpp(53): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::KeyCode>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfKeyCodeAttribute.cpp(67): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::KeyCode>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfKeyCodeAttribute.cpp(96): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::KeyCode>::readValueFrom': definition of dllimport function not allowed
2>ImfTimeCodeAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfTimeCodeAttribute.cpp(53): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TimeCode>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfTimeCodeAttribute.cpp(62): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TimeCode>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfTimeCodeAttribute.cpp(76): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TimeCode>::readValueFrom': definition of dllimport function not allowed
2>ImfRationalAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfRationalAttribute.cpp(53): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Rational>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfRationalAttribute.cpp(62): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Rational>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfRationalAttribute.cpp(71): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Rational>::readValueFrom': definition of dllimport function not allowed
2>ImfEnvmapAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfEnvmapAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Envmap>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfEnvmapAttribute.cpp(63): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Envmap>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfEnvmapAttribute.cpp(73): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::Envmap>::readValueFrom': definition of dllimport function not allowed
2>ImfTileDescriptionAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfTileDescriptionAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TileDescription>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfTileDescriptionAttribute.cpp(66): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TileDescription>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfTileDescriptionAttribute.cpp(83): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::TileDescription>::readValueFrom': definition of dllimport function not allowed
2>ImfStringVectorAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfStringVectorAttribute.cpp(55): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::StringVector>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfStringVectorAttribute.cpp(70): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::StringVector>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfStringVectorAttribute.cpp(97): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::StringVector>::readValueFrom': definition of dllimport function not allowed
2>ImfDeepImageStateAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfDeepImageStateAttribute.cpp(54): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::DeepImageState>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfDeepImageStateAttribute.cpp(64): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::DeepImageState>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfDeepImageStateAttribute.cpp(75): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::DeepImageState>::readValueFrom': definition of dllimport function not allowed
2>ImfFloatVectorAttribute.cpp
2>K:\OpenEXR\IlmImf\ImfFloatVectorAttribute.cpp(56): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::FloatVector>::staticTypeName': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfFloatVectorAttribute.cpp(68): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::FloatVector>::writeValueTo': definition of dllimport function not allowed
2>K:\OpenEXR\IlmImf\ImfFloatVectorAttribute.cpp(81): error C2491: 'Imf_2_4::TypedAttribute<Imf_2_4::FloatVector>::readValueFrom': definition of dllimport function not allowed
2>Generating Code...
2>Done building project "IlmImf_static.vcxproj" -- FAILED.
========== Build: 0 succeeded, 14 failed, 15 up-to-date, 0 skipped ==========

Not entirely sure if I even need these modules?

I had a look at docs, but I did not find any "basic" tutorials as how to start using this library, like what header to import/how to include in cmake project/ how to load/save image... I saw some info on that deeper in, but none as simple to do tuts... any guide in this area would be appreciated as well.

TIA!

@cary-ilm cary-ilm added the Needs Discussion To be discussed in the technical steering committee label Nov 14, 2019
@meshula
Copy link
Contributor

meshula commented Nov 21, 2019

I haven't seen a problem exactly like this. It seems that you are building a static build, but the OPENEXR_DLL macro has been defined. Could you post the cmake line you used to configure, and also attach your CMakeCache.txt file from your build directory so we can take a closer look at what's going on?

@dtugend
Copy link

dtugend commented Dec 30, 2019

I had the same problem.
It is because the build makes some assumptions.
If you make the build folder inside the openexr code root folder and cmake the projects there it will be solved, because then the path to the libs is correct.

Edit: Not sure if it will help you, but here is our current (manual) build process, including the OpenEXR one: https://github.com/advancedfx/advancedfx/blob/749cfc52616ca2f34b7ae977deaf3a6e8b38dca4/how_to_build.txt

@meshula
Copy link
Contributor

meshula commented Dec 30, 2019

@dtugend --- I noticed that your instructions involve downloading tarballs of IlmBase and OpenEXR, and those are at different point releases. @Dariusz1989 is it possible that you are also downloading mismatched tarballs? For sure, the cmake in tarballs prior to 2.3 are not working, and that could be part of the problem.

It is because the build makes some assumptions.
If you make the build folder inside the openexr code root folder and cmake the projects there it will be solved, because then the path to the libs is correct.

These issues are all fixed in this repo, however the fixes may not yet be in release tarballs. You should be able to build openexr without trouble, following the instructions we provide. There is no longer a need to put a build folder inside the openexr code root folder, if you obtain the current code from this repo.

@dtugend
Copy link

dtugend commented Dec 30, 2019

Sorry, I forgot to remove the download & extract instructions for v2.3.0.
I build against v2.4.0 as can be seen further down, but it still had the problem.

@meshula
Copy link
Contributor

meshula commented Dec 30, 2019

Sounds like a bug that needs fixing then, with our tarballs, thanks for checking! Could you log your error message here, or open a new bug please?

@dtugend
Copy link

dtugend commented Dec 31, 2019

I think I found my problem (it seems OP has mine + additional problems): both master and v2.4.0 are technically fine and the problem can only happen on v2.4.0 or earlier:

The problem only happens on v2.4.0 when not using a build directory and when building inside the source IlmBase / OpenEXR folders directly instead.
In that case the OpenEXR source code gets corrupted by the build probably (guess).

Here's the log from the OpenEXR build without separate build directory on v2.4.0:

Conslusions / Suggestions

  • Always use a separate builder folder to build OpenEXR
  • If you run into the problem described here and you used v2.4.0 or earlier and didn't use a separate build folder, you need to delete and re-download the source, it's probably corrupted

Thank you for your replies and sorry for bothering you with something that wouldn't have happened if following the INSTALL guide more closely right from the start.

@meshula
Copy link
Contributor

meshula commented Jan 1, 2020

Thanks, I appreciate your investigation and patience with this. v2.4.0. Doing an in-tree build in a build directory, which is fairly common cmake practice, should work without corrupting the source tree. That seems like something we should confirm for an upcoming release.

@meshula meshula added the Build A problem with building or installing the library. label Jan 1, 2020
@cary-ilm cary-ilm added this to the Backlog milestone Feb 7, 2020
@cary-ilm
Copy link
Member

The conclusion here is that in-tree builds are not reliable. Closing the issue for now.

@cary-ilm cary-ilm modified the milestones: Backlog, v2.5.0 Apr 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build A problem with building or installing the library. Needs Discussion To be discussed in the technical steering committee
Projects
None yet
Development

No branches or pull requests

4 participants