Thread: Re: Postgres Date pg_dump/Import:

Re: Postgres Date pg_dump/Import:

From
"Martin Crundall"
Date:
Tom;

Not sure how to tell.  I didn't explicitly specify anything like this
during the ./configure step of install.   Poking around in the souce
directory, I pulled this out of config.cache ...

configure:1243: checking whether the C compiler (gcc -O9 -funroll-loops
-ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro
-fomit-frame-pointer -fno-exceptions ) works

Note, I didn't use the postgresql that came with Slackware; I downloaded
it from the postgres web site.

Martin

>> i am currently running 7.2.2 on slackware 8.1 (kernel 2.4.18)
>
> BTW, is it possible that your postgres was built with -ffast-math
> in CFLAGS?  That is known to cause symptoms like this.  Unfortunately
> -ffast-math is in the default CFLAGS on some Linux distros.
>
>             regards, tom lane





Re: Postgres Date pg_dump/Import:

From
Tom Lane
Date:
"Martin Crundall" <pgsql@ac6rm.net> writes:
> Not sure how to tell.  I didn't explicitly specify anything like this
> during the ./configure step of install.   Poking around in the souce
> directory, I pulled this out of config.cache ...

> configure:1243: checking whether the C compiler (gcc -O9 -funroll-loops
> -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro ^^^^^^^^^^^
> -fomit-frame-pointer -fno-exceptions ) works

Bingo: something is supplying a whole bunch of "helpful" optimization
options, including -ffast-math which is what's causing your problem.
Left to its own devices, configure would have only selected "-O2" as
the default flags for gcc.

I suspect if you try "env | grep CFLAGS" you will find that the problem
is a CFLAGS environment variable that you're inheriting from somewhere.
If so, you could "unset CFLAGS" and then re-run configure, rebuild,
reinstall (you won't need to initdb fortunately, just reinstall the
executables).

If it's not coming from a CFLAGS environment variable setting then
you'll need to look harder.
        regards, tom lane


Re: Postgres Date pg_dump/Import:

From
"Martin Crundall"
Date:
Tom;
  IT WORKED!  This is what I did:

env | grep CFLAGS
  and that produced all those flags as you predicted (-O9 -funroll-loops
-ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro)

unset CFLAGS
make clean
./configure --enable-odbc
make
make install
  a subsequent pg_dump of the staging system's database produced NO ":60"
substrings in any time stamps!
  Thanks much for your help!
  Martin

p.s. interesting to note -- my dev box is actually the same distro
(slackware 8.1) but running in a vmware window.  there was no such CFLAGS
env variable set and pg_dumps on the dev box are ok.  the distro install
must set the CFLAGS based on hardware (the laptop is a Compaq PIII/700,
and the staging box is a P4/1.7G on an intel chipset board).  Anyway,
really happy this worked -- thanks again.  Let me know if there's anything
I can do.


> "Martin Crundall" <pgsql@ac6rm.net> writes:
>> Not sure how to tell.  I didn't explicitly specify anything like this
>> during the ./configure step of install.   Poking around in the souce
>> directory, I pulled this out of config.cache ...
>
>> configure:1243: checking whether the C compiler (gcc -O9
>> -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
>> -march=pentiumpro
>   ^^^^^^^^^^^
>> -fomit-frame-pointer -fno-exceptions ) works
>
> Bingo: something is supplying a whole bunch of "helpful" optimization
> options, including -ffast-math which is what's causing your problem.
> Left to its own devices, configure would have only selected "-O2" as the
> default flags for gcc.
>
> I suspect if you try "env | grep CFLAGS" you will find that the problem
> is a CFLAGS environment variable that you're inheriting from somewhere.
> If so, you could "unset CFLAGS" and then re-run configure, rebuild,
> reinstall (you won't need to initdb fortunately, just reinstall the
> executables).
>
> If it's not coming from a CFLAGS environment variable setting then
> you'll need to look harder.
>
>             regards, tom lane