Boost C++ Libraries: Ticket #2595: vacpp on linux: library build issues https://svn.boost.org/trac10/ticket/2595 <p> When building boost libraries with xlc on a PPC64 Linux platform (though building in 32-bit mode -- it's a RHEL5 system), I have two issues. (Actually, I had three, but the third one has already been reported and fixed): </p> <ul><li>Boost is passing -qpic, but we find that we really need -qpic=large in order to avoid problems loading </li><li>Shared libraries are not built with the -soname option being passed to the linker, which causes several problems, though I believe these are all well understood. </li></ul><p> I suspect the vacpp configuration has been tested most thoroughly on AIX, which is the reason for these omissions. </p> <p> I have attached a patch that addresses both issues. The patch applies cleanly to 1.37. </p> <p> <strong>NOTE</strong> This patch is Linux-specific. It would be easy to make these properly conditional on Linux so they don't get applied on non-Linux platforms, but since I have only linux to test with and am not that familiar with bjam, if I were to attempt this, it would just be a guess anyway. I'm sure someone who is familiar with bjam can very easily apply this fix correctly rather than just accepting my incomplete patch as is. </p> <p> All the patch does is replace -qpic with -qpic=large wherever -qpic is passed to xlc, and add -Wl,-soname -Wl,&lt;libname-without-dir&gt; to vacpp.link.dll. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2595 Trac 1.4.3 Jay Berkenbilt <ejb@…> Tue, 16 Dec 2008 17:14:08 GMT attachment set https://svn.boost.org/trac10/ticket/2595 https://svn.boost.org/trac10/ticket/2595 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">vacpp-linux.patch</span> </li> </ul> <p> Linux-specific patch -- needs to be applied manually with conditionals to not break non-Linux </p> Ticket Steven Watanabe Sat, 27 Dec 2008 23:03:33 GMT component changed; owner set https://svn.boost.org/trac10/ticket/2595#comment:1 https://svn.boost.org/trac10/ticket/2595#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">None</span> → <span class="trac-field-new">build</span> </li> </ul> Ticket Vladimir Prus Sat, 21 Mar 2009 23:19:27 GMT <link>https://svn.boost.org/trac10/ticket/2595#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2595#comment:2</guid> <description> <p> Can you clarify which of those changes are known not to work on Linux, or it is unknown? I need to decide which of them to conditionalize. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Sun, 22 Mar 2009 16:46:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2595#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2595#comment:3</guid> <description> <p> Unfortunately, I don't have access to vacpp on anything except Linux ppc64. I had decided not to make the patch Linux-specific to isolate the actual changes needed for Linux rather than to guess the behavior of vacpp on AIX or other systems that it might be available for and that I can't test. It might be sufficient just to make those changes conditional upon Linux and not take any chances. I don't know enough bjam to do it off the top of my head, but I'm sure I could figure it out if it would help. I wouldn't be able to test it on a real platform, but I could figure out some other way of faking it out for testing purposes. </p> </description> <category>Ticket</category> </item> <item> <author>ejb@…</author> <pubDate>Sun, 22 Mar 2009 16:48:25 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2595#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2595#comment:4</guid> <description> <p> sorry...posted anonymously by mistake... the last comment was mine. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Vladimir Prus</dc:creator> <pubDate>Tue, 10 Nov 2009 08:04:38 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/2595#comment:5 https://svn.boost.org/trac10/ticket/2595#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> I have asked vacpp/AIX experts about this patch. </p> Ticket Vladimir Prus Wed, 18 Nov 2009 20:31:37 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2595#comment:6 https://svn.boost.org/trac10/ticket/2595#comment:6 <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/57756" title="Use qpic=large. On Linux, set soname. Fixes #2595. ">[57756]</a>) Use qpic=large. On Linux, set soname. </p> <p> Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2595" title="#2595: Bugs: vacpp on linux: library build issues (closed: fixed)">#2595</a>. </p> Ticket