[Pljava-dev] Fwd: Re: Calling it a day

Lists: pljava-dev
From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-04-30 00:34:05
Message-ID: 4DBB58FD.3090004@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Thanks for trying.

So far this is what I have discovered (after hours of hosing around with
stuff):

1. It is not possible to run 32-bit pljava with 32-bit Postgres and
32-bit Java on 64-bit windows. I have tried every variation I can
think of and DependencyWalker always shows that it is still trying
to link against 64-bit DLLs. This could be some sort of build
configuration problem with Postgres and/or PLJava.
2. The 64-bit release of Postgres has some bad and missing DLLs in
it. You need to add the referenced files to the postgres/bin
directory (let me know if you want me to e-mail them to you).
DependencyWalker shows one final unresolved function:
DatumGetFloat8 that I cannot find anywhere. Anyway, you need to
use Microsoft Visual C++ 2008 Redistributable Package (x64)
<http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=BD2A6171-E2D6-4230-B809-9A8D7548C1B6&displaylang=en>
instead of the (x86) version, and the version of IEShims.dll from
the 64-bit version of IE.

What I know to be true is that I can run 32-bit pljava with 32-bit
postgres and 32-bit Java on 32-bit windows.

The bottom line I know to be true is that Microsoft are fucking assholes
and make just about everything 100 times harder than it needs to be for
software developers.

I'll keep slogging away and see what I can figure out.

Cheers, Eric

referenced files:

* msvcm90.dll
* msvcp90.dll
* msvcr90.dll
* IEShims.dll

On 2011-04-29 3:32 PM, JOSE CARLOS MARTINEZ LLARIO wrote:
> Hi Johann,
> ok, I will try it again next week. As soon as you get it please send
> it to me.
>
> Have a nice weekend too.
> Jose
>
>
> > To: eric.kolotyluk at gmail.com; jcllario at hotmail.com
> > Subject: Calling it a day
> > Date: Fri, 29 Apr 2011 22:27:49 +0000
> > From: johann at 2ndquadrant.com
> >
> > Hi Eric and Jose,
> >
> > Just to let you know I'm calling it a day. I suspect the pljava
> > binary I gave you does not work because there are no exported sym-
> > bols in it. If that's the case, it just will not work at all.
> >
> > I'll dig further into this on Monday.
> >
> > Have a nice weekend,
> >
> >
> > --
> > Johann Oskarsson http://www.2ndquadrant.com/ |[]
> > PostgreSQL Development, 24x7 Support, Training and Services --+--
> > |
> > Blog: http://my.opera.com/myrkraverk/blog/
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20110429/6b2c7f18/attachment.html>


From: books at ejurka(dot)com (Kris Jurka)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-04-30 00:38:21
Message-ID: 4DBB59FD.6050607@ejurka.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

On 4/29/2011 5:34 PM, Eric Kolotyluk wrote:
> 2. The 64-bit release of Postgres has some bad and missing DLLs in
> it. You need to add the referenced files to the postgres/bin
> directory (let me know if you want me to e-mail them to you).
> DependencyWalker shows one final unresolved function:
> DatumGetFloat8 that I cannot find anywhere.

A missing reference to DatumGetFloat8 implies that the server was built
with float8 pass by value and pljava was built with float8 pass by
reference. When float8 is pass by value, the function call is replaced
with a macro, so it won't be exported. I'm not sure how this could have
happened because pljava should just pickup the config from the server,
but Johann might know more. Perhaps he built 64bit pljava against the
32bit server include files?

Kris Jurka


From: pierce at hogranch(dot)com (John R Pierce)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-04-30 02:20:15
Message-ID: 4DBB71DF.6030208@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: PostgreSQL : PostgreSQL 메일 링리스트 : 2011-04-30 이후 토토Dev 02:20

On 04/29/11 5:38 PM, Kris Jurka wrote:
> Perhaps he built 64bit pljava against the 32bit server include files?

been there, done that, got the t-shirt.... on solaris sparc :-O

