Hi Peter, 

Using a custom namespace for our build of OpenEXR is what I ended up doing and 
everything looks good so far. I definitely didn't want to alter anything that 
Nuke itself depended on. 




Chip 


----- Original Message -----

From: "Peter Hillman" <[email protected]> 
To: [email protected] 
Sent: Friday, June 7, 2013 5:54:41 PM 
Subject: Re: [Nuke-dev] Building exrReaderDeep and exrWriterDeep 

Glad you got this fixed. 

For what it's worth, the original error you posted looks like it's due to the 
fact that Nuke shipped with OpenEXR-2.0 before it was officially released, and 
there were a few changes afterwards. Perhaps recompiling the OpenEXR library 
and making Nuke pick that up helped to fix the problem. You may run into 
stability issues if, for example, somehow both the original exrReaderDeep 
plugin and your recompiled exrWriterDeep plugin are loaded together. 

It would be worth building OpenEXR with a custom internal namespace to prevent 
such clashes, forcing your build of EXR-2.0 to be picked up rather than Nuke's 
for all your custom EXR plugins: 
./configure --enable-namespaceversioining=Imf2_0_Laika 
No changes to your code should be required, as long as you explicitly link 
against the correct version of the library. 
This is advisable even if you statically link against OpenEXR, and certainly 
wise if you are running into issues with different versions of compilers. 

Peter 




On 08/06/13 09:01, Blake Sloan wrote: 



>> <insert noun of your choosing>, 



Wombler. 



On Fri, Jun 7, 2013 at 12:03 PM, Chip Collier < [email protected] > wrote: 

<blockquote>


Blake you magnificent <insert noun of your choosing>, that worked! :) Thanks 
for the information. I now need to go and shimmy all this into a repeatable 
build so that it's not something that only works on my machine. 




From: "Blake Sloan" < [email protected] > 
To: "Nuke plug-in development discussion" < [email protected] > 
Sent: Friday, June 7, 2013 11:53:48 AM 


Subject: Re: [Nuke-dev] Building exrReaderDeep and exrWriterDeep 


Gcc 4.1 is the first part of the sauce. Our cent6 distro does not have it 
either. Craig spent a day building it. Well 10 minutes, whatever. :) 


And if your plugin only depends on the c/c++ runtime libs then maybe you're 
good to go with that. 


Our simplest internal plugins seem to have deep dependencies on 3rd party 
packages, all of which had to be built "special-for-nuke" against gcc41. So it 
is potentially a major hassle until the Foundry comes up with linux builds for 
newer OS distros. 







On Fri, Jun 7, 2013 at 11:45 AM, Chip Collier < [email protected] > wrote: 

<blockquote>


Hey Blake! 


We are running Fedora 17. The default gcc is 4.7.2. It doesn't look like Fedora 
maintains a package for gcc 4.1 so I'll try building it and hopefully that'll 
be the secret sauce. 


Thanks for the tip! 





From: "Blake Sloan" < [email protected] > 
To: "Nuke plug-in development discussion" < [email protected] > 
Sent: Friday, June 7, 2013 10:54:26 AM 
Subject: Re: [Nuke-dev] Building exrReaderDeep and exrWriterDeep 




Hey Chip. Is your facility on Cent6? If so, it may help you to know that the 
only way we could get our plugins to work in Nuke on cent6 is to rebuild any 
library our plugin depends on with gcc41. These package versions are not used 
for anything but Nuke plugins for cent6. Here's a list if it helps: 



/tools/package/boost/1.47.0_gcc41/ 
/tools/package/boost/1.48.0_gcc41/ 
/tools/package/boost/1.50.0_gcc41/ 
/tools/package/ilmbase/1.0.3_gcc41/ 
/tools/package/imagemagick/6.7.9-10_gcc41/ 
/tools/package/inventor/1.0.0_gcc41/ 
/tools/package/libraw/0.14.7_gcc41/ 
/tools/package/openexr/1.7.1_gcc41/ 
/tools/package/pytrackcore/7.10.0_gcc41/ 
/tools/package/pytrackcore/7.9.0_gcc41/ 
/tools/package/yaml-cpp/0.2.5_gcc41/ 









On Fri, Jun 7, 2013 at 9:31 AM, Chip Collier < [email protected] > wrote: 

<blockquote>
Hello, 

I'm trying to update the deep exr reader and writer so that it can support a 
different file extension. I had to modify the exrWriterDeep in a couple of 
places (removed the include for ImfMisc.h, replaced calls to pixelTypeSize with 
regular sizeof calls, and replaced Foundry::Type::AtomicCount32 with 
std::atomic_int) but other than that everything builds fine. Of course building 
and loading are two different things. Beyond some namespace difference in the 
openexr 2.0 build that I've created it appears that the libstdc++.so.6 on my 
system is newer than what is shipped with nuke so I'm unable to load a plugin 
with a custom openexr build (which uses a namespace that won't conflict with 
the version shipped with Nuke). 

If I link directly to the openexr 2.0 build that ships with Nuke I have a 
problem with a couple of versions of the Imf::TypedAttribute<>::writeValueTo 
method. 

As an example: 
Nuke/7.0v4-64/libIlmImf-Imf_2_0_0.so.20 exports the following: 
Imf_2_0_0::TypedAttribute<Imath::Matrix44<float>, 
Imf_2_0_0::Attribute>::writeValueTo(Imf_2_0_0::OStream&, int) const 

The version of the plugin I'm building is looking for this symbol a bit 
differently: 
Imf_2_0_0::TypedAttribute<Imath::Matrix44<float> 
>::writeValueTo(Imf_2_0_0::OStream&, int) const 

Would anyone be able to share the options passed to the openexr configure 
script used to build Nukes version? Or share what version of GCC is used to 
build Nuke? 


Thanks! 

Chip 
_______________________________________________ 
Nuke-dev mailing list 
[email protected] , http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 






-- 
B l a k e S l o a n 
S o f t w a r e, C o l o r 
D i g i t a l D o m a i n 
_______________________________________________ 
Nuke-dev mailing list 
[email protected] , http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 


_______________________________________________ 
Nuke-dev mailing list 
[email protected] , http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 


</blockquote>




-- 
B l a k e S l o a n 
S o f t w a r e, C o l o r 
D i g i t a l D o m a i n 
_______________________________________________ 
Nuke-dev mailing list 
[email protected] , http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 


_______________________________________________ 
Nuke-dev mailing list 
[email protected] , http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 


</blockquote>




-- 
B l a k e S l o a n 
S o f t w a r e, C o l o r 
D i g i t a l D o m a i n 

_______________________________________________
Nuke-dev mailing list [email protected] , 
http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 
</blockquote>


_______________________________________________ 
Nuke-dev mailing list 
[email protected], http://forums.thefoundry.co.uk/ 
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev 

_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to