[Pljava-dev] Windows 64bit officially released

From: eric(dot)kolotyluk at gmail(dot)com (Eric Kolotyluk)
To:
Subject: [Pljava-dev] Windows 64bit officially released
Date: 2011-05-04 18:50:27
Message-ID: 4DC19FF3.4050207@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

See below...

On 2011-05-04 10:17 AM, Johann 'Myrkraverk' Oskarsson wrote:
> On Wed, 04 May 2011 16:40:55 -0000, Eric Kolotyluk
> <eric.kolotyluk at gmail.com> wrote:
>
>> Comments on installation notes:
>>
>> In general the documentation package in the release itself is terribly
>> confusing because much of it is based on 1.2, but that issue goes beyond
>> your notes.
>>
>> 1. Tell people the postgresql.conf file is in the data directory.
>> It's not obvious and I had to search a half a dozen documents
>> before I found that little gem of wisdom.
>
> Right. It's been updated. Is that clear enough?
Yes, that helps enormously - thanks.
>
>> 2. The part about using org.postgresql.pljava.deploy.Deployer is
>> confusing. It would read better as
>>
>> You can also use the deployer program to do the installation.
>> For instructions just run
>>
>> java -jar deployer.jar
>
> If that had worked for me, I would. See below.
>
>> 3. Also, when I actually tried to install using the deployer I got
>>
>> java.lang.ClassNotFoundException: org.postgresql.Driver
>> at java.net.URLClassLoader$1.run(Unknown Source)
> [snip]
>> at
>> org.postgresql.pljava.deploy.Deployer.main(Deployer.java:238)
>>
>> which begs the question, where does org.postgresql.Driver come
>> from? If you wanted to be really kind to your users then
>> deploy.jar would be an uber-jar with everything it needs to run.
>
> The org.postgresql.Driver comes from JDBC, postgresql-9.0-801.jdbc4.jar
> available here,
>
> http://jdbc.postgresql.org/
>
> I got it to work by placing both jars on the classpath and then run it
> as described in the notes. I've now added this information into the
> installation notes.
>
> I'm not sure it's very smart to include it in the PL/Java distribution
> (the deploy.jar) - it has a life of its own.
Fair enough, it makes sense to keep the Driver in a separate jar. In
that case I might suggest the wording:

You can also use the deployer program to do the installation. For the details, with deploy.jar
in your CLASSPATH, run

java org.postgresql.pljava.deploy.Deployer

You will also need the JDBC driver in your classpath, available from

http://jdbc.postgresql.org/

For example:

java -cp deploy.jar;postgresql-jdbc.jar org.postgresql.pljava.deploy.Deployer -install -database postgres -user postgres -password postgres

I always find the descriptive examples are the best way to show people
how to do something.

>
>> 4. Is putting the JRE on the PATH the only way to configure this?
>> Some people have an embedded JRE in their application, and it is
>> not suitable to put it on the PATH. What component actually
>> invokes the JRE (the pljava.dll or something else), and can it be
>> configured more directly with a specific locations for jre/bin,
>> jre/bin/clinet or jre/bin/server?
>
> It is pljava.dll that invokes and loads jvm.dll. It is straight forward
> to configure specific Java VM for pljava on Unix. That's what Feature
> Request 1010955 is all about.
>
>
> http://pgfoundry.org/tracker/index.php?func=detail&aid=1010955&group_id=1000038&atid=337
>
> The description doesn't explain anything to those who do not know what
> LD_LIBRARY_PATH is though.
>
> On Windows, I do not know what controls the DLL search path other than
> the system path itself. The problem is really my lack of Windows know-
> ledge. On Solaris (and possibly Linux) I can say "look for jvm.dll in
> this directory relevant to the location of the file that's loading it."
> So it doesn't matter where you place pljava.dll, (On Unix it's actually
> called pljava.so, and jvm.dll is libjvm.so but that's irrelevant to the
> discussion), it can always find the jvm.dll that's distributed with the
> package.
>
> My question for Windows experts would be:
>
> 1) What are per-process controls for DLL search paths?
Basically you can set a system PATH environment variable, or a user PATH
environment variable, using Computer -> Properties -> Advanced system
settings -> Environment Variables.

For example, one could configure the user PATH environment variable in
the postgres user account, then whenever the Postgres servers is running
it would use that path. However, that is quite a bit to set-up,
especially programatically.
>
> 2) Can DLL search paths been built into DLLs, EXEs?
I'm not enough of a Windows expert to answer that. I'll have to research
this some more.
>
> 3) If 2) can they be made relative to the location of the corresponding
> DLL or EXE?
Again, I don't know the answer to that. I'll have to research it

>
>> Otherwise the instructions are fairly straightforward for installing
>> PLJava. I wish the same could be said for using it.
>
> Yes, that's my next real priority for PL/Java, to update the document-
> ation.
>
>
Wha-Hoo!

Cheers, Eric

In response to

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Eric Kolotyluk 2011-05-04 23:01:13 [Pljava-dev] Fwd: Re: Calling it a day
Previous Message Johann 'Myrkraverk' Oskarsson 2011-05-04 17:17:34 [Pljava-dev] Windows 64bit officially released