[Pljava-dev] building pljava for solaris 10 sparc 64bit

From: books at ejurka(dot)com (Kris Jurka)
To:
Subject: [Pljava-dev] building pljava for solaris 10 sparc 64bit
Date: 2010-04-16 01:39:29
Message-ID: alpine.BSO.2.00.1004152127230.21607@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

On Thu, 15 Apr 2010, John R Pierce wrote:

> Kris Jurka wrote:
>>
>>
>> On Thu, 15 Apr 2010, John R Pierce wrote:
>>
>>> org.postgresql.util.PSQLException: ERROR: could not load library
>>> "/opt/FIS/pljava/pljava.so": ld.so.1: postgres: fatal: relocation error:
>>> file /opt/FIS/pljava/pljava.so: symbol Int64GetDatum: referenced symbol
>>> not found
>>
>> Your hacking of the 32 bit build files is incomplete/incorrect, so you've
>> built a pljava that is incompatible with your server. I'm not entirely
>> sure what you've done, but you don't have the right setting for
>> FLOAT8PASSBYVAL in src/include/pg_config.h in the source tree. I'm not
>> sure where you've got that installed.
>
> k, the three files I copied from the 32bit to the 64bit pgxs/src dir in the
> postgres dir were Makefile.global, Makefile.port and Makefile.shlib
>
> only Makefile.global -seemed- to have anything in it that referenced wordsize
> kinda stuff. I changed the libdir and bindir paths. I replaced
> configure_arguments with the output of pg_config
>

The package you have may be more busted than just some missing files. If
they packaged the 32bit headers with a 64bit server then you're hosed and
it sort of sounds like that's what they did.

Run: "pg_controldata /path/to/your/data/directory" and check for the line:

Float8 argument passing: by value

If it says the above instead of "by reference" then you've got a 64bit
server that was not compiled with --disable-float8-byval. Then run "grep
FLOAT8 include/postgresql/server/pg_config.h" and I expect you'll see:

#define FLOAT8PASSBYVAL false

which conflicts with the running server. If this is the case, your
package is no good for building an extension.

> one thing I noted, getting a fair number of
> line 47: warning: initialization type mismatch
> from various C sources. I assume these are normal ?
>

No, those aren't normal although I haven't built with Sun Studio on a
64bit machine. Again I suspect your package is busted and I wouldn't
recommend trying to manually fix it up. You need the right headers.

Kris Jurka

In response to

Browse pljava-dev by date

  From Date Subject
Next Message John R Pierce 2010-04-21 05:16:25 [Pljava-dev] problems running test suite
Previous Message John R Pierce 2010-04-16 01:05:04 [Pljava-dev] building pljava for solaris 10 sparc 64bit