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