On Tue, Apr 7, 2009 at 3:58 AM, Filipe Brandenburger <span dir="ltr">&lt;<a href="mailto:filbranden@gmail.com">filbranden@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br>
<br>
I am migrating some programs that use libpqxx from CentOS 4 to CentOS<br>
5, and I found an issue with libpqxx-2.6.9 from RPMforge.<br>
<br>
I built a Python module that uses the library. However, in Python 5,<br>
when I try to load it, I get this error:<br>
<br>
ImportError: libxxx.so: undefined symbol:<br>
_ZN4pqxx8internal19freemem_result_dataEPNS0_11result_dataE<br>
<br>
I rebuilt the RPM, and I traced the issue to the warnings I get when<br>
building the library:<br>
<br>
../include/pqxx/result.hxx:63: warning: lowering visibility of &#39;void<br>
pqxx::internal::freemem_result_data(pqxx::internal::result_data*)&#39; to<br>
match its type<br>
<br>
And more, I saw that the RPM removes the -Werror that the library uses<br>
to build by default (which prevents the library from building cleanly<br>
under CentOS 5).<br>
<br>
Googling for the error message, I found that it was a &quot;feature&quot;<br>
introduced in GCC 4.1 that ships with CentOS 5, and that it was<br>
actually retracted in later versions, however the issue is still<br>
present in CentOS 5 (even in 5.3):<br>
<a href="http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00919.html" target="_blank">http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00919.html</a><br>
<br>
I compared the code with the includes in libpqxx-3.0, and I saw that<br>
there they explicitely set the visibility.<br>
<br>
So I came up with a patch that actually fixes the issue. I&#39;m pasting it here:<br>
</blockquote><div><br>Thanks for the patch! I&#39;ve added it to the rpmforge subversion.<br><br>kind regards,<br>Dries<br> <br></div></div><br>