I discovered the 8.4 solaris 64bit sparc builds had been packaged with
only the 32 bit includes due to an oversight of the packager not
realizing they were different. Upon notification, the Solaris Sparc
postgres builder fixed his builds.


From: jcllario at hotmail(dot)com (JOSE CARLOS MARTINEZ LLARIO)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-04-30 11:58:05
Message-ID: DUB101-w33F119ADEB66AF3AF43063D39D0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev


Hi Eric,Im almost sure I already run 32-bit pljava with 32-bit Postgres and 32-bit Java on 64-bit windows.I wil check it again though.cheers,Jose
Date: Fri, 29 Apr 2011 17:34:05 -0700
From: eric.kolotyluk at gmail.com
To: pljava-dev at pgfoundry.org
Subject: [Pljava-dev] Fwd: Re: Calling it a day


Cuerpo del mensaje


Thanks for trying.

So far this is what I have discovered (after hours of hosing around
with stuff):


It is not possible to run 32-bit pljava with 32-bit Postgres
and 32-bit Java on 64-bit windows. I have tried every variation
I can think of and DependencyWalker always shows that it is
still trying to link against 64-bit DLLs. This could be some
sort of build configuration problem with Postgres and/or PLJava.
The 64-bit release of Postgres has some bad and missing DLLs
in it. You need to add the referenced files to the postgres/bin
directory (let me know if you want me to e-mail them to you).
DependencyWalker shows one final unresolved function:
DatumGetFloat8 that I cannot find anywhere. Anyway, you need to
use Microsoft

Visual C++ 2008 Redistributable Package (x64) instead of
the (x86) version, and the version of IEShims.dll from the
64-bit version of IE.



What I know to be true is that I can run 32-bit pljava with 32-bit
postgres and 32-bit Java on 32-bit windows.

The bottom line I know to be true is that Microsoft are fucking
assholes and make just about everything 100 times harder than it
needs to be for software developers.

I'll keep slogging away and see what I can figure out.

Cheers, Eric

referenced files:


msvcm90.dll
msvcp90.dll
msvcr90.dll
IEShims.dll



On 2011-04-29 3:32 PM, JOSE CARLOS MARTINEZ LLARIO wrote:

Hi Johann,
ok, I will try it again next week. As soon as you get it
please send it to me.


Have a nice weekend too.
Jose

> To: eric.kolotyluk at gmail.com;
jcllario at hotmail.com

> Subject: Calling it a day

> Date: Fri, 29 Apr 2011 22:27:49 +0000

> From: johann at 2ndquadrant.com

>

> Hi Eric and Jose,

>

> Just to let you know I'm calling it a day. I suspect the
pljava

> binary I gave you does not work because there are no
exported sym-

> bols in it. If that's the case, it just will not work at
all.

>

> I'll dig further into this on Monday.

>

> Have a nice weekend,

>

>

> --

> Johann Oskarsson http://www.2ndquadrant.com/
|[]

> PostgreSQL Development, 24x7 Support, Training and Services
--+--

> |

> Blog: http://my.opera.com/myrkraverk/blog/



_______________________________________________
Pljava-dev mailing list
Pljava-dev at pgfoundry.org
http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________
Pljava-dev mailing list
Pljava-dev at pgfoundry.org
http://pgfoundry.org/mailman/listinfo/pljava-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20110430/dd621f65/attachment.html>


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 13:36:36
Message-ID: op.vuuv3abpuxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

On Sat, 30 Apr 2011 02:20:15 -0000, John R Pierce <pierce at hogranch.com>
wrote:

> On 04/29/11 5:38 PM, Kris Jurka wrote:
>> Perhaps he built 64bit pljava against the 32bit server include files?
>
> been there, done that, got the t-shirt.... on solaris sparc :-O

So did I. On Solaris too. And I was the "packager."

Here's a partial command line:

x86_64-w64-mingw32-gcc -c -O2 -Wall ...
-I/opt/myrkraverk/WinePrograms/PostgreSQL/amd64/9.0.4/include/postgresql/server
...

So I'm not building against 32bit header files, but maybe the cross
compilation screwed something up?

