Re: [Oiio-dev] Poll -- C++ compilers
No to both. Am 04.09.2013 00:24, schrieb Larry Gritz: Two more questions: Is anybody still using Python = 2.5? Does anybody legitimately care about Python 3.x? On Aug 27, 2013, at 5:40 PM, Larry Gritz wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
A rough guess at the minimums. These are generally determined by what old version of third party tools we're still building for: Compiler - icc 11.1+, gcc 4.5+ Boost: 1.46.1+ OpenEXR: 1.7.1+ Python 2.x: 2.6+ Python 3.x: nope --jono On Tue, Sep 3, 2013 at 3:24 PM, Larry Gritz l...@larrygritz.com wrote: Two more questions: Is anybody still using Python = 2.5? Does anybody legitimately care about Python 3.x? On Aug 27, 2013, at 5:40 PM, Larry Gritz wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
On Wed, Sep 4, 2013 at 9:06 AM, Larry Gritz l...@larrygritz.com wrote: I should have clarified that I'm talking strictly about OIIO internals -- for link compatibility with apps that must use older compilers, I was not really considering using any newfangled things in the public APIs. Note that the /occasional/ C++ standard library class has a different ABI between C++98 and C++11, at least with gcc. I'd guess that the OIIO API doesn't suffer from this, but worth being aware of if nothing else. See http://gcc.gnu.org/wiki/Cxx11AbiCompatibility I've actually been bitten by this when linking against a library with a lot of C++ types in the interface, and where I wasn't consistent about the compile flags between the library and my code. The result is exactly what you'd expect from ABI incompatibility: random crashing and weirdness. ~Chris ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Two more questions: Is anybody still using Python = 2.5? Does anybody legitimately care about Python 3.x? On Aug 27, 2013, at 5:40 PM, Larry Gritz wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Don't panic. From these responses, it's clear that we can't really make much use of C++11 features for a while, too many people are stuck on old compilers. I should have clarified that I'm talking strictly about OIIO internals -- for link compatibility with apps that must use older compilers, I was not really considering using any newfangled things in the public APIs. In theory, anyway, all gcc's = 4.1 (I think) should be mutually linkable as long as you stick to 4.1 compatible stuff in the public APIs. But there may be corner cases, so it's probably best to be extra conservative since I have no good way to test the full cross-product of compilers versus every DCC app that we care about. Pete Black said: Default compiler on OS X Snow Leopard is gcc 4.2, I compile OIIO on my mac laptop and would ideally like to continue doing so. Me, too, although these days I run clang 3.3 on my OS 10.6 laptop, and it works great and I've had no compatibility issues with gcc (though I do not use -stdlib to use their new standard library, which is NOT compatible with gcc). Clang is vastly superior in both compilation speed as well as understandable error messages, compared to gcc. Also, it's pretty close to the bleeding edge of C++11 (and now C++14) feature adoption. On Aug 27, 2013, at 5:40 PM, Larry Gritz wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
XCode 4.5+ (for iOS+ARMv7) Boost: Whatever compiles on iOS is fine, currently 1.44 On Tue, Sep 3, 2013 at 4:06 PM, Larry Gritz l...@larrygritz.com wrote: Don't panic. From these responses, it's clear that we can't really make much use of C++11 features for a while, too many people are stuck on old compilers. I should have clarified that I'm talking strictly about OIIO internals -- for link compatibility with apps that must use older compilers, I was not really considering using any newfangled things in the public APIs. In theory, anyway, all gcc's = 4.1 (I think) should be mutually linkable as long as you stick to 4.1 compatible stuff in the public APIs. But there may be corner cases, so it's probably best to be extra conservative since I have no good way to test the full cross-product of compilers versus every DCC app that we care about. Pete Black said: Default compiler on OS X Snow Leopard is gcc 4.2, I compile OIIO on my mac laptop and would ideally like to continue doing so. Me, too, although these days I run clang 3.3 on my OS 10.6 laptop, and it works great and I've had no compatibility issues with gcc (though I do not use -stdlib to use their new standard library, which is NOT compatible with gcc). Clang is vastly superior in both compilation speed as well as understandable error messages, compared to gcc. Also, it's pretty close to the bleeding edge of C++11 (and now C++14) feature adoption. On Aug 27, 2013, at 5:40 PM, Larry Gritz wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
For some plugin work we're at the choice of vendors, which means gcc 4.1.x (Nuke/Maya/etc) on Linux :-( Luckily we're only using OIIO standalone so for that we're 4.6.1 currently, OSX is 4.2.1. Windows is VS2010. Boost wise we're 1.47 - probably because nobody tried building a newer one in some time :-) As a standalone OCIO can use whatever it wants. Kevin On Wed, Aug 28, 2013 at 7:51 AM, Sebastian Elsner sebast...@risefx.comwrote: Am 28.08.2013 02:40, schrieb Larry Gritz: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? On Windows you are free to use every compiler version since you have to compile all libraries yourself anyway. But this is only for open source apps. I am thinking more in a way of host applications I do not have control over. For example OIIO is used by MtoA, MtoA must run in Maya, and Maya is VS 2010. Nuke uses 2010, too. So we need to stick to those compiler versions, because of big incompatibilities. On Linux Maya uses 4.1.3, which is pretty old I guess. The standard Python 2.6/2.7 again, that comes with the official installer is VS 2008 (as is Houdini for example). Since we will be stuck with Py 2.6 for a while (I guess, since there seems to be no urge in any software package to move to 3) 2008 is the lowest for windows. I guess to use all the super new feature of C++11 VS 2012 would be needed since older versions are not very compliant... Right now we are on Windows only, but that will change. We will be going with a stock CentOS 6.x. So its 4.4 there? * What Boost version do you think will be the oldest you'll need OIIO to support? Don't care. * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? AFAIK None. If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Am 28.08.2013 02:40, schrieb Larry Gritz: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? On Windows you are free to use every compiler version since you have to compile all libraries yourself anyway. But this is only for open source apps. I am thinking more in a way of host applications I do not have control over. For example OIIO is used by MtoA, MtoA must run in Maya, and Maya is VS 2010. Nuke uses 2010, too. So we need to stick to those compiler versions, because of big incompatibilities. On Linux Maya uses 4.1.3, which is pretty old I guess. The standard Python 2.6/2.7 again, that comes with the official installer is VS 2008 (as is Houdini for example). Since we will be stuck with Py 2.6 for a while (I guess, since there seems to be no urge in any software package to move to 3) 2008 is the lowest for windows. I guess to use all the super new feature of C++11 VS 2012 would be needed since older versions are not very compliant... Right now we are on Windows only, but that will change. We will be going with a stock CentOS 6.x. So its 4.4 there? * What Boost version do you think will be the oldest you'll need OIIO to support? Don't care. * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? AFAIK None. If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
[Oiio-dev] Poll -- C++ compilers
I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? * What Boost version do you think will be the oldest you'll need OIIO to support? * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? If you aren't comfortable answering on the mail list, a private email to me is fine, and I will summarize results later. For simplicity, you need not reply if you are already using this year's tools: GCC = 4.8, MSVC = 11 (VS 2012), Clang = 3.3. -- Larry Gritz l...@larrygritz.com ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Just checked a fully updated EL6 system and it's still at GCC 4.4... Since it has a 7 year support period, I don't expect that to change anytime soon. Richard ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Default compiler on OS X Snow Leopard is gcc 4.2, I compile OIIO on my mac laptop and would ideally like to continue doing so. -Pete On 28/08/2013, at 1:07 PM, Richard Shaw hobbes1...@gmail.com wrote: Just checked a fully updated EL6 system and it's still at GCC 4.4... Since it has a 7 year support period, I don't expect that to change anytime soon. Richard ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
On Tue, Aug 27, 2013 at 8:11 PM, Pete Black pbl...@parkroad.co.nz wrote: Default compiler on OS X Snow Leopard is gcc 4.2, I compile OIIO on my mac laptop and would ideally like to continue doing so. Interesting... I wouldn't think anything would be behind EL... Richard ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
Admittedly, I am way behind what the cool kids are running with their Mountain Lions and Mavericks or whatever the new hotness is. On the Linux side the only compiler version particularly relevant to my work would be (from Ubuntu 12.04 LTS) GCC 4.6 -Pete On 28/08/2013, at 1:17 PM, Richard Shaw hobbes1...@gmail.com wrote: On Tue, Aug 27, 2013 at 8:11 PM, Pete Black pbl...@parkroad.co.nz wrote: Default compiler on OS X Snow Leopard is gcc 4.2, I compile OIIO on my mac laptop and would ideally like to continue doing so. Interesting... I wouldn't think anything would be behind EL... Richard ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
On Tue, Aug 27, 2013 at 8:24 PM, Pete Black pbl...@parkroad.co.nz wrote: Admittedly, I am way behind what the cool kids are running with their Mountain Lions and Mavericks or whatever the new hotness is. On the Linux side the only compiler version particularly relevant to my work would be (from Ubuntu 12.04 LTS) GCC 4.6 I think gcc 4.6 is a reasonable minimum at this point but I wouldn't want to leave OSX out to dry so to speak... Richard ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
Re: [Oiio-dev] Poll -- C++ compilers
On Wed, Aug 28, 2013 at 2:40 AM, Larry Gritz l...@larrygritz.com wrote: I won't hold you to this. And I'm not planning any immediate changes. But thinking about where we are going with toolchain dependencies, coding standards, and how conservative we need to be about newer C++ features... For Blender it can be a bit difficult to define. Generally speaking it's nice if libraries are conservative in using new compiler features because as an open source project we don't have full control over the build environment that users have. Think ahead to where you or your facility will likely be in, say, January 2014. * What C++ compiler and version do you think will be the oldest (i.e., least C++11-compliant) you'll need OIIO to support? On Windows, we still use Visual Studio 2008, we're moving to Visual Studio 2012 but I don't know if this will be done by january. On OS X, Clang 3.1 is the oldest compiler version that we must support currently (last Xcode version to support OS X 10.6). On Linux, it depends on what's available in distributions, GCC 4.6 covers practically all users I think. * What Boost version do you think will be the oldest you'll need OIIO to support? We currently require Boost 1.49 or newer. I don't know if that's the absolute minimum but newer versions would require us to do some work upgrading libraries. * Can you think of any other dependencies (OpenEXR, etc.) that you are likely to need support for any versions MORE THAN TWO YEARS OLD, i.e., dating from 2011 or earlier? None that I know of. Brecht. ___ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org