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

Reply via email to