Thank you Eric for figuring out what symbols were missing and to
install the MSVC++ redistributables.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 14:02:14
Message-ID: op.vuuw90lkuxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

On Sat, 30 Apr 2011 00:38:21 -0000, Kris Jurka <books at ejurka.com> wrote:

> A missing reference to DatumGetFloat8 implies that the server was built
> with float8 pass by value and pljava was built with float8 pass by
> reference.

Both the Enterprise DB and my header files define the DatumGetFloat8
in the same way:

Enterprise DB:
server/postgres.h:#define DatumGetFloat8(X) (* ((float8 *)
DatumGetPointer(X)))

My cross compiled binary:
server/postgres.h:#define DatumGetFloat8(X) (* ((float8 *)
DatumGetPointer(X)))

However, when I preprocess Double.c, which does reference it, I get:
extern float8 DatumGetFloat8(Datum X);

I guess something in the PL/Java build system is broken for 64 bit
Windows. That's what I'm hunting down now.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 15:06:54
Message-ID: op.vuuz9swsuxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Hi PL/Java users,

On Sat, 30 Apr 2011 00:34:05 -0000, Eric Kolotyluk
<eric.kolotyluk at gmail.com> wrote:

> DependencyWalker shows one final unresolved function:
> DatumGetFloat8 that I cannot find anywhere.

This has been fixed, the solution turned out be compile my server with
--disable-float8-byval. Let me know if there are any other issues.

The download url I have you, Eric and Jose, has been updated.

Please let me know whether it works as soon as you can.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 16:02:31
Message-ID: 4DBED597.70600@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Well I tried your latest DLL and it fixes float8 problem, but now there
is some other DLL problem I am trying to sort out. IEFRAME.DLL is
missing some references for some reason - and they have no name, just
numbers - argh!

Cheers, Eric

On 2011-05-02 8:06 AM, Johann 'Myrkraverk' Oskarsson wrote:
> Hi PL/Java users,
>
> On Sat, 30 Apr 2011 00:34:05 -0000, Eric Kolotyluk
> <eric.kolotyluk at gmail.com> wrote:
>
>> DependencyWalker shows one final unresolved function:
>> DatumGetFloat8 that I cannot find anywhere.
>
> This has been fixed, the solution turned out be compile my server with
> --disable-float8-byval. Let me know if there are any other issues.
>
> The download url I have you, Eric and Jose, has been updated.
>
> Please let me know whether it works as soon as you can.
>
>


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 16:04:08
Message-ID: op.vuu2w6i8uxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

On Mon, 02 May 2011 16:02:31 -0000, Eric Kolotyluk
<eric.kolotyluk at gmail.com> wrote:

> Well I tried your latest DLL and it fixes float8 problem, but now there
> is some other DLL problem I am trying to sort out. IEFRAME.DLL is
> missing some references for some reason - and they have no name, just
> numbers - argh!

Is it possible for you to show me what symbols in PL/Java map to IEFRAME?
I'm hoping there is a chance I can get rid of that dependency.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: jcllario at hotmail(dot)com (JOSE CARLOS MARTINEZ LLARIO)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 16:24:38
Message-ID: DUB101-w260176BFA185D2642812FCD39F0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev


Hi, this is the error i get now, maybe the same Erik said..dont know..
psql:c:/jaspa4pg/sql/pljavainstall.sql:6: ERROR: incompatible library "c:/jaspa4pg/lib/pljava.dll": missing magic blockHINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.psql:c:/jaspa4pg/sql/pljavainstall.sql:8: ERROR: function sqlj.java_call_handler() does not exist

