So... just to be complete...

If fixing the include path STILL doesn't work (because the compiler hates the 
upstream external pugixml.hpp), then the next step is to change

if (NOT USE_EXTERNAL_PUGIXML)
    list (APPEND libOpenImageIO_hdrs
          ../include/OpenImageIO/pugiconfig.hpp
          ../include/OpenImageIO/pugixml.hpp
          ../include/OpenImageIO/pugixml.cpp
    )
    if (CMAKE_COMPILER_IS_GNUCC AND NOT ${GCC_VERSION} VERSION_LESS 6.0)
        set_source_files_properties (formatspec.cpp xmp.cpp
                                     PROPERTIES COMPILE_FLAGS 
-Wno-error=placement-new)
    endif ()
endif()


to this (make the error suppression not dependent on internal Pugi):

if (NOT USE_EXTERNAL_PUGIXML)
    list (APPEND libOpenImageIO_hdrs
          ../include/OpenImageIO/pugiconfig.hpp
          ../include/OpenImageIO/pugixml.hpp
          ../include/OpenImageIO/pugixml.cpp
    )
endif()
if (CMAKE_COMPILER_IS_GNUCC AND NOT ${GCC_VERSION} VERSION_LESS 6.0)
    set_source_files_properties (formatspec.cpp xmp.cpp
                                 PROPERTIES COMPILE_FLAGS 
-Wno-error=placement-new)
endif ()




> On Feb 3, 2016, at 2:01 PM, Larry Gritz <[email protected]> wrote:
> 
> Updated the PR. Try now. 
> 
> It was still having an explicit #include "OpenImageIO/pugixml.hpp"
> 
> 
>> On Feb 3, 2016, at 1:56 PM, Larry Gritz <[email protected]> wrote:
>> 
>> OH. I see why.
>> 
>> Hang on.
>> 
>> 
>>> On Feb 3, 2016, at 1:53 PM, Larry Gritz <[email protected]> wrote:
>>> 
>>> Something else I don't understand is, if you're using USE_EXTERNAL_PUGIXML, 
>>> why is it finding the embedded pugixml.hpp at all?
>>> 
>>> 
>>>> On Feb 3, 2016, at 1:45 PM, Larry Gritz <[email protected]> wrote:
>>>> 
>>>> That's still  from compiling formatspec.cpp.
>>>> 
>>>> 
>>>>> On Feb 3, 2016, at 1:42 PM, Richard Shaw <[email protected]> wrote:
>>>>> 
>>>>> I had to add the flag to imagebuf.cpp before it worked, then I ran into 
>>>>> the same problem in ustring.cpp:
>>>>> 
>>>>> [  8%] Building CXX object 
>>>>> src/libutil/CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o
>>>>> cd /builddir/build/BUILD/oiio-Release-1.6.10/build/linux/src/libutil && 
>>>>> ccache /usr/lib64/ccache/c++   -DNDEBUG -DOpenImageIO_Util_EXPORTS 
>>>>> -DUSE_EXTERNAL_PUGIXML=1 -DUSE_FIELD3D=1 -DUSE_FREETYPE -DUSE_OCIO=1 
>>>>> -DUSE_OPENCV -DUSE_OPENEXR_VERSION2=1 -DUSE_OPENSSL=1 
>>>>> -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/usr/include/OpenEXR 
>>>>> -I/usr/include/libraw 
>>>>> -I/builddir/build/BUILD/oiio-Release-1.6.10/src/include 
>>>>> -I/builddir/build/BUILD/oiio-Release-1.6.10/build/linux/include/OpenImageIO
>>>>>   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 
>>>>> -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 
>>>>> -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 
>>>>> -mtune=generic  -O2 -g -DNDEBUG -fPIC   -Wall -Werror -fno-math-errno 
>>>>> -Wno-error=unused-local-typedefs -Wno-unused-local-typedefs 
>>>>> -Wno-unused-result -o CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o -c 
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/libutil/ustring.cpp
>>>>> In file included from 
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/include/OpenImageIO/pugiconfig.hpp:41:0,
>>>>>              from 
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/include/OpenImageIO/pugixml.hpp:20,
>>>>>              from 
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/libOpenImageIO/formatspec.cpp:45:
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/include/OpenImageIO/pugixml.cpp:
>>>>>  In member function 'void 
>>>>> OpenImageIO::v1_6::pugi::xml_document::create()':
>>>>> /builddir/build/BUILD/oiio-Release-1.6.10/src/include/OpenImageIO/pugixml.cpp:5143:58:
>>>>>  error: placement new constructing an object of type 
>>>>> 'OpenImageIO::v1_6::pugi::impl::xml_document_struct' and size '88' in a 
>>>>> region of type 'char [1]' and size '1' [-Werror=placement-new]
>>>>> _root = new (page->data) impl::xml_document_struct(page);
>>>>>                                                       ^
>>>>> cc1plus: all warnings being treated as errors
>>>>> 
>>>>> _______________________________________________
>>>>> Oiio-dev mailing list
>>>>> [email protected]
>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>>> 
>>>> --
>>>> Larry Gritz
>>>> [email protected]
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Oiio-dev mailing list
>>>> [email protected]
>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>> 
>>> --
>>> Larry Gritz
>>> [email protected]
>>> 
>>> 
>>> _______________________________________________
>>> Oiio-dev mailing list
>>> [email protected]
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>> 
>> --
>> Larry Gritz
>> [email protected]
>> 
>> 
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected]
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
> 
> --
> Larry Gritz
> [email protected]
> 
> 
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to