Boost C++ Libraries: Ticket #2438: gcc.jam sets LD_LIBRARY_PATH which breaks FreeBSD build https://svn.boost.org/trac10/ticket/2438 <p> In build/tools/v2/tools/gcc.jam we are setting the LD_LIBRARY_PATH for compilation to: </p> <p> /usr/bin:/usr/lib:/usr/lib32:/usr/lib64 </p> <p> Couple of points: </p> <ul><li>/usr/bin (?) :D </li><li>/usr/lib on FreeBSD does not contain major number libs so most if not all binaries will not pick up anything from here </li><li>/usr/lib32 on FreeBSD DOES CONTAIN major number libs so if you are building on 32-bit this will work, HOWEVER if you are building 64-bit then this will cause failures </li><li>/usr/lib64 does not exist on FreeBSD (I believe this is a Linux thing) </li></ul><p> Based on the comments within gcc.jam I FEEL as do some other people (see thread reference) that if bjam is *really* going to rely on rtld then it should do so by NOT setting anything to LD_LIBRARY_PATH which many have pointed out is only to be used when the standard search path is not enough. Setting this PATH is very dangerous and for 99% of the build cases, rtld does the right thing. </p> <p> Thread: </p> <p> <a class="ext-link" href="http://www.nabble.com/Boost-1.36.0-FreeBSD-patches-for-review-td20143328.html"><span class="icon">​</span>http://www.nabble.com/Boost-1.36.0-FreeBSD-patches-for-review-td20143328.html</a> </p> <p> If it is decided to set LD_LIBRARY_PATH then we need to make this OS specific and unset it for FreeBSD (or minimally add back /lib which Steven pointed out in the above thread is probably not the right solution given LD_LIBRARY_PATH's semantics). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2438 Trac 1.4.3 Steven Watanabe Thu, 08 Jan 2009 03:35:11 GMT component changed; owner set https://svn.boost.org/trac10/ticket/2438#comment:1 https://svn.boost.org/trac10/ticket/2438#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Vladimir Prus</span> </li> <li><strong>component</strong> <span class="trac-field-old">Building Boost</span> → <span class="trac-field-new">build</span> </li> </ul> Ticket smr@… Sun, 19 Jul 2009 19:11:12 GMT cc set https://svn.boost.org/trac10/ticket/2438#comment:2 https://svn.boost.org/trac10/ticket/2438#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">smr@…</span> added </li> </ul> Ticket Vladimir Prus Tue, 10 Nov 2009 07:55:28 GMT status, milestone changed https://svn.boost.org/trac10/ticket/2438#comment:3 https://svn.boost.org/trac10/ticket/2438#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.37.0</span> → <span class="trac-field-new">Boost 1.42.0</span> </li> </ul> <p> I'll try to sort this, one way or another, soonish. </p> Ticket jim@… Mon, 11 Jan 2010 17:10:44 GMT <link>https://svn.boost.org/trac10/ticket/2438#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2438#comment:4</guid> <description> <p> I have no input on the <em>right</em> way to fix it, but as a point of reference, this fix-up in gcc.jam works for 64-bit FreeBSD. See today's trunk test results (<a href="http://www.boost.org/development/tests/trunk/jc-bell.com_FBSDA.html">http://www.boost.org/development/tests/trunk/jc-bell.com_FBSDA.html</a>). </p> <blockquote> <p> local lib_path = $(root)/bin $(root)/lib $(root)/lib64 /lib ; </p> </blockquote> <p> For FreeBSD-64, yanking $(root)/lib32 and adding /lib is req'd, or at least putting /lib <em>before</em> $(root)/lib32. Glad to try other things if you want. </p> </description> <category>Ticket</category> </item> </channel> </rss>