initdb has trouble finding the right ascii_and_mic.so

From: "Maciej (Matchek) Blizinski" <blizinski(at)google(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: initdb has trouble finding the right ascii_and_mic.so
Date: 2010-01-10 15:25:31
Message-ID: ce97543b1001100725q2add1563k80314636ceaac0e4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello pgsql-general,

I'm having trouble initializing the database cluster. Here's how it does:

netra ~ # (cd /var/opt/csw/postgresql/8.4/pgdata; truss -f -o
/var/tmp/initdb.truss su postgres -c
"/opt/csw/lib/postgresql/8.4/bin/sparcv9/initdb -D
/var/opt/csw/postgresql/8.4/pgdata -E utf-8")
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default text search configuration will be set to "english".

fixing permissions on existing directory
/var/opt/csw/postgresql/8.4/pgdata ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /var/opt/csw/postgresql/8.4/pgdata/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... FATAL: could not load library
"/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so": ld.so.1: postgres:
fatal: /opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so: wrong ELF
class: ELFCLASS32
STATEMENT: CREATE OR REPLACE FUNCTION ascii_to_mic (INTEGER, INTEGER,
CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '$libdir/ascii_and_mic',
'ascii_to_mic' LANGUAGE C STRICT;

child process exited with exit code 1
initdb: removing contents of data directory "/var/opt/csw/postgresql/8.4/pgdata"

-------------------

There are 2 sets of libraries installed.
/opt/csw/lib/postgresql/8.4/lib contains 32-bit libraries.
/opt/csw/lib/postgresql/8.4/lib/64 contains the 64-bit set.

Here's what initdb does:

7584: stat("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic",
0xFFFFFFFF7FFFE610) Err#2 ENOENT
7584: stat("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so",
0xFFFFFFFF7FFFE610) = 0
7584: stat("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so",
0xFFFFFFFF7FFFE6C0) = 0
7584: stat("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so",
0xFFFFFFFF7FFFDD20) = 0
7584: resolvepath("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so",
"/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so", 1023) = 48
7584: open("/opt/csw/lib/postgresql/8.4/lib/ascii_and_mic.so", O_RDONLY) = 37

If I understand correctly, the problem is that
/opt/csw/lib/postgresql/8.4/bin/initdb looks for the libraries in the
wrong place: /opt/csw/lib/postgresql/8.4/lib instead of
/opt/csw/lib/postgresql/8.4/lib/64. How can I tell it to look there?

Maciej

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John T. Dow 2010-01-10 15:59:43 Re: Optimistic locking with multiple rows
Previous Message zxo102 ouyang 2010-01-10 15:09:27 Re: An issue with max() and order by ... limit 1 in postgresql8.3-beta3