Skip to Content.
Sympa Menu

perfsonar-dev - Re: [pS-dev] Re: [Bug 65] Classpath specification

Subject: perfsonar development work

List archive

Re: [pS-dev] Re: [Bug 65] Classpath specification


Chronological Thread 
  • From: Jason Zurawski <>
  • To: Loukik Kudarimoti <>
  • Cc:
  • Subject: Re: [pS-dev] Re: [Bug 65] Classpath specification
  • Date: Thu, 17 Aug 2006 16:57:36 -0400


Thinking more about this and trying to install pS 1.0 unsuccessfully for the second time, I would like to talk about two points that I have noted.

1) Classpath: Reading the Readme.txt, I am required to set the classpath and LD_LIBRARY_PATH *before* starting the installation. The clue to what these variables should look like are partly included in the readme file while the rest are provided during installation. When going through the installation procedure, I believe I have no option to actually set my classpath variable because by the time I reach the end of it, the service has already been deployed! Am I right?



The readme does instruct you you bootstrap the two variables, yes, with things that are there by default (in the axis directory and the java libs directory). You are not asked to install pS specific jars at this point because this is still a part of the pre-installation phase. If you feel that this is misleading or confusing I can take that out and simply rely on what is presented as a part of the installer. The readme has been edited since the release (and the changes have been announced via the wiki and the list). In your next attempt, be sure to read the newest version so suggested changes are not re-suggested.


As a part of the installation procedure (I just ran the text based one now to answer these questions, and the same is true of the GUI) you are presented with an exact classpath (with the directory choices that were entered as a part of the Q and A), and the exact LD_LIB path after giving the tomcat, axis and rrd locations. It should say something like this:


Be sure to edit your CLASSPATH:
CLASSPATH=$CLASSPATH:/...
export CLASSPATH


Be sure to edit your LD_LIBRARY_PATH:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/...
export LD_LIBRARY_PATH


You are not really forced to go on on this point (the installer won't penalize you for slowness) so it is possible to stop what you are doing, adjust the variables in a new shell, and make sure tomcat and axis are running with the new settings (to complete the deployment). It even warns you of that as well:


Please be sure axis is installed, and tomcat is running.


So to answer your question, you do have time to adjust the variables, source your changes, and start tomcat before the installer will run the deployment steps (the deployer and test scripts are strapped with a classpath already so it should [during my tests this was not a problem] work fine without having the env. variables adjusted in the shell it is running). As long as tomcat and eXist are running with the new settings, there will not be a problem.


So, I need to either
a) somehow find out which libraries to include in my classpath before installation begins
b) go through the installation twice so that I can figure out the complete classpath for the second run.

Is this correct? (Or am I missing something here :) )



From the readme:

... After the installation you will need
to to do this again for any new jars that are added
as a part of the installation procedure (the user
will be prompted as a part of the installation).

It is clearly stated that you will need to revisit the editing step again, and that you will be prompted. Going through twice is impractical and not necessary, the paths are clearly displayed and there indications as to what they are, and what editing must be done. Again, if this is misleading or confusing I can edit this and rely on the output of the installer program itself to drive user actions. It makes sense to me to still have these steps be in the readme so axis and tomcat can be verified as functional before even going on to the pS phase.


2) During both installations, due to my development work being on the same machine (and profile), I already had my classpath set with all the libraries (and more) included. So, I could simply continue. After finishing, I tried testing the installation and got the following exception (should I file a bug?)



If I had to guess, I would say your development configuration may interfere with this new installation. Before filling a bug please try again on a clean machine.


bash-2.05$ pwd
/home/loukik/perfSONAR/perfSONAR-1.0/scripts
bash-2.05$ ./test-ma.sh
Query Test
End point: http://mu.dante.org.uk:8092/axis/services/MeasurementArchiveService
Request file: ../xml/MAQueryRequest.xml
Response file: ../xml/MAQueryResponse.xml
SOAPClient.makeRequest: General exception encountered by client
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.perfsonar.service.commons.exceptions.SystemException: [unknown]: ExistDbXmlDataRepository: XML DB Exception
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:mu

org.perfsonar.service.commons.exceptions.SystemException: [unknown]: ExistDbXmlDataRepository: XML DB Exception
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)

<snip>

(same for both tests)

What should I do? I do not see any logs being generated. Log directory has three files -
bash-2.05$ ls
libjrrd.install rrdjtool-jar.install rrdjtool-javac.install



The installation itself was more than likely corrupted. Your feedback (and anyone else in the dev circle who still has not tried an RC or V1 yet) will be much more valuable on a clean machine, as a standard user would no doubt be using.
As soon as there is enough feedback I can cut off a new release fixing the changes I have seen thus far, so that we do not keep revisiting the same problems.

-jason



Archive powered by MHonArc 2.6.16.

Top of Page