> To: pljava-dev at pgfoundry.org
> Date: Mon, 2 May 2011 16:04:08 +0000
> From: johann at 2ndquadrant.com
> Subject: Re: [Pljava-dev] Fwd: Re: Calling it a day
>
> On Mon, 02 May 2011 16:02:31 -0000, Eric Kolotyluk
> <eric.kolotyluk at gmail.com> wrote:
>
> > Well I tried your latest DLL and it fixes float8 problem, but now there
> > is some other DLL problem I am trying to sort out. IEFRAME.DLL is
> > missing some references for some reason - and they have no name, just
> > numbers - argh!
>
> Is it possible for you to show me what symbols in PL/Java map to IEFRAME?
> I'm hoping there is a chance I can get rid of that dependency.
>
>
> --
> Johann Oskarsson http://www.2ndquadrant.com/ |[]
> PostgreSQL Development, 24x7 Support, Training and Services --+--
> |
> Blog: http://my.opera.com/myrkraverk/blog/
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20110502/61cc6eef/attachment.html>


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-02 16:54:51
Message-ID: op.vuu49pkruxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: PostgreSQL : PostgreSQL 메일 링리스트 : 2011-05-02 이후 스포츠 토토 결과Dev 16:54

On Mon, 02 May 2011 16:24:38 -0000, JOSE CARLOS MARTINEZ LLARIO
<jcllario at hotmail.com> wrote:

>
> Hi, this is the error i get now, maybe the same Erik said..dont know..
> psql:c:/jaspa4pg/sql/pljavainstall.sql:6: ERROR: incompatible library
> "c:/jaspa4pg/lib/pljava.dll": missing magic blockHINT: Extension
> libraries are required to use the PG_MODULE_MAGIC
> macro.psql:c:/jaspa4pg/sql/pljavainstall.sql:8: ERROR: function
> sqlj.java_call_handler() does not exist

I'm not sure why that would pop up. The DLL does contain the module
magic:

% x86_64-w64-mingw32-nm build/objs/pljava.dll|grep -i magic
00000000690183c0 r Pg_magic_data.78625
0000000069006160 T Pg_magic_func

However, if I managed to make the module incompatible somehow I would
expect the error message to say so, and not that it's missing.

I'll try and see if I can check that the magic numbers are equivalent.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] 64-bit Operation
Date: 2011-05-02 16:56:40
Message-ID: 4DBEE248.7070103@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Here is the dependency tree

PLJAVA.DLL
JVM.DLL
ADVAPI32.DLL
WINTRUST.DLL
CRYPT32.DLL
USERENV.DLL
SHELL32.DLL
SHDOCVW.DLL
IEFRAME.DLL -> #160, #141, #159

I don't know if the IEFRAME.DLL references are because of COM or some
other foolishness.

Cheers, Eric

On 2011-05-02 9:04 AM, Johann 'Myrkraverk' Oskarsson wrote:
> On Mon, 02 May 2011 16:02:31 -0000, Eric Kolotyluk
> <eric.kolotyluk at gmail.com> wrote:
>
>> Well I tried your latest DLL and it fixes float8 problem, but now
>> there is some other DLL problem I am trying to sort out. IEFRAME.DLL
>> is missing some references for some reason - and they have no name,
>> just numbers - argh!
>
> Is it possible for you to show me what symbols in PL/Java map to IEFRAME?
> I'm hoping there is a chance I can get rid of that dependency.
>
>


From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-04 05:48:27
Message-ID: 4DC0E8AB.4000105@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Jose, did you ever get around to checking 32-bit pljava with 32-bit
Postgres and 32-bit Java on 64-bit Windows.

I was finally able to get 64-bit pljava with 64-bit Postgres and 64-bit
Java to work on 64-bit windows with Johann's latest builds.

It makes application deployment a little trickier now, but at least I
have solutions for both 32-bit and 64-bit windows.

Cheers, Eric

