Hi Chad,
Thanks a lot! I was able to get the python binding working correctly (on
Linux) after passing the following flags : -fvisibility=hidden
-Wl,--exclude-libs,ALL
...and since I'm using a gcc version greater than 4.2, I didn't have to
worry about errors on the compiler side.
Still having issue on OSX though, because I'm not able to pass the
--exclude-libs flag. It must be because the xcode linker doesn't support
the option. All I know is that without it, I'm still getting symbol
collision (related to IlmThread) in Mari on Mac. I wish there was an
equivalent :(
I'm also having trouble in Maya on Mac. I can import OpenImageIO, but if I
start using ImageBufAlgo operations, Maya crashes with following error:
'''
Stack trace:
4 ???
0x000000010fd06000 0x0 + 4560281600
5 libfbxassetscore2.dylib 0x000000010bad179b
boost::re_detail::basic_regex_parser<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::parse_extended() + 235
6 libOpenImageIO.1.5.dylib 0x000000016539960c
boost::re_detail::basic_regex_parser<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::parse(char const*, char const*, unsigned
int) + 508
7 libOpenImageIO.1.5.dylib 0x00000001653917f2
boost::re_detail::basic_regex_implementation<char,
boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char
const*, char const*, unsigned int) + 130
8 libOpenImageIO.1.5.dylib 0x00000001653914d7
boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*,
unsigned int) + 455
9 libOpenImageIO.1.5.dylib 0x0000000164deefaa
OpenImageIO::v1_5::ImageBufAlgo::IBAprep(OpenImageIO::v1_5::ROI&,
OpenImageIO::v1_5::ImageBuf*, OpenImageIO::v1_5::ImageBuf const*,
OpenImageIO::v1_5::ImageBuf const*, OpenImageIO::v1_5::ImageSpec*, int) +
2026
10 libOpenImageIO.1.5.dylib 0x0000000164faf90b
OpenImageIO::v1_5::ImageBufAlgo::add(OpenImageIO::v1_5::ImageBuf&,
OpenImageIO::v1_5::ImageBuf const&, OpenImageIO::v1_5::ImageBuf const&,
OpenImageIO::v1_5::ROI, int) + 59
11 OpenImageIO.so 0x0000000164b52aa0
PyOpenImageIO::IBA_add_images(OpenImageIO::v1_5::ImageBuf&,
OpenImageIO::v1_5::ImageBuf const&, OpenImageIO::v1_5::ImageBuf const&,
OpenImageIO::v1_5::ROI, int) + 48
12 OpenImageIO.so 0x0000000164b8f42e
boost::python::detail::caller_arity<5u>::impl<bool
(*)(OpenImageIO::v1_5::ImageBuf&, OpenImageIO::v1_5::ImageBuf const&,
OpenImageIO::v1_5::ImageBuf const&, OpenImageIO::v1_5::ROI, int),
boost::python::default_call_policies, boost::mpl::vector6<bool,
OpenImageIO::v1_5::ImageBuf&, OpenImageIO::v1_5::ImageBuf const&,
OpenImageIO::v1_5::ImageBuf const&, OpenImageIO::v1_5::ROI, int>
>::operator()(_object*, _object*) + 494
13 OpenImageIO.so 0x0000000164bbaebe
boost::python::objects::function::call(_object*, _object*) const + 798
14 OpenImageIO.so 0x0000000164bbd05a
boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous
namespace)::bind_return,
void>::invoke(boost::detail::function::function_buffer&) + 26
15 OpenImageIO.so 0x0000000164bc3471
boost::python::handle_exception_impl(boost::function0<void>) + 81
16 OpenImageIO.so 0x0000000164bbcab3
boost::python::objects::function_call(_object*, _object*, _object*) + 83
17 Python 0x0000000109633362 PyObject_Call
+ 98
18 Python 0x00000001096e62c8
PyEval_EvalFrameEx + 14024
19 Python 0x00000001096eb149
PyEval_EvalCodeEx + 2137
20 Python 0x00000001096eb266
PyEval_EvalCode + 54
21 libCommandEngine.dylib 0x0000000100cf7ae7
TpythonInterpreter::executeCommand(Tstring const&, bool, bool,
TinterpreterResult*) + 841
22 libExtensionLayer.dylib 0x0000000101649868
TcommandFieldExecuterTypePython::executeCommand(Tstring const&) + 90
23 libExtensionLayer.dylib 0x0000000101649900 non-virtual
thunk to TcommandFieldExecuterTypePython::executeCommand(Tstring const&) +
16
24 libExtensionLayer.dylib 0x000000010164ba9a
QmayaCommandScrollFieldExecuter::doRun() + 348
25 libExtensionLayer.dylib 0x00000001015d2b00
TcommandScrollFieldExecuterCmd::doEditFlags() + 2142
26 libExtensionLayer.dylib 0x000000010159df40
TiceBaseCmd::doEdit() + 44
27 libExtensionLayer.dylib 0x000000010159fa28
TiceBaseCmd::doCommand(TargList&) + 722
28 libCommandEngine.dylib 0x0000000100c9faa7
Mel_Command_Dispatch(SphNode*) + 647
29 libCommandEngine.dylib 0x0000000100cc77d3 node_exec + 323
30 libCommandEngine.dylib 0x0000000100cc79d0
sophia_call_executable + 80
31 libCommandEngine.dylib 0x0000000100ce7aa9
SophiaExecutable::evaluate(void*) + 91
32 libCommandEngine.dylib 0x0000000100ca80e8
TcommandEngine::executeCommand(Tstring const&, bool, bool, TmelCmdResult*,
unsigned int) + 1090
33 libExtensionLayer.dylib 0x00000001014e5bec
TidleScriptAction::doIdleAction(Tevent const&) + 134
34 libExtensionLayer.dylib 0x00000001014e64ec
TidleAction::preDoIdleAction(Tevent const&) + 24
35 libExtensionLayer.dylib 0x00000001014e63db
TcallBackTidleAction::doIt(Tevent const&) + 43
36 libExtensionLayer.dylib 0x00000001014f0a40
TeventHandler::doIdles() + 1056
37 QtCore 0x0000000107ae9de5
QObject::event(QEvent*) + 51
38 libExtensionLayer.dylib 0x00000001014ef514
QidleTimer::event(QEvent*) + 96
39 QtGui 0x0000000107d82d52
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 330
40 QtGui 0x0000000107d82fc5
QApplication::notify(QObject*, QEvent*) + 603
41 libExtensionLayer.dylib 0x00000001014ec8d8
QmayaApplication::notify(QObject*, QEvent*) + 220
42 QtCore 0x0000000107ad5fc6
QCoreApplication::notifyInternal(QObject*, QEvent*) + 104
43 QtGui 0x0000000107d824ca
qt_sendSpontaneousEvent(QObject*, QEvent*) + 42
'''
It seems related to the boost libraries.
If anyone has the same problem, or a solution for the mac side, I'd be
curious to know.
Cheers!
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org