Note that there are some explanatory texts on larger screens.

plurals
  1. POBuilding a Boost.Python application on MacOS 10.9 (Mavericks)
    text
    copied!<p>I upgraded to Mavericks, and am now unable to build my application after much troubleshooting.</p> <p>During linking, I receive the errors</p> <pre><code>Undefined symbols for architecture x86_64: "boost::python::objects::function_object(boost::python::objects::py_function const&amp;, std::pair&lt;boost::python::detail::keyword const*, boost::python::detail::keyword const*&gt; const&amp;) . . . "boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair&lt;void*, boost::python::type_info&gt; (*)(void*))" </code></pre> <p>I am using g++ from macports, specifically g++-mp-4.4. Clang is not an option for my project, as my project depends upon OpenMP, which is currently incompatible with Clang.</p> <p>I have not been using the C++11 runtime, but the Boost.Python library from macports (the one I am using during linking) is linked against it. </p> <pre><code>otool -L libboost_python-mt.dylib libboost_python-mt.dylib: /opt/local/lib/libboost_python-mt.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) </code></pre> <p>Is this the root of my problem? Compiling part of my project with Clang succeeds (and hurdles this linking error stage), yet as I mentioned, I required OpenMP.</p> <p>Notably, running:</p> <pre><code>nm libboost_python-mt.dylib | c++filt | grep boost::python::objects::function_object </code></pre> <p>outputs</p> <pre><code>0000000000013d60 T boost::python::objects::function_object(boost::python::objects::py_function const&amp;) 0000000000013d00 T boost::python::objects::function_object(boost::python::objects::py_function const&amp;, std::__1::pair&lt;boost::python::detail::keyword const*, boost::python::detail::keyword const*&gt; const&amp;) </code></pre> <p>which have std::__1 prefixes, which do not match what is expected in the undefined symbols errors...</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload