[Libpqxx-general] pqxx::connection crash under libpqxx 2.6.9 and 3.0.0, OSX Leopard

Roger Leigh rleigh at whinlatter.ukfsn.org
Mon Jul 14 23:23:40 UTC 2008


Jeroen Vermeulen <jtv at xs4all.nl> writes:

> Roger Leigh wrote:
>> On Mon, Jul 14, 2008 at 01:51:53PM +0700, Jeroen Vermeulen wrote:
>>>> The other strange thing I have notices is visibility warnings, which was
>>>> fixed by selecting "GCC_SYMBOLS_PRIVATE_EXTERN"
>>> That's interesting: I've just heard from the new Debian maintainer
>>> that a symbol doesn't seem to be exported from the shared library
>>> in gcc 4.3, so this could be the same problem.
>>
>> This appears to just be a missing PQXX_LIBEXPORT in result.hxx:
>>
>> void freemem_result_data(result_data *) throw ();
>
> The LIBPQXX_EXPORT isn't missing in the development tree though, so
> that doesn't explain the problem building 3.0 snapshots.

This was 2.6.9.  It seems to work fine with 3.0.0.

>> Also note that using --enable-maintainer-mode also fails with GCC 4.3
>> due to some of the -W options set in configure.ac not being valid for
>> the new GCC.
>
> configure.ac is supposed to test those for compatibility with the
> compiler...  Which are the problem ones?

-Wno-long-double

With 3.0.0 in SVN:

 g++ -DHAVE_CONFIG_H -I../include -I../include -I/usr/include/postgresql -g -O2 -Werror -Wno-long-double -Wno-div-by-zero -ffor-scope -fstrict-aliasing -Wstrict-aliasing -funit-at-a-time -pedantic -fno-nonansi-builtins -Wall -Wmultichar -W -Wextra -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wctor-dtor-privacy -Wendif-labels -Wlogical-op -Woverlength-strings -Wredundant-decls -Wsign-compare -Wwrite-strings -Wnon-virtual-dtor -Wreorder -Wold-style-cast -Woverloaded-virtual -Wsign-promo -Wstrict-null-sentinel -Wformat-security -Winit-self -Wswitch -Wmissing-field-initializers -Wmissing-include-dirs -Wunused -funit-at-a-time -Werror -MT util.lo -MD -MP -MF .deps/util.Tpo -c util.cxx  -fPIC -DPIC -o .libs/util.o
cc1plus: warnings being treated as errors
util.cxx: In function ‘L<unnamed>::absorb_digit(L, R) [with L = short int, R = int]’:
util.cxx:122:   instantiated from ‘void<unnamed>::from_string_signed(const char*, T&) [with T = short int]’
util.cxx:382:   instantiated from here
util.cxx:105: error: conversion to ‘short int’ from ‘int’ may alter its value
util.cxx: In function ‘L<unnamed>::absorb_digit(L, R) [with L = short unsigned int, R = int]’:
util.cxx:153:   instantiated from ‘void<unnamed>::from_string_unsigned(const char*, T&) [with T = short unsigned int]’
util.cxx:394:   instantiated from here
util.cxx:105: error: conversion to ‘short unsigned int’ from ‘int’ may alter its value
At global scope:
cc1plus: error: unrecognized command line option "-Wno-long-double"

With -Wno-long-double removed from configure.ac, this would still fail
due to -Werror turning the above warnings into errors.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://pgfoundry.org/pipermail/libpqxx-general/attachments/20080715/4f66ec67/attachment-0001.bin 


More information about the Libpqxx-general mailing list