Boost C++ Libraries: Ticket #3479: Cannot use $ORIGIN in <dll-path> when building boost https://svn.boost.org/trac10/ticket/3479 <p> Boost 1.40.0 has internal library dependencies (e.g., libboost_filesystem.so depends upon libboost_system.so) that I wanted to be able to automatically satisfy at run-time via RPATH. The most straightforward way to do this would be to embed an RPATH of $ORIGIN/../lib in the shared libraries (or even, more simply, $ORIGIN). </p> <p> Unfortunately, there is no way that I could discern to modify project-config.jam to escape $ORIGIN so that it would get passed through to the linker. I attempted to change the gcc toolset line to </p> <p> if ! gcc in [ feature.values &lt;toolset&gt; ] { </p> <blockquote> <p> using gcc : : : &lt;dll-path&gt;\$ORIGIN/../lib &lt;linkoptions&gt;-z origin ; </p> </blockquote> <p> } </p> <p> but no matter what combination of single quotes, backslashes, etc., that I tried, $ORIGIN got evaluated as an empty shell variable, and I'd end up with /../lib as my RPATH. </p> <p> In desperation, to move forward with my project, I hacked gcc.jam directly, and that produced the desired effect, but obviously, this is not a production-quality solution. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3479 Trac 1.4.3 Vladimir Prus Tue, 10 Nov 2009 07:08:07 GMT status changed; owner set https://svn.boost.org/trac10/ticket/3479#comment:1 https://svn.boost.org/trac10/ticket/3479#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Vladimir Prus</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Vladimir Prus Tue, 10 Nov 2009 07:08:57 GMT milestone changed https://svn.boost.org/trac10/ticket/3479#comment:2 https://svn.boost.org/trac10/ticket/3479#comment:2 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.41.0</span> → <span class="trac-field-new">Boost 1.42.0</span> </li> </ul> Ticket Vladimir Prus Sat, 20 Feb 2010 11:04:00 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3479#comment:3 https://svn.boost.org/trac10/ticket/3479#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/59765" title="Special case processing of RPATH, so that '$ORIGIN' can be used Fixes ...">[59765]</a>) Special case processing of RPATH, so that '$ORIGIN' can be used </p> <p> Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3479" title="#3479: Bugs: Cannot use $ORIGIN in &lt;dll-path&gt; when building boost (closed: fixed)">#3479</a> </p> Ticket