Handling of bundled apps/libraries for Linux distro packaging.


Jeremy Selan <jeremy...@...>
 

Cool.

Which test is failing?

Yah, I looked into switching up to 0.2.7 recently and saw something similar myself.  I assume you're not apply the yaml-cpp patch file?  The issue is not yaml-cpp 0.2.7 specific, but rather that in the library both f32 + f64 are serialized with 15 digits of precision.  So we patch yaml to disable the f64 precision output:


--- yaml-cpp-r482/src/emitter.cpp       2011-05-17 16:04:01.794448000 -0700
+++ yaml-cpp-r482/src/emitter.cpp.new   2011-05-17 16:04:25.948733000 -0700
@@ -661,7 +661,7 @@
        {
                PreAtomicWrite();
                EmitSeparationIfNecessary();
-               str.precision(15);
+               // str.precision(15);
        }


I contacted the author recently about this. He's in favor of adding precision controls so we can do this client side, but wont have an opportunity until this winter break.

http://code.google.com/p/yaml-cpp/issues/detail?id=106

-- Jeremy


On Fri, Dec 2, 2011 at 1:29 PM, Richard Shaw <hobbe...@...> wrote:
Ok, I've got good news and I've got bad news. I'll start with the good
since it's shorter :)

Good:
- I've gotten a successful build using the yaml-cpp system library.
- The current unit test works :) See below.

Bad:
- In order to get a good build I have to use yaml-cpp version 0.2.7
which is only available in upcoming Fedora 17.
- The ocio_core_tests fails with stock 0.2.7.

Richard


Richard Shaw <hobbe...@...>
 

On Fri, Dec 2, 2011 at 3:39 PM, Jeremy Selan <jeremy...@...> wrote:
Cool.

Which test is failing?
It didn't say other than "ocio_core_tests". Is there a log that's
written I can check?


Yah, I looked into switching up to 0.2.7 recently and saw something similar
myself.  I assume you're not apply the yaml-cpp patch file?  The issue is
not yaml-cpp 0.2.7 specific, but rather that in the library both f32 + f64
are serialized with 15 digits of precision.  So we patch yaml to disable the
f64 precision output:
Yeah, I saw the patch but wasn't really sure what it did :)

I've setup a version check as part of the process so when a known good
version is established we can set the version number. Right now it's
hard-coded but I'll setup a cmake macro variable for it.


I contacted the author recently about this. He's in favor of adding
precision controls so we can do this client side, but wont have an
opportunity until this winter break.

http://code.google.com/p/yaml-cpp/issues/detail?id=106
Well, that's hopeful at least. The only question is what to do for
now? I think someone semi-volunteered to ask for a formal exception
from Fedora, otherwise we'll just have to wait.

Thanks,
Richard


Richard Shaw <hobbe...@...>
 

On Fri, Dec 2, 2011 at 3:39 PM, Jeremy Selan <jeremy...@...> wrote:
Which test is failing?
I found the log. Here's the relevant sections:

/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/TruelightTransform.cpp:356:
FAILED: osvec[i] == referenceconfigvec[i]
values were 'search_path: ""' and 'search_path: '
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/TruelightTransform.cpp:356:
FAILED: osvec[i] == referenceconfigvec[i]
values were 'luma: [0.212599992752075, 0.715200006961823,
0.0722000002861023]' and 'luma: [0.2126, 0.7152, 0.0722]'
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/TruelightTransform.cpp:356:
FAILED: osvec[i] == referenceconfigvec[i]
values were ' equalitygroup: ""' and ' equalitygroup: '
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/TruelightTransform.cpp:356:
FAILED: osvec[i] == referenceconfigvec[i]
values were ' equalitygroup: ""' and ' equalitygroup: '
Test [TruelightTransform] [simpletest] - FAILED
---
Why is it testing truelight? I'm not using it..

Another snippet:

/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/Config.cpp:2146:
FAILED: osvec[i] == PROFILE_OUTvec[i]
values were 'search_path: ""' and 'search_path: '
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/Config.cpp:2146:
FAILED: osvec[i] == PROFILE_OUTvec[i]
values were 'luma: [0.212599992752075, 0.715200006961823,
0.0722000002861023]' and 'luma: [0.2126, 0.7152, 0.0722]'
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/Config.cpp:2146:
FAILED: osvec[i] == PROFILE_OUTvec[i]
values were ' equalitygroup: ""' and ' equalitygroup: '
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/Config.cpp:2146:
FAILED: osvec[i] == PROFILE_OUTvec[i]
values were ' - !<FileTransform> {src: "",
interpolation: unknown}' and ' - !<FileTransform> {src: ,
interpolation: unknown}'
/home/build/rpmbuild/OpenColorIO/BUILD/imageworks-OpenColorIO-bfb6b0d/src/core/Config.cpp:2146:
Test [Config_Unit_Tests] [test_ser] - FAILED
FAILED: osvec[i] == PROFILE_OUTvec[i]
values were ' equalitygroup: ""' and ' equalitygroup: '

Richard


Richard Shaw <hobbe...@...>
 

A little more news.

I've got USE_EXTERNAL options for setup for LCMS, Yaml-Cpp, and
tinyxml setup in my "bundles" fork.

Currently they are all in a "if(UNIX AND NOT APPLE) conditional so
they only show up on *nix systems, but I'm pretty sure that if someone
added the option it would attempt to use it.

It's currently passing the current tests as long as I'm not using
external Yaml.

Richard