On 2011-04-30 4:58 AM, JOSE CARLOS MARTINEZ LLARIO wrote:
> Hi Eric,
> Im almost sure I already run 32-bit pljava with 32-bit Postgres and
> 32-bit Java on 64-bit windows.
> I wil check it again though.
> cheers,
> Jose
>
> ------------------------------------------------------------------------
> Date: Fri, 29 Apr 2011 17:34:05 -0700
> From: eric.kolotyluk at gmail.com
> To: pljava-dev at pgfoundry.org
> Subject: [Pljava-dev] Fwd: Re: Calling it a day
>
> Thanks for trying.
>
> So far this is what I have discovered (after hours of hosing around
> with stuff):
>
> 1. It is not possible to run 32-bit pljava with 32-bit Postgres and
> 32-bit Java on 64-bit windows. I have tried every variation I
> can think of and DependencyWalker always shows that it is still
> trying to link against 64-bit DLLs. This could be some sort of
> build configuration problem with Postgres and/or PLJava.
> 2. The 64-bit release of Postgres has some bad and missing DLLs in
> it. You need to add the referenced files to the postgres/bin
> directory (let me know if you want me to e-mail them to you).
> DependencyWalker shows one final unresolved function:
> DatumGetFloat8 that I cannot find anywhere. Anyway, you need to
> use Microsoft Visual C++ 2008 Redistributable Package (x64)
> <http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=BD2A6171-E2D6-4230-B809-9A8D7548C1B6&displaylang=en>
> instead of the (x86) version, and the version of IEShims.dll
> from the 64-bit version of IE.
>
> What I know to be true is that I can run 32-bit pljava with 32-bit
> postgres and 32-bit Java on 32-bit windows.
>
> The bottom line I know to be true is that Microsoft are fucking
> assholes and make just about everything 100 times harder than it needs
> to be for software developers.
>
> I'll keep slogging away and see what I can figure out.
>
> Cheers, Eric
>
> referenced files:
>
> * msvcm90.dll
> * msvcp90.dll
> * msvcr90.dll
> * IEShims.dll
>
>
> On 2011-04-29 3:32 PM, JOSE CARLOS MARTINEZ LLARIO wrote:
>
> Hi Johann,
> ok, I will try it again next week. As soon as you get it please
> send it to me.
>
> Have a nice weekend too.
> Jose
>
>
> > To: eric.kolotyluk at gmail.com <mailto:eric.kolotyluk at gmail.com>;
> jcllario at hotmail.com <mailto:jcllario at hotmail.com>
> > Subject: Calling it a day
> > Date: Fri, 29 Apr 2011 22:27:49 +0000
> > From: johann at 2ndquadrant.com <mailto:johann at 2ndquadrant.com>
> >
> > Hi Eric and Jose,
> >
> > Just to let you know I'm calling it a day. I suspect the pljava
> > binary I gave you does not work because there are no exported sym-
> > bols in it. If that's the case, it just will not work at all.
> >
> > I'll dig further into this on Monday.
> >
> > Have a nice weekend,
> >
> >
> > --
> > Johann Oskarsson http://www.2ndquadrant.com/ |[]
> > PostgreSQL Development, 24x7 Support, Training and Services --+--
> > |
> > Blog: http://my.opera.com/myrkraverk/blog/
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org <mailto:Pljava-dev at pgfoundry.org>
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
>
> _______________________________________________ Pljava-dev mailing
> list Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20110503/360895c3/attachment.html>


From: jcllario at hotmail(dot)com (JOSE CARLOS MARTINEZ LLARIO)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-04 15:14:04
Message-ID: DUB101-w53C9C134D9AFC7D141F409D3810@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev


Hi Erik,
I just checked it out right now getting the same results than I got some weeks before.

W7 64 - Pg 9 32 - JRE 32 - PLJAVA 32 - Working
W7 64 - Pg 9 32 - JRE 64 - PLJAVA 32 - not working, with this error:
ERROR:? could not load library "c:/jaspa4pg/lib/pljava.dll": %1 is not a valid Win32 application.

Do not why with JRE 64 is not working but with JRE 32 I can tell you that its working for sure.

Cheers,
Jose

