[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[THREDDS #IEA-499199]: Error during installation



Hi Don,

There is no way for a Java Servlet web application to get the value of 
$CATALINA_HOME. What it can get is the location of the web app root directory 
($CATALINA_HOME/webapps/thredds). The "../.." you see in the error message is 
us locating $CATALINA_HOME. I suspect that somewhere in our code (though I'm 
not finding it at the moment) the "../.." is resolved with a getCanonicalPath() 
which also resolves symlinks. Since your webapps directory is probably a 
symbolic link, it is getting canonical-ized by this process and causing the 
problem you are seeing.

Are you getting a stacktrace from this in your catalina.out or localhost.*.log? 
If so, could you send it to me. I've added this to our issue tracking system 
here

https://www.unidata.ucar.edu/jira/browse/TDS-196

It probably won't get fixed before TDS 4.3.

In the mean time, two current solutions exist:

1) Create a content/thredds directory as a peer to the directory the webapps 
symLink references. Make sure content/thredds directory can be written to by 
the user under which Tomcat runs. More on this at the following FAQ (written 
about RH5 but also applies to RH6 and, evidently, to the yum installed Tomcat 
6):

http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/faq.html#rh5SymLinksAndContent

2) This one is mentioned in the support message you mention below. It involves 
giving the TDS an absolute path to a content directory by setting the 
tds.content.root.path system property with a command-line argument (e.g., 
"-Dtds.content.root.path=/some/absolute/path").

More on this option here

http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.1/reference/InstallOptions.html#ChangeTdsContentDir

I'll add this info to the above FAQ as well.

Ethan

> Ethan-
> 
> I'm trying to install the TDS on a CentOS system that had tomcat6
> installed via yum.  I'm getting the same problem described here:
> 
> http://www.unidata.ucar.edu/support/help/MailArchives/thredds/msg01537.html
> 
> CATALINA_HOME is set to be /usr/share/tomcat6 in tomcat6.conf.   I
> created a content directory in $CATALINA_HOME which is writable by the
> tomcat user.  The problem is that most of the directories in
> /usr/share/tomcat6 are links to other directories.  Given the error
> message:
> 
> > ERROR - TdsContext.init(): Content directory does not exist and could not be
> > created [/usr/share/tomcat6/webapps/thredds/../../content/thredds].
> 
> It seems like the code is using a relative path to create the content
> directory, rather than using $CATALINA_HOME/content.  Shouldn't it use
> the latter rather than the former?
> 
> Don

Ticket Details
===================
Ticket ID: IEA-499199
Department: Support THREDDS
Priority: Normal
Status: Closed