Quantcast

Fwd: Re: Calling it a day

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Fwd: Re: Calling it a day

Eric Kolotyluk
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: [hidden email]; [hidden email]
> Subject: Calling it a day
> Date: Fri, 29 Apr 2011 22:27:49 +0000
> From: [hidden email]
>
> 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 [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Kris Jurka
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
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

John R Pierce
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.


_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

JOSE CARLOS MARTINEZ LLARIO
In reply to this post by Eric Kolotyluk
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: [hidden email]
To: [hidden email]
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):
  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: [hidden email]; [hidden email]
> Subject: Calling it a day
> Date: Fri, 29 Apr 2011 22:27:49 +0000
> From: [hidden email]
>
> 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 [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________ Pljava-dev mailing list [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
In reply to this post by John R Pierce
On Sat, 30 Apr 2011 02:20:15 -0000, John R Pierce <[hidden email]>  
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/
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
In reply to this post by Kris Jurka
On Sat, 30 Apr 2011 00:38:21 -0000, Kris Jurka <[hidden email]> 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/
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
In reply to this post by Eric Kolotyluk
Hi PL/Java users,

On Sat, 30 Apr 2011 00:34:05 -0000, Eric Kolotyluk  
<[hidden email]> 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/
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Eric Kolotyluk
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
> <[hidden email]> 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.
>
>
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
On Mon, 02 May 2011 16:02:31 -0000, Eric Kolotyluk  
<[hidden email]> 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
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

JOSE CARLOS MARTINEZ LLARIO
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:/jaspa
4pg/lib/pljava.dll": missing magic block
HINT:  Extension libraries are required to use the PG_MODULE_MAGIC macro.
psql:c:/jaspa4pg/sql/pljavainstall.sql:8: ERROR:  function sqlj.java_call_handle
r() does not exist



> To: [hidden email]
> Date: Mon, 2 May 2011 16:04:08 +0000
> From: [hidden email]
> Subject: Re: [Pljava-dev] Fwd: Re: Calling it a day
>
> On Mon, 02 May 2011 16:02:31 -0000, Eric Kolotyluk
> <[hidden email]> 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
> [hidden email]
> http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
On Mon, 02 May 2011 16:24:38 -0000, JOSE CARLOS MARTINEZ LLARIO  
<[hidden email]> 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/
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

64-bit Operation

Eric Kolotyluk
In reply to this post by Johann 'Myrkraverk' Oskarsson-2
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
> <[hidden email]> 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.
>
>
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Eric Kolotyluk
In reply to this post by JOSE CARLOS MARTINEZ LLARIO
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: [hidden email]
To: [hidden email]
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):
  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: [hidden email]; [hidden email]
> Subject: Calling it a day
> Date: Fri, 29 Apr 2011 22:27:49 +0000
> From: [hidden email]
>
> 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 [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________ Pljava-dev mailing list [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev
_______________________________________________ Pljava-dev mailing list [hidden email] http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

JOSE CARLOS MARTINEZ LLARIO

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: [hidden email]
> To: [hidden email]
> 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: [hidden email]
> To: [hidden email]
> 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: [hidden email];
> [hidden email]
> > Subject: Calling it a day
> > Date: Fri, 29 Apr 2011 22:27:49 +0000
> > From: [hidden email]
> >
> > 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
> [hidden email]
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
> _______________________________________________ Pljava-dev mailing list
> [hidden email]
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
>
>
>
> _______________________________________________
> Pljava-dev mailing list
> [hidden email]
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>
> _______________________________________________ Pljava-dev mailing list
> [hidden email]
> http://pgfoundry.org/mailman/listinfo/pljava-dev
     
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Johann 'Myrkraverk' Oskarsson-2
On Wed, 04 May 2011 15:14:04 -0000, JOSE CARLOS MARTINEZ LLARIO  
<[hidden email]> 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/
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Fwd: Re: Calling it a day

Eric Kolotyluk
In reply to this post by JOSE CARLOS MARTINEZ LLARIO
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: [hidden email]
To: [hidden email]
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: [hidden email]
To: [hidden email]
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: [hidden email];
[hidden email]
Subject: Calling it a day
Date: Fri, 29 Apr 2011 22:27:49 +0000
From: [hidden email]

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
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________ Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev




_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________ Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
 		 	   		  
_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev

_______________________________________________
Pljava-dev mailing list
[hidden email]
http://pgfoundry.org/mailman/listinfo/pljava-dev
Loading...