________________________________
> Date: Tue, 3 May 2011 22:48:27 -0700
> From: eric.kolotyluk at gmail.com
> To: pljava-dev at pgfoundry.org
> Subject: Re: [Pljava-dev] Fwd: Re: Calling it a day
>
> Jose, did you ever get around to checking 32-bit pljava with 32-bit
> Postgres and 32-bit Java on 64-bit Windows.
>
> I was finally able to get 64-bit pljava with 64-bit Postgres and 64-bit
> Java to work on 64-bit windows with Johann's latest builds.
>
> It makes application deployment a little trickier now, but at least I
> have solutions for both 32-bit and 64-bit windows.
>
> Cheers, Eric
>
> On 2011-04-30 4:58 AM, JOSE CARLOS MARTINEZ LLARIO wrote:
> Hi Eric,
> Im almost sure I already run 32-bit pljava with 32-bit Postgres and
> 32-bit Java on 64-bit windows.
> I wil check it again though.
> cheers,
> Jose
>
> ________________________________
> Date: Fri, 29 Apr 2011 17:34:05 -0700
> From: eric.kolotyluk at gmail.com
> To: pljava-dev at pgfoundry.org
> Subject: [Pljava-dev] Fwd: Re: Calling it a day
>
> Thanks for trying.
>
> So far this is what I have discovered (after hours of hosing around
> with stuff):
>
> 1. It is not possible to run 32-bit pljava with 32-bit Postgres and
> 32-bit Java on 64-bit windows. I have tried every variation I can think
> of and DependencyWalker always shows that it is still trying to link
> against 64-bit DLLs. This could be some sort of build configuration
> problem with Postgres and/or PLJava.
> 2. The 64-bit release of Postgres has some bad and missing DLLs in
> it. You need to add the referenced files to the postgres/bin directory
> (let me know if you want me to e-mail them to you). DependencyWalker
> shows one final unresolved function: DatumGetFloat8 that I cannot find
> anywhere. Anyway, you need to use Microsoft Visual C++ 2008
> Redistributable Package
> (x64)
> instead of the (x86) version, and the version of IEShims.dll from the
> 64-bit version of IE.
>
> What I know to be true is that I can run 32-bit pljava with 32-bit
> postgres and 32-bit Java on 32-bit windows.
>
> The bottom line I know to be true is that Microsoft are fucking
> assholes and make just about everything 100 times harder than it needs
> to be for software developers.
>
> I'll keep slogging away and see what I can figure out.
>
> Cheers, Eric
>
> referenced files:
>
> * msvcm90.dll
> * msvcp90.dll
> * msvcr90.dll
> * IEShims.dll
>
> On 2011-04-29 3:32 PM, JOSE CARLOS MARTINEZ LLARIO wrote:
> Hi Johann,
> ok, I will try it again next week. As soon as you get it please send it
> to me.
>
> Have a nice weekend too.
> Jose
>
>
> > To: eric.kolotyluk at gmail.com;
> jcllario at hotmail.com
> > Subject: Calling it a day
> > Date: Fri, 29 Apr 2011 22:27:49 +0000
> > From: johann at 2ndquadrant.com
> >
> > Hi Eric and Jose,
> >
> > Just to let you know I'm calling it a day. I suspect the pljava
> > binary I gave you does not work because there are no exported sym-
> > bols in it. If that's the case, it just will not work at all.
> >
> > I'll dig further into this on Monday.
> >
> > Have a nice weekend,
> >
> >
> > --
> > Johann Oskarsson http://www.2ndquadrant.com/ |[]
> > PostgreSQL Development, 24x7 Support, Training and Services --+--
> > |
> > Blog: http://my.opera.com/myrkraverk/blog/
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
> _______________________________________________ Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
>
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
> _______________________________________________ Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev


From: johann at 2ndquadrant(dot)com (Johann 'Myrkraverk' Oskarsson)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-04 16:38:36
Message-ID: op.vuytum2nuxs6vk@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

On Wed, 04 May 2011 15:14:04 -0000, JOSE CARLOS MARTINEZ LLARIO
<jcllario at hotmail.com> wrote:

>
> Hi Erik,
> I just checked it out right now getting the same results than I got some
> weeks before.
> W7 64 - Pg 9 32 - JRE 32 - PLJAVA 32 - Working
> W7 64 - Pg 9 32 - JRE 64 - PLJAVA 32 - not working, with this error:
> ERROR: could not load library "c:/jaspa4pg/lib/pljava.dll": %1 is not a
> valid Win32 application.
> Do not why with JRE 64 is not working but with JRE 32 I can tell you
> that its working for sure.

