Re: 64 bit PostgreSQL 8.3.6 build on AIX 5300-09-02-0849 with IBM XL C/C++ 10.1.0.1 - initdb fails (could not dump unrecognized node type: 650) - Mailing list pgsql-hackers

From Mihai Criveti
Subject Re: 64 bit PostgreSQL 8.3.6 build on AIX 5300-09-02-0849 with IBM XL C/C++ 10.1.0.1 - initdb fails (could not dump unrecognized node type: 650)
Date
Msg-id 22c159aa0902090156x5f11af2bnaf30d2a81df15a4c@mail.gmail.com
Whole thread Raw
In response to Re: 64 bit PostgreSQL 8.3.6 build on AIX 5300-09-02-0849 with IBM XL C/C++ 10.1.0.1 - initdb fails (could not dump unrecognized node type: 650)  (Zeugswetter Andreas OSB sIT <Andreas.Zeugswetter@s-itsolutions.at>)
Responses RE: [HACKERS] 64 bit PostgreSQL 8.3.6 build on AIX 5300-09-02-0849 with IBM XL C/C++ 10.1.0.1 - initdb fails (could not dump unrecognized node type: 650)
List pgsql-hackers
Yes, I've had CC exported as xlC_r -q64 to do 64 bit builds, and use vacpp C++ instead of C. Guess it didn't like that, and ended up with some horrible compiler optimization or something that killed it.

Are there any other tests I can run now that PostgreSQL is installed?

Seems to work fine for basic stuff anyway.
phobos% /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
server starting
phobos% /usr/local/pgsql/bin/psql -U postgres
Welcome to psql 8.3.6, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=# CREATE ROLE testuser LOGIN PASSWORD 'test123';
CREATE ROLE
postgres=# CREATE DATABASE testdb;
CREATE DATABASE
postgres=# CREATE TABLE test (ID serial PRIMARY KEY, name varchar(25) NOT NULL UNIQUE);
NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial column "test.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
NOTICE:  CREATE TABLE / UNIQUE will create implicit index "test_name_key" for table "test"
CREATE TABLE
postgres=# INSERT INTO test VALUES (default, 'quux');
INSERT 0 1
postgres=# SELECT * FROM test;
 id | name
----+------
  1 | quux
(1 row)
\q


On Mon, Feb 9, 2009 at 11:40 AM, Zeugswetter Andreas OSB sIT <Andreas.Zeugswetter@s-itsolutions.at> wrote:

> > So if this is a compiler bug, it certainly isn't an obvious one. I'll dig
> > deeper to see how I can convince configure to use -qnooptimize.
>
> Set CFLAGS in its environment.  The default is set in src/template/aix
>       CFLAGS="-O2 -qmaxmem=16384 -qsrcmsg -qlonglong"
>
> > When I've used the build farm scripts, configure gives xlC_r these flags:
> > configure:7117: xlC_r -q64 -o conftest -O2 -qmaxmem=16384 -qsrcmsg
> > -qlonglong -g  -I/opt/freeware/include/libxml2   -L/opt/freeware/lib
> > conftest.c -lm  >&5

Um, why are you using the C++ frontend ? Have you tried xlc_r or cc_r instead ?

Using xlC_r or xlc_r, implicitly sets -qansialias. IIRC we had some issues with
aliasing on other platforms too ? Would that switch be wrong ?
Doc sais: "Use type-based aliasing during optimization."

> Dunno where the -q64 came from ...

Probably together with the choice of compiler command ?

Andreas



--
Criveti Mihai
http://unixsadm.blogspot.com

pgsql-hackers by date:

Previous
From: Zeugswetter Andreas OSB sIT
Date:
Subject: Re: 64 bit PostgreSQL 8.3.6 build on AIX 5300-09-02-0849 with IBM XL C/C++ 10.1.0.1 - initdb fails (could not dump unrecognized node type: 650)
Next
From: Fujii Masao
Date:
Subject: Re: Synch Replication