Shane, can you try this patch: https://github.com/OpenImageIO/oiio/pull/694
If that gets you a clean compile and seems to work, let me know and I'll commit
it.
-- lg
On Oct 11, 2013, at 9:52 AM, Larry Gritz wrote:
> Aha, I was aware that they changed the internal layout of std::string, so I
> knew this would pop its head up one of these days. Lots of us use clang, but
> perhaps you're the first to try with libc++ (rather than using clang with the
> regular gnu libraries). I think I have a quick fix, stay tuned.
>
> -- lg
>
>
> On Oct 11, 2013, at 1:54 AM, Shane Ambler wrote:
>
>> Hi all.
>>
>> I am attempting to get ocio oiio and osl building on FreeBSD 10.0. For
>> those that don't know 10.0 has recently gone alpha aiming for release in
>> a few months. The main change would be clang 3.2 and the new libc++ from
>> libcxx.llvm.org while removing the old gcc compiler and libs from a base
>> install. These build and run fine on freebsd 9.2 using clang 3.2 which
>> still has the gcc libs.
>>
>> I adjusted ocio to test for _LIBCPP_VERSION and use std::shared_ptr
>> instead of tr1::shared_ptr
>>
>> To get oiio 1.2.2 compiling I updated to pugixml 1.2 (external)
>>
>> While oiio then compiles ok, when building osl I get oslc triggering the
>> DASSERT on line 137 of libutil/ustring.cpp when it tries to compile the
>> contained osl scripts.
>>
>> I have tried the non-gcc fallback in ustring.cpp without luck.
>>
>> The libc++ string file includes a _LIBCPP_ALTERNATE_STRING_LAYOUT option
>> that also doesn't help.
>>
>> I am guessing that an adjustment needs to be made with ustring to work
>> with libc++ but I'm not sure where to start.
>>
>>
>> thanks.
>>
>>
>> Running the osl compile step in gdb I get the following backtrace --
>>
>> /usr/ports/graphics/openimageio/work/OpenImageIO-oiio-f9d8f1b/src/libutil/ustring.cpp:137:
>> failed assertion 'str.c_str() == c_str()'
>>
>> Program received signal SIGABRT, Aborted.
>> [Switching to Thread 819406400 (LWP 100230/oslc)]
>> 0x000000080344998a in thr_kill () from /lib/libc.so.7
>> (gdb) bt
>> #0 0x000000080344998a in thr_kill () from /lib/libc.so.7
>> #1 0x0000000803518259 in abort () from /lib/libc.so.7
>> #2 0x000000080196d120 in TableRep (this=0x81943c3d0, s=0x801bb50b8
>> "resolution", len=10)
>> at
>> /usr/ports/graphics/openimageio/work/OpenImageIO-oiio-f9d8f1b/src/libutil/ustring.cpp:137
>> #3 0x000000080196d607 in OpenImageIO::v1_2::ustring::make_unique
>> (str=0x801bb50b8 "resolution")
>> at
>> /usr/ports/graphics/openimageio/work/OpenImageIO-oiio-f9d8f1b/src/libutil/ustring.cpp:196
>> #4 0x000000080110118f in ustring (this=0x801f21e20, str=0x801bb50b8
>> "resolution") at ustring.h:166
>> #5 0x000000080110114d in ustring (this=0x801f21e20, str=0x801bb50b8
>> "resolution") at ustring.h:167
>> #6 0x00000008019ae35b in __cxx_global_var_init16 ()
>> at
>> /usr/ports/graphics/openimageio/work/OpenImageIO-oiio-f9d8f1b/src/libtexture/imagecache.cpp:80
>> #7 0x00000008019c8a39 in global constructors keyed to a ()
>> at
>> /usr/ports/graphics/openimageio/work/OpenImageIO-oiio-f9d8f1b/src/libtexture/imagecache.cpp:229
>> #8 0x0000000801ba83b2 in __do_global_ctors_aux () from
>> /usr/local/lib/libOpenImageIO.so.1.2
>> #9 0x00000008015a7d0e in _init () from /usr/local/lib/libOpenImageIO.so.1.2
>> #10 0x00007fffffffccc0 in ?? ()
>> #11 0x0000000800616701 in objlist_call_init () from /libexec/ld-elf.so.1
>> #12 0x0000000800615c97 in _rtld () from /libexec/ld-elf.so.1
>> #13 0x0000000800614089 in .text () from /libexec/ld-elf.so.1
>> #14 0x0000000000000000 in ?? ()
>> (gdb)
>>
>> _______________________________________________
>> 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