That is expected. It's simply not possible to mix 32bit and 64bit code in
applications [*]. However, the error message is misleading, the %1 is not
referring to pljava.dll but to some dependency of it. In this case
jvm.dll.

It is interesting to note that the error messages coming from the dynamic
linker (part of the operating system) are totally useless on Windows. It
is possible that Postgres is not filling the %1 in correctly, but I have a
feeling that's Windows' fault.

Compare this with the equivalent message on Solaris:

% java -cp $CLASSPATH org.postgresql.pljava.deploy.Deployer \
-host pgnode1 -port 58903 -database template1 \
-user postgres9 -install

org.postgresql.util.PSQLException: ERROR: could not load library
"/opt/myrkraverk/postgresql/9.0.3/lib/amd64/pljava.so": ld.so.1:
postgres: fatal: libjvm.so: open failed: No such file or directory

Here the server has only 32bit Java installed. Linux should have an ent-
irely equivalent message.

Also, when the dependency, jvm.dll, is not found, Windows says

psql:C:/jaspa4pg/sql/pljavainstall.sql:6: ERROR: could not load
library "c:/jaspa4pg/lib/pljava.dll": The specified module could
not be found.

What module? My previous error message on Solaris told me exactly what
it wasn't finding. The solution here is to add the JRE bin directories
to the system Path and then restart the server.

I'm re-iterating these problems and solutions for posterity. In the hope
that some future googler will find them useful.

Unix (all I've used) has entirely different search paths for 32bit and
64bit dynamic libraries so there is no naming conflict here, unlike Wind-
ows it seems.

[*] This is not always true, 64bit kernels (of various operating systems)
can run 32bit applications. They do however have the necessary hooks to
mix the execution contexts. Unlike normal applications.

--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/


From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] Fwd: Re: Calling it a day
Date: 2011-05-04 23:01:13
Message-ID: 4DC1DAB9.1020105@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

OK, after extensive testing I am able to run

1. Windows 7 Ultimate x64, Postgres x86, PLJava x86, Java x86
2. Windows 7 Ultimate x64, Postgres x64, PLJava x64, Java x64

I'm baffled why I could not get (1) to work before. I can only assume
there was some configuration problem somewhere - there are just to many
configuration variables in play.

I also learned that there are two version of Dependency Walker x86 7
x64. You need to be running the right version when you check a DLL. This
probably screwed me up because I only had the x64 version installed
until recently.

Dependency Walker is still complaining about things, but not about CPU
architecture - however the pljava.dll seems to work anyway.

Anyway - it's good to know we can run pljava in both x86 and x64 worlds now.

Thanks for all the effort everyone.

Cheers, Eric

