Menu

fails to build because headers case changed

2010-07-21
2013-04-18
  • Sébastien Barthélémy

    Hello.

    I have a problem building coherencytest for collada15dom on linux. The
    problem would probably be the same on any case-sensitive system.

    The case of some collada-dom headers changed between 1.4 and 1.5.

    see for instance:

    $ ls dom/include/1.?/dom/domProfile_*
    dom/include/1.4/dom/domProfile_CG.h
    dom/include/1.4/dom/domProfile_COMMON.h
    dom/include/1.4/dom/domProfile_GLES.h
    dom/include/1.4/dom/domProfile_GLSL.h
    dom/include/1.5/dom/domProfile_bridge.h
    dom/include/1.5/dom/domProfile_cg.h
    dom/include/1.5/dom/domProfile_common.h
    dom/include/1.5/dom/domProfile_gles.h
    dom/include/1.5/dom/domProfile_gles2.h
    dom/include/1.5/dom/domProfile_glsl.h

    When I build coherencytest for 1.5 support, it fails because it cannot find dom/domProfile_COMMON.h. If I rename this file with common in lower case, then collada-dom itself cannot build because it #includes dom/domProfile_common.h.

    I found no bug report on this. Is it a known problem? What should I do? Do you
    consider this to be a bug in collada-dom or coherencytest?

     
  • Marcus Barnes

    Marcus Barnes - 2010-07-22

    The DOM is not link compatible between 1.4 and 1.5 versions. Even after making the changes needed to satisfy the compiler and linker, it's probable that the coherency checker won't understand some aspects of the 1.5 schema and some of it's checks will fail or crash.

    Wrt changing a DOM API file name to make something build, that's not the right approach. You should be branching the application code to build against either of the two API versions.

     
  • Sébastien Barthélémy

    The DOM is not link compatible between 1.4 and 1.5 versions. Even after making the changes needed to satisfy the compiler and linker, it's probable that the coherency checker won't understand some aspects of the 1.5 schema and some of it's checks will fail or crash.

    you mean that coherencytest is a 1.4-only application, and that if it work with 1.5 (which it does not for me right now), it is by chance?

    Does it work on windows with collada15dom?

    In build/makedef.txt , there is a COLLADA_DOM_VERSION that made me believe the contrary.

    Wrt changing a DOM API file name to make something build, that's not the right approach. You should be branching the application code to build against either of the two API versions.

    I believed it was a bug in the dom, only visible on case-sensitive systems. If the filename case change was intended, I agree I should not touch it.

      http://colladarefinery.svn.sourceforge.net/viewvc/colladarefinery/CoherencyTest/trunk/build/makedefs.txt?revision=86&view=markup

     

Log in to post a comment.