Boost C++ Libraries: Ticket #1810: HP-UX, PA-RISC, GCC 4.1+ sp_counted_base.hpp https://svn.boost.org/trac10/ticket/1810 <p> Hi, I can't link executables or shared libs 'cause of the following dependency produced by sp_counted_base.hpp and friends:<br /> </p> <pre class="wiki">/usr/ccs/bin/ld: Unsatisfied symbols: __sync_fetch_and_add_4 (first referenced in ...) (code) __sync_val_compare_and_swap_4 (first referenced in ...) (code) </pre><p> One can simply reproduce this behavior building this sample: </p> <pre class="wiki">#include &lt;boost/shared_ptr.hpp&gt; int main() { boost::shared_ptr&lt;int&gt; spi ; } </pre><p> I don't know if this is a general solution but for me it helps to patch the mentioned file:<br /> </p> <pre class="wiki">... #elif defined(__GNUC__) &amp;&amp; ( __GNUC__ * 100 + __GNUC_MINOR__ &gt;= 401 ) # include &lt;boost/detail/sp_counted_base_sync.hpp&gt; ... </pre><pre class="wiki">... #elif defined(__GNUC__) &amp;&amp; ( __GNUC__ * 100 + __GNUC_MINOR__ &gt;= 401 ) &amp;&amp; !defined(__hpux) # include &lt;boost/detail/sp_counted_base_sync.hpp&gt; ... </pre><p> After that, the compiler passes BOOST_HAS_PTHREADS section and includes sp_counted_base_pt.hpp which works.<br /> </p> <p> Thanks for considering to solve this issue.<br /> </p> <p> Cheers, Yves. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/1810 Trac 1.4.3 Marshall Clow Mon, 14 Apr 2008 15:46:40 GMT component changed; owner set https://svn.boost.org/trac10/ticket/1810#comment:1 https://svn.boost.org/trac10/ticket/1810#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Peter Dimov</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">smart_ptr</span> </li> </ul> Ticket Peter Dimov Mon, 14 Apr 2008 16:01:16 GMT status changed; cc set https://svn.boost.org/trac10/ticket/1810#comment:2 https://svn.boost.org/trac10/ticket/1810#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">Boris.Gubenko@…</span> added </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> A workaround is to build with BOOST_SP_USE_PTHREADS defined. </p> <p> I believe that the proper symbol to test is <span class="underline">hppa, because </span>hpux is set on HP-UX/IA-64 as well. Our regression tests at the moment only have g++ 3.4.6 for PA-RISC, which is why we missed this problem. </p> <p> Are you in a position to test the current SVN trunk? If so, I'd appreciate it if you confirm or deny that building with BOOST_SP_USE_SPINLOCK works, so that I can route <span class="underline">hppa to use it by default (as is done for ARM due to a similar problem with the </span>sync intrinsics.) </p> Ticket Boris Gubenko Mon, 14 Apr 2008 16:38:41 GMT <link>https://svn.boost.org/trac10/ticket/1810#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1810#comment:3</guid> <description> <blockquote class="citation"> <p> Are you in a position to test the current SVN trunk? If so, I'd appreciate it if you confirm or deny that building with BOOST_SP_USE_SPINLOCK works, so that I can route hppa to use it by default (as is done for ARM due to a similar problem with the sync intrinsics.) </p> </blockquote> <p> I'll test the current SVN trunk, as requested, and report back here. This platform needs some configuration work (for example, I don't think that wide character support is configured properly), but I could never get to it. </p> <p> Thanks, </p> <blockquote> <p> Boris </p> </blockquote> </description> <category>Ticket</category> </item> <item> <dc:creator>Boris Gubenko</dc:creator> <pubDate>Tue, 15 Apr 2008 18:01:34 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/1810#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1810#comment:4</guid> <description> <p> I ran smart_ptr library tests on PA-RISC with BOOST_SP_USE_PTHREADS defined and everything was fine. This is the same machine I'm using for the SVN trunk tests. The version of gcc is 3.4.2. Unfortunately, I don't have PA-RISC machine with more recent gcc installed. </p> <blockquote class="citation"> <p> I believe that the proper symbol to test is hppa, because hpux is set on HP-UX/IA-64 as well </p> </blockquote> <p> This is correct: <span class="underline">hppa is set on PA-RISC only while </span>hpux is set on both PA-RISC and HP-UX/ia64. </p> <p> Thanks, </p> <blockquote> <p> Boris </p> </blockquote> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Mon, 21 Apr 2008 21:48:03 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/1810#comment:5 https://svn.boost.org/trac10/ticket/1810#comment:5 <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> This should be fixed in <a class="changeset" href="https://svn.boost.org/trac10/changeset/44440" title="Disable sync use for arm and hppa.">[44440]</a> (release branch) and <a class="changeset" href="https://svn.boost.org/trac10/changeset/44441" title="Disabled sync use for hppa.">[44441]</a> (trunk). </p> Ticket Yves Pausch Thu, 24 Apr 2008 09:31:30 GMT <link>https://svn.boost.org/trac10/ticket/1810#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1810#comment:6</guid> <description> <p> Thank you! </p> </description> <category>Ticket</category> </item> </channel> </rss>