On 2011-05-04 8:14 AM, JOSE CARLOS MARTINEZ LLARIO wrote:
> Hi Erik,
> I just checked it out right now getting the same results than I got some weeks before.
>
> W7 64 - Pg 9 32 - JRE 32 - PLJAVA 32 - Working
> W7 64 - Pg 9 32 - JRE 64 - PLJAVA 32 - not working, with this error:
> ERROR: could not load library "c:/jaspa4pg/lib/pljava.dll": %1 is not a valid Win32 application.
>
> Do not why with JRE 64 is not working but with JRE 32 I can tell you that its working for sure.
>
> Cheers,
> Jose
>
> ________________________________
>> Date: Tue, 3 May 2011 22:48:27 -0700
>> From: eric.kolotyluk at gmail.com
>> To: pljava-dev at pgfoundry.org
>> Subject: Re: [Pljava-dev] Fwd: Re: Calling it a day
>>
>> Jose, did you ever get around to checking 32-bit pljava with 32-bit
>> Postgres and 32-bit Java on 64-bit Windows.
>>
>> I was finally able to get 64-bit pljava with 64-bit Postgres and 64-bit
>> Java to work on 64-bit windows with Johann's latest builds.
>>
>> It makes application deployment a little trickier now, but at least I
>> have solutions for both 32-bit and 64-bit windows.
>>
>> Cheers, Eric
>>
>> On 2011-04-30 4:58 AM, JOSE CARLOS MARTINEZ LLARIO wrote:
>> Hi Eric,
>> Im almost sure I already run 32-bit pljava with 32-bit Postgres and
>> 32-bit Java on 64-bit windows.
>> I wil check it again though.
>> cheers,
>> Jose
>>
>> ________________________________
>> Date: Fri, 29 Apr 2011 17:34:05 -0700
>> From: eric.kolotyluk at gmail.com
>> To: pljava-dev at pgfoundry.org
>> Subject: [Pljava-dev] Fwd: Re: Calling it a day
>>
>> Thanks for trying.
>>
>> So far this is what I have discovered (after hours of hosing around
>> with stuff):
>>
>> 1. It is not possible to run 32-bit pljava with 32-bit Postgres and
>> 32-bit Java on 64-bit windows. I have tried every variation I can think
>> of and DependencyWalker always shows that it is still trying to link
>> against 64-bit DLLs. This could be some sort of build configuration
>> problem with Postgres and/or PLJava.
>> 2. The 64-bit release of Postgres has some bad and missing DLLs in
>> it. You need to add the referenced files to the postgres/bin directory
>> (let me know if you want me to e-mail them to you). DependencyWalker
>> shows one final unresolved function: DatumGetFloat8 that I cannot find
>> anywhere. Anyway, you need to use Microsoft Visual C++ 2008
>> Redistributable Package
>> (x64)
>> instead of the (x86) version, and the version of IEShims.dll from the
>> 64-bit version of IE.
>>
>> What I know to be true is that I can run 32-bit pljava with 32-bit
>> postgres and 32-bit Java on 32-bit windows.
>>
>> The bottom line I know to be true is that Microsoft are fucking
>> assholes and make just about everything 100 times harder than it needs
>> to be for software developers.
>>
>> I'll keep slogging away and see what I can figure out.
>>
>> Cheers, Eric
>>
>> referenced files:
>>
>> * msvcm90.dll
>> * msvcp90.dll
>> * msvcr90.dll
>> * IEShims.dll
>>
>> On 2011-04-29 3:32 PM, JOSE CARLOS MARTINEZ LLARIO wrote:
>> Hi Johann,
>> ok, I will try it again next week. As soon as you get it please send it
>> to me.
>>
>> Have a nice weekend too.
>> Jose
>>
>>
>>> To: eric.kolotyluk at gmail.com;
>> jcllario at hotmail.com
>>> Subject: Calling it a day
>>> Date: Fri, 29 Apr 2011 22:27:49 +0000
>>> From: johann at 2ndquadrant.com
>>>
>>> Hi Eric and Jose,
>>>
>>> Just to let you know I'm calling it a day. I suspect the pljava
>>> binary I gave you does not work because there are no exported sym-
>>> bols in it. If that's the case, it just will not work at all.
>>>
>>> I'll dig further into this on Monday.
>>>
>>> Have a nice weekend,
>>>
>>>
>>> --
>>> Johann Oskarsson http://www.2ndquadrant.com/ |[]
>>> PostgreSQL Development, 24x7 Support, Training and Services --+--
>>> |
>>> Blog: http://my.opera.com/myrkraverk/blog/
>>
>> _______________________________________________
>> Pljava-dev mailing list
>> Pljava-dev at pgfoundry.org
>> http://pgfoundry.org/mailman/listinfo/pljava-dev
>>
>> _______________________________________________ Pljava-dev mailing list
>> Pljava-dev at pgfoundry.org
>> http://pgfoundry.org/mailman/listinfo/pljava-dev
>>
>>
>>
>>
>> _______________________________________________
>> Pljava-dev mailing list
>> Pljava-dev at pgfoundry.org
>> http://pgfoundry.org/mailman/listinfo/pljava-dev
>>
>> _______________________________________________ Pljava-dev mailing list
>> Pljava-dev at pgfoundry.org
>> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20110504/64d9e59a/attachment.html>