Thanks for making this available. I'm a frequent user of Perseus and the Greek morphology tool.
I hope that I will be able to run it on my mac.
However, I have the feeling that I need more information than available in INSTALL.html.
I have basic knowledge of UNIX
With the MACOSX 10.5.1 (Leopard) running, I believe that Apache and some JDF are
part of this system.
Further, I have Fink running and so I installed (in /sw )
nr: name installed version
1: mysql 5.0.38-1003 Open Source SQL database
2: ant 1.7.0-2 Optional tasks for Ant
3: ant-contrib 1.0-1 Additional ant tasks
4: tomcat5 5.5.23-1 Java Servlet 2.4 Container and Web Server
5: tomcat5-webapps 5.5.23-1 Java Servlet 2.4 Container and Web Server
I downloaded: hopper-source-20071109, hopper-texts-20071129, artarch-0.9.1
and I set up the directory /sgml (now containing the directories: reading, texts, xml, dtd)
Primary questions:
- How to continue installation?
- I cannot identify a file /etc/my.cnf (so I cannot make the adaptions as in INSTALL.html)
- How do I identify $ANT_HOME/lib
- How do I identify $CATALINA_HOME/common/endorsed/
Also the remaining information in INSTALL.html seems rather brief for me.
How to obtain the necessary information and -above all-
will it be possible to install the Perseus Java Hopper on the Mac anyway?
Thanks in advance for any relevant information.
Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It is possible to install the hopper on a mac. You should use the Terminal application to run the command lines. my.cnf is located in /private/etc/. You will need to see where you installed Ant and Tomcat (CATALINA) to find the locations of $ANT_HOME/lib and $CATALINA_HOME/common/endorsed. $ANT_HOME, $CATALINA_HOME, and $JAVA_HOME should be set in your environment variables. If you find that you do not have enough UNIX knowledge to install the hopper, we will be releasing a snapshot of a machine that runs the website, which you can run and use on your machine locally.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I included in my .profile
ANT_HOME=/usr/share/ant
CATALINA_HOME=/sw/var/tomcat5
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
(this is the best guess I could make for these directories)
I could NOT find any private/etc/my.cnf
In fact there was no "my.cnf" on my computer, but I found
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-huge.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-innodb-heavy-4G.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-large.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-medium.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-small.cnf
none of which I modified.
Following the instructions from "INSTALL.html" I could proceed till "Hibernate setup".
There I got an error message:
------------------------------------------------------
>> ant schema-export
Buildfile: build.xml
BUILD FAILED
/hopper/sgml/reading/build.xml:207: The following error occurred while executing this line:
/hopper/sgml/reading/buildFiles/common.xml:22: taskdef class org.apache.catalina.ant.ReloadTask cannot be found
Total time: 0 seconds
>>
------------------------------------------------------
That is how far I came.
Any help is much appreciated.
Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you don't have a default my.cnf file, you can create it in the proper directory.
You are probably getting this error because a number of files expect Tomcat to be located in /usr/local/tomcat. You can either change these instances to the location of Tomcat on your computer, or you can do a simple sym link to make /usr/local/tomcat a valid location. Otherwise, you may be getting this error either because you don't have catalina-ant.jar or it's not in $CATALINA_HOME/server/lib (for Tomcat 5).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I removed tomcat from Fink and I downloaded apache-tomcat-5.5.25.tar to install it in /usr/local.
I adapted my .profile to obtain
ANT_HOME=/usr/share/ant
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
Now I could continue with "INSTALL.html" until "Loading languages"
The line
./runjava perseus.util.LanguageLoader properties/languages.properties
yielded
======================================================================================
athena:reading pieth$ ./runjava perseus.util.LanguageLoader properties/languages.properties
find: -printf: unknown option
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
find: -printf: unknown option
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
find: -printf: unknown option
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
athena:reading pieth$
======================================================================================
and I am lost again.
Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
commons-configuration.jar in /sgml/reading/lib contains the class that can't be found. As to why it can't be found, that I'm not sure of. Maybe recompile everything (ant clean and then ant dist jsp) and try again.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I also started building up everything again from the archives.
All with the same result. (commons-configuration.jar sits nicely in its place)
I checked what I could, but I have no more idea.
I would be happy if -in one way or another- you could help me installing
(at least the LSJ-dictionary and the Greek morphology tool) on the Mac.
I could spend some time for this purpose.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't know why you are unable to load the languages, as everything seems normal. Unfortunately, we do not have the resources to provide the type of support you currently need. The other option is to wait for the release of the virtual machines (hopefully in the next month) which you can use on your machine locally.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am having the same problem on my machine at work (though I can't seem to get this far from the machine at home): the same error message about -printf and 'find: illegal option' turns up when I try to load the languages.
One thing that I noticed is that the first function in the runjava file (get_subdirs) runs
find $1 -type d -not -name "CVS" -printf "%p:" | sed -e 's/:$//'
Our macs seem to be interpreting "-type" as though it were an option, rather than as an expression primary. This produces the
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
Typing "find $1 -type d" into the command line yields the same error message, but "find $1 * -type d" returns all directories and subdirectories in sgml/reading/. Also, "find" on my machine doesn't have actions like -printf, only options and expression primaries; -print seems to have much the same function as -printf, though.
I wonder if there isn't some subtle difference between how find is implemented under OS X and linux that accounts for these problems. This may actually have something to do with the missing org/apache/commons/configuration/Configuration class, however. What, exactly, I can't say, but when I changed that line in runjava to
find $1 * -type d -not -name "CVS" -print | sed 's/:$//'
I got a different missing class. Now my error message when I attempt to load the languages reads
find: -printf: unknown expression primary
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
Exception in thread "main" java.lang.NoClassDefFoundError: build/abbreviations
The first error is because thee is another line in runjava with -printf, but now the class that is missing is build/abbreviations!
While I was writing this, I also came across something that may explain the sed error messages. There is a line in runjava
sed properties/hopper.properties -n -e "/^${re_property}/s/.*=// p"
It seems as though the interpreter is having problems with the ".
I don't know what to make of this, but I thought I'd write it down while I was looking into the problem. Looking at it, I'm not sure I see much of a feasible solution (other than to install under linux). Any thoughts on this would be much appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am trying to get that stage to work too, but on Ubunto Edgy Eft. I have edited the runjava script, adding set -vx so it echos the commands in the script and I can see whats happening. You might find that helpful and you could post your output if you want to compare it with mine.
I'm not sure adding the * to the find command is going to help you, its $1 in the script because its inside a subroutine, so that won't work if you just type the command on the command line.
Jenny
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Now I could do "Loading languages" and "Loading metadata", probably with only minor errors.
At the moment I'm "chunkify-ing" (ERT 12 hours).
I keep my fingers crossed.
For your information I attach an excerpt of the warnings/errors I encountered in this stage.
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@858610.
.....
16:46:39,279 INFO NamingHelper:26 - JNDI InitialContext properties:{}
16:46:39,290 ERROR NamingHelper:33 - Could not obtain initial context
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
....
perseus.util.Language <850858995> {
allLanguages -> Set <???>
languagesByCode -> Map <???>
UNKNOWN -> Language <UNKNOWN>
lemmas -> Set <[]>
wordCounts -> Set <[]>
ENGLISH -> Language <UNKNOWN>
GREEK -> Language <UNKNOWN>
LATIN -> Language <UNKNOWN>
OLD_NORSE -> Language <UNKNOWN>
OLD_ENGLISH -> Language <UNKNOWN>
hasMorphData -> boolean <false>
abbreviations -> List <[fr]>
name -> String <French>
adapterClass -> Class <???>
id -> Integer <9>
logger -> Logger <???>
}
===============> WE CONTINUE WITH THE NEXT COMMAND <==========================
Following the instructions in INSTALL.html I could proceed with 'Adding texts' and 'Lexicon links'.
Continuing with 'Morphology' I got (at the end) the error message
ParseLoader:306 - Unknown language code: Greek
Notice that
./properties/languages.properties
was in its place.
There I learned that I better wrote Greek with a capital.
Also Latin, or abbreviations for the languages gave the same error,
as well as putting brackets around the xml-filename and the lanuage.
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@858610.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@858610 class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader sun.misc.Launcher$AppClassLoader@858610.
log4j: Using URL [file:/hopper/sgml/reading/build/log4j.properties] for automatic log4j configuration.
...
log4j: Handling log4j.additivity.org.hibernate=[null]
log4j: Finished configuring.
09:40:28,272 INFO Environment:500 - Hibernate 3.2.0
....
09:40:29,452 INFO NamingHelper:26 - JNDI InitialContext properties:{}
09:40:29,461 ERROR NamingHelper:33 - Could not obtain initial context
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:397)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1933)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1216)
at perseus.util.HibernateUtil.<clinit>(HibernateUtil.java:46)
at perseus.util.HibernateDAO.<clinit>(HibernateDAO.java:20)
at perseus.morph.ParseLoader.<clinit>(ParseLoader.java:72)
Caused by: java.lang.InstantiationException: javax.naming.spi.InitialContextFactory
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 14 more
09:40:29,463 FATAL DatasourceConnectionProvider:55 - Could not find datasource: java:/comp/env/jdbc/PerseusDB
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:397)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1933)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1216)
at perseus.util.HibernateUtil.<clinit>(HibernateUtil.java:46)
at perseus.util.HibernateDAO.<clinit>(HibernateDAO.java:20)
at perseus.morph.ParseLoader.<clinit>(ParseLoader.java:72)
Caused by: java.lang.InstantiationException: javax.naming.spi.InitialContextFactory
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 14 more
09:40:29,572 INFO Configuration:535 - Reading mappings from resource: perseus/document/Chunk.hbm.xml
....
09:40:31,083 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
!
...
!
09:40:31,349 FATAL ParseLoader:306 - Unknown language code: Greek
=====================================================================================
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I could run
./runjava perseus.morph.ParseLoader greek.morph.xml
./runjava perseus.morph.ParseLoader latin.morph.xml
without second argument. I hope it will take the default/correct language.
Thus far it seems that I could execute the instructions in INSTALL.html without fatal errors until "Installing Apache with Tomcat".
There, having found the file "" in /etc/httpd , I could execute Step 2 in the Tomcat documentation.
Now, I see instructions to modify the file "mod_proxy.conf",
however, I cannot find that file in my system.
Can you indicate where it should be expected?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Do a search for the file on your computer, as it could be in different locations depending on how you installed the Apache server. If you don't have the file then you did not correctly install the proxy Modules as the file is automatically created when you do. Other than that, I'm not sure I understand what problems you have run into under "Installing Apache with Tomcat."
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm running Mac OS 10.5.2, and ran into (and resolved) many of the issues that Pieter found above. By utilizing findutils I managed to get through the ./runjava perseus.util.LanguageLoader properties/languages.properties successfully, but then run into the following issue when running ./runjava perseus.document.MetadataLoader --reload. It seems to run successfully up through and including login to mysql, and then throws the following error:
classics.xml [loading]
Exception in thread "main" java.lang.IllegalArgumentException: java.io.FileNotFoundException: build/document/catalog.xsl
at perseus.document.StyleTransformer.getTranslet(StyleTransformer.java:102)
at perseus.document.StyleTransformer.doTransform(StyleTransformer.java:339)
at perseus.document.StyleTransformer.transform(StyleTransformer.java:266)
at perseus.document.MetadataLoader.loadUncachedCatalog(MetadataLoader.java:203)
at perseus.document.MetadataLoader.loadCatalog(MetadataLoader.java:186)
at perseus.document.MetadataLoader.load(MetadataLoader.java:81)
at perseus.document.MetadataLoader.main(MetadataLoader.java:488)
Caused by: java.io.FileNotFoundException: build/document/catalog.xsl
... 7 more
I've been digging around in hopper.properties to ensure that hopper.catalog.files points to the correct location, and it seems to. catalog.xsl is right where it should be. Even after playing around with that, however, the command routinely results in the error above. I'm stymied. Any words of wisdom would be greatly appreciated!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for making this available. I'm a frequent user of Perseus and the Greek morphology tool.
I hope that I will be able to run it on my mac.
However, I have the feeling that I need more information than available in INSTALL.html.
I have basic knowledge of UNIX
With the MACOSX 10.5.1 (Leopard) running, I believe that Apache and some JDF are
part of this system.
Further, I have Fink running and so I installed (in /sw )
nr: name installed version
1: mysql 5.0.38-1003 Open Source SQL database
2: ant 1.7.0-2 Optional tasks for Ant
3: ant-contrib 1.0-1 Additional ant tasks
4: tomcat5 5.5.23-1 Java Servlet 2.4 Container and Web Server
5: tomcat5-webapps 5.5.23-1 Java Servlet 2.4 Container and Web Server
I downloaded: hopper-source-20071109, hopper-texts-20071129, artarch-0.9.1
and I set up the directory /sgml (now containing the directories: reading, texts, xml, dtd)
Primary questions:
- How to continue installation?
- I cannot identify a file /etc/my.cnf (so I cannot make the adaptions as in INSTALL.html)
- How do I identify $ANT_HOME/lib
- How do I identify $CATALINA_HOME/common/endorsed/
Also the remaining information in INSTALL.html seems rather brief for me.
How to obtain the necessary information and -above all-
will it be possible to install the Perseus Java Hopper on the Mac anyway?
Thanks in advance for any relevant information.
Peter
It is possible to install the hopper on a mac. You should use the Terminal application to run the command lines. my.cnf is located in /private/etc/. You will need to see where you installed Ant and Tomcat (CATALINA) to find the locations of $ANT_HOME/lib and $CATALINA_HOME/common/endorsed. $ANT_HOME, $CATALINA_HOME, and $JAVA_HOME should be set in your environment variables. If you find that you do not have enough UNIX knowledge to install the hopper, we will be releasing a snapshot of a machine that runs the website, which you can run and use on your machine locally.
Thanks for offering special help for installing the hopper on MACOSX (10.5.1 "Leopard").
I'm looking forward to using the hopper.
======================================================
In the mean time I tried to install it with the instructions given in "INSTALL.html".
I have installed tomcat5 (5.5.23-1) from Fink
I installed mysql (5.0.45) from http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg
I included in my .profile
ANT_HOME=/usr/share/ant
CATALINA_HOME=/sw/var/tomcat5
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
(this is the best guess I could make for these directories)
I could NOT find any private/etc/my.cnf
In fact there was no "my.cnf" on my computer, but I found
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-huge.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-innodb-heavy-4G.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-large.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-medium.cnf
usr/local/mysql-5.0.45-osx10.4-i686/support-files/my-small.cnf
none of which I modified.
Following the instructions from "INSTALL.html" I could proceed till "Hibernate setup".
There I got an error message:
------------------------------------------------------
>> ant schema-export
Buildfile: build.xml
BUILD FAILED
/hopper/sgml/reading/build.xml:207: The following error occurred while executing this line:
/hopper/sgml/reading/buildFiles/common.xml:22: taskdef class org.apache.catalina.ant.ReloadTask cannot be found
Total time: 0 seconds
>>
------------------------------------------------------
That is how far I came.
Any help is much appreciated.
Peter
If you don't have a default my.cnf file, you can create it in the proper directory.
You are probably getting this error because a number of files expect Tomcat to be located in /usr/local/tomcat. You can either change these instances to the location of Tomcat on your computer, or you can do a simple sym link to make /usr/local/tomcat a valid location. Otherwise, you may be getting this error either because you don't have catalina-ant.jar or it's not in $CATALINA_HOME/server/lib (for Tomcat 5).
OK
I removed tomcat from Fink and I downloaded apache-tomcat-5.5.25.tar to install it in /usr/local.
I adapted my .profile to obtain
ANT_HOME=/usr/share/ant
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
Now I could continue with "INSTALL.html" until "Loading languages"
The line
./runjava perseus.util.LanguageLoader properties/languages.properties
yielded
======================================================================================
athena:reading pieth$ ./runjava perseus.util.LanguageLoader properties/languages.properties
find: -printf: unknown option
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
find: -printf: unknown option
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
find: -printf: unknown option
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
athena:reading pieth$
======================================================================================
and I am lost again.
Peter
commons-configuration.jar in /sgml/reading/lib contains the class that can't be found. As to why it can't be found, that I'm not sure of. Maybe recompile everything (ant clean and then ant dist jsp) and try again.
I did as you suggested, without success.
I also started building up everything again from the archives.
All with the same result. (commons-configuration.jar sits nicely in its place)
I checked what I could, but I have no more idea.
I would be happy if -in one way or another- you could help me installing
(at least the LSJ-dictionary and the Greek morphology tool) on the Mac.
I could spend some time for this purpose.
I don't know why you are unable to load the languages, as everything seems normal. Unfortunately, we do not have the resources to provide the type of support you currently need. The other option is to wait for the release of the virtual machines (hopefully in the next month) which you can use on your machine locally.
I am having the same problem on my machine at work (though I can't seem to get this far from the machine at home): the same error message about -printf and 'find: illegal option' turns up when I try to load the languages.
One thing that I noticed is that the first function in the runjava file (get_subdirs) runs
find $1 -type d -not -name "CVS" -printf "%p:" | sed -e 's/:$//'
Our macs seem to be interpreting "-type" as though it were an option, rather than as an expression primary. This produces the
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
Typing "find $1 -type d" into the command line yields the same error message, but "find $1 * -type d" returns all directories and subdirectories in sgml/reading/. Also, "find" on my machine doesn't have actions like -printf, only options and expression primaries; -print seems to have much the same function as -printf, though.
I wonder if there isn't some subtle difference between how find is implemented under OS X and linux that accounts for these problems. This may actually have something to do with the missing org/apache/commons/configuration/Configuration class, however. What, exactly, I can't say, but when I changed that line in runjava to
find $1 * -type d -not -name "CVS" -print | sed 's/:$//'
I got a different missing class. Now my error message when I attempt to load the languages reads
find: -printf: unknown expression primary
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
Exception in thread "main" java.lang.NoClassDefFoundError: build/abbreviations
The first error is because thee is another line in runjava with -printf, but now the class that is missing is build/abbreviations!
While I was writing this, I also came across something that may explain the sed error messages. There is a line in runjava
sed properties/hopper.properties -n -e "/^${re_property}/s/.*=// p"
It seems as though the interpreter is having problems with the ".
I don't know what to make of this, but I thought I'd write it down while I was looking into the problem. Looking at it, I'm not sure I see much of a feasible solution (other than to install under linux). Any thoughts on this would be much appreciated.
I am trying to get that stage to work too, but on Ubunto Edgy Eft. I have edited the runjava script, adding set -vx so it echos the commands in the script and I can see whats happening. You might find that helpful and you could post your output if you want to compare it with mine.
I'm not sure adding the * to the find command is going to help you, its $1 in the script because its inside a subroutine, so that won't work if you just type the command on the command line.
Jenny
This may fix the issue in runjava: download Fink (http://finkproject.org/) and then set find to be the one found in /sw/bin/find.
This helps a lot !!!
Now I could do "Loading languages" and "Loading metadata", probably with only minor errors.
At the moment I'm "chunkify-ing" (ERT 12 hours).
I keep my fingers crossed.
For your information I attach an excerpt of the warnings/errors I encountered in this stage.
=================================================================
athena:reading pieth$ ./runjava perseus.util.LanguageLoader properties/languages.properties
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@858610.
.....
16:46:39,279 INFO NamingHelper:26 - JNDI InitialContext properties:{}
16:46:39,290 ERROR NamingHelper:33 - Could not obtain initial context
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
....
perseus.util.Language <850858995> {
allLanguages -> Set <???>
languagesByCode -> Map <???>
UNKNOWN -> Language <UNKNOWN>
lemmas -> Set <[]>
wordCounts -> Set <[]>
ENGLISH -> Language <UNKNOWN>
GREEK -> Language <UNKNOWN>
LATIN -> Language <UNKNOWN>
OLD_NORSE -> Language <UNKNOWN>
OLD_ENGLISH -> Language <UNKNOWN>
hasMorphData -> boolean <false>
abbreviations -> List <[fr]>
name -> String <French>
adapterClass -> Class <???>
id -> Integer <9>
logger -> Logger <???>
}
===============> WE CONTINUE WITH THE NEXT COMMAND <==========================
athena:reading pieth$ ./runjava perseus.document.MetadataLoader --reload
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@858610.
....
16:48:51,415 INFO HbmBinder:2375 - Mapping collection: perseus.util.Language.wordCounts -> hib_word_counts
16:48:51,504 WARN Environment:489 - Property [hibernate.cglib.use_reflection_optimizer] has been renamed to [hibernate.bytecode.use_reflection_optimizer]; update your properties appropriately
16:48:51,516 INFO NamingHelper:26 - JNDI InitialContext properties:{}
16:48:51,520 ERROR NamingHelper:33 - Could not obtain initial context
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
.....
at perseus.document.MetadataLoader.main(MetadataLoader.java:488)
Caused by: java.lang.InstantiationException: javax.naming.spi.InitialContextFactory
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 21 more
16:48:51,524 FATAL DatasourceConnectionProvider:55 - Could not find datasource: java:/comp/env/jdbc/PerseusDB
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
.....
16:48:51,836 INFO SessionFactoryImpl:161 - building session factory
16:48:52,709 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
!
....
!
!
16:49:32,598 ERROR Metadata:230 - Unable to locate source file /sgml/texts/Plutarch/New_Plutarch/xml/plut.alex_eng.xml for document Perseus:text:1999.01.0243
16:49:36,083 ERROR Metadata:230 - Unable to locate source file /sgml/texts/Goodwin/goodwin.moods_eng.xml for document Perseus:text:1999.04.0065
16:49:41,188 ERROR Metadata:230 - Unable to locate source file /sgml/texts/Plutarch/New_Plutarch/xml/plut.caes_eng.xml for document Perseus:text:1999.01.0244
/sgml/texts/DDBDP/collection.xml [loading]
Unknown node! [dc:description] =
16:50:22,772 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.bingen.xml for document Perseus:text:1999.05.0254
16:50:25,017 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.ammon.xml for document Perseus:text:1999.05.0251
16:50:29,856 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.thomas.xml for document Perseus:text:1999.05.0258
16:50:32,325 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.petra.xml for document Perseus:text:1999.05.0256
16:50:34,530 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.bgu.xml for document Perseus:text:1999.05.0001
16:50:35,330 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.erl.diosp.xml for document Perseus:text:1999.05.0269
16:50:36,842 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.harrauer.xml for document Perseus:text:1999.05.0255
16:50:37,673 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.rom.mil.rec.xml for document Perseus:text:1999.05.0280
16:50:39,903 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.chic.haw.xml for document Perseus:text:1999.05.0260
16:50:40,496 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.eirene.xml for document Perseus:text:1999.05.0259
16:50:41,934 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.mon.apollo.xml for document Perseus:text:1999.05.0264
16:50:46,071 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.zauzich.xml for document Perseus:text:1999.05.0281
16:50:51,348 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.dion.herm.xml for document Perseus:text:1999.05.0261
16:50:52,149 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.palaurib.xml for document Perseus:text:1999.05.0265
16:50:57,846 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.diosk.xml for document Perseus:text:1999.05.0267
16:50:59,912 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.louvre.xml for document Perseus:text:1999.05.0263
16:51:00,993 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.eleph.wagner.xml for document Perseus:text:1999.05.0262
16:51:02,462 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.giss.apoll.xml for document Perseus:text:1999.05.0272
16:51:03,261 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.euphrates.xml for document Perseus:text:1999.05.0274
16:51:07,221 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.polit.iud.xml for document Perseus:text:1999.05.0257
16:51:07,867 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.benaki.xml for document Perseus:text:1999.05.0252
16:51:09,897 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.jud.des.misc.xml for document Perseus:text:1999.05.0268
16:51:09,897 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.berl.salmen.xml for document Perseus:text:1999.05.0253
16:51:12,026 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.p.dryton.xml for document Perseus:text:1999.05.0270
16:51:14,107 ERROR Metadata:230 - Unable to locate source file /sgml/texts/DDBDP/xml/ddbdp.o.berenike.xml for document Perseus:text:1999.05.0250
corpora.xml [loading]
oldenglish.xml [loading]
oldnorse.xml [loading]
cwar.xml [loading]
16:51:52,685 ERROR Metadata:230 - Unable to locate source file /sgml/texts/cwar/xml/dyer.battles.ie.xml for document Perseus:text:2001.05.0140
RichTimes.xml [loading]
earlymod.xml [loading]
Unknown node! [dc:description] =
16:59:01,542 WARN MetadataCache:50 - Metadata cache parent-doc miss: Perseus:text:1999.03.0081
16:59:01,545 WARN MetadataCache:50 - Metadata cache parent-doc miss: Perseus:text:1999.03.0081
.....
16:59:06,239 WARN MetadataCache:50 - Metadata cache parent-doc miss: Perseus:text:1999.03.0080
16:59:06,241 WARN MetadataCache:50 - Metadata cache parent-doc miss: Perseus:text:1999.03.0080
=================================================================
Following the instructions in INSTALL.html I could proceed with 'Adding texts' and 'Lexicon links'.
Continuing with 'Morphology' I got (at the end) the error message
ParseLoader:306 - Unknown language code: Greek
Notice that
./properties/languages.properties
was in its place.
There I learned that I better wrote Greek with a capital.
Also Latin, or abbreviations for the languages gave the same error,
as well as putting brackets around the xml-filename and the lanuage.
I give an excerpt of the diagnostics below
=====================================================================================
athena:reading pieth$ ./runjava perseus.morph.ParseLoader greek.morph.xml Greek
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
sed: 1: "properties/hopper.prope ...": extra characters at the end of p command
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@858610.
log4j: Trying to find [log4j.xml] using sun.misc.Launcher$AppClassLoader@858610 class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader sun.misc.Launcher$AppClassLoader@858610.
log4j: Using URL [file:/hopper/sgml/reading/build/log4j.properties] for automatic log4j configuration.
...
log4j: Handling log4j.additivity.org.hibernate=[null]
log4j: Finished configuring.
09:40:28,272 INFO Environment:500 - Hibernate 3.2.0
....
09:40:29,452 INFO NamingHelper:26 - JNDI InitialContext properties:{}
09:40:29,461 ERROR NamingHelper:33 - Could not obtain initial context
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:397)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1933)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1216)
at perseus.util.HibernateUtil.<clinit>(HibernateUtil.java:46)
at perseus.util.HibernateDAO.<clinit>(HibernateDAO.java:20)
at perseus.morph.ParseLoader.<clinit>(ParseLoader.java:72)
Caused by: java.lang.InstantiationException: javax.naming.spi.InitialContextFactory
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 14 more
09:40:29,463 FATAL DatasourceConnectionProvider:55 - Could not find datasource: java:/comp/env/jdbc/PerseusDB
javax.naming.NoInitialContextException: Cannot instantiate class: javax.naming.spi.InitialContextFactory [Root exception is java.lang.InstantiationException: javax.naming.spi.InitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:397)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1933)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1216)
at perseus.util.HibernateUtil.<clinit>(HibernateUtil.java:46)
at perseus.util.HibernateDAO.<clinit>(HibernateDAO.java:20)
at perseus.morph.ParseLoader.<clinit>(ParseLoader.java:72)
Caused by: java.lang.InstantiationException: javax.naming.spi.InitialContextFactory
at java.lang.Class.newInstance0(Class.java:335)
at java.lang.Class.newInstance(Class.java:303)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 14 more
09:40:29,572 INFO Configuration:535 - Reading mappings from resource: perseus/document/Chunk.hbm.xml
....
09:40:31,083 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
!
...
!
09:40:31,349 FATAL ParseLoader:306 - Unknown language code: Greek
=====================================================================================
Check your database to make sure the languages were actually loaded. It looks like this is your problem.
I could run
./runjava perseus.morph.ParseLoader greek.morph.xml
./runjava perseus.morph.ParseLoader latin.morph.xml
without second argument. I hope it will take the default/correct language.
Thus far it seems that I could execute the instructions in INSTALL.html without fatal errors until "Installing Apache with Tomcat".
There, having found the file "" in /etc/httpd , I could execute Step 2 in the Tomcat documentation.
Now, I see instructions to modify the file "mod_proxy.conf",
however, I cannot find that file in my system.
Can you indicate where it should be expected?
Do a search for the file on your computer, as it could be in different locations depending on how you installed the Apache server. If you don't have the file then you did not correctly install the proxy Modules as the file is automatically created when you do. Other than that, I'm not sure I understand what problems you have run into under "Installing Apache with Tomcat."
Hello -
I'm running Mac OS 10.5.2, and ran into (and resolved) many of the issues that Pieter found above. By utilizing findutils I managed to get through the ./runjava perseus.util.LanguageLoader properties/languages.properties successfully, but then run into the following issue when running ./runjava perseus.document.MetadataLoader --reload. It seems to run successfully up through and including login to mysql, and then throws the following error:
classics.xml [loading]
Exception in thread "main" java.lang.IllegalArgumentException: java.io.FileNotFoundException: build/document/catalog.xsl
at perseus.document.StyleTransformer.getTranslet(StyleTransformer.java:102)
at perseus.document.StyleTransformer.doTransform(StyleTransformer.java:339)
at perseus.document.StyleTransformer.transform(StyleTransformer.java:266)
at perseus.document.MetadataLoader.loadUncachedCatalog(MetadataLoader.java:203)
at perseus.document.MetadataLoader.loadCatalog(MetadataLoader.java:186)
at perseus.document.MetadataLoader.load(MetadataLoader.java:81)
at perseus.document.MetadataLoader.main(MetadataLoader.java:488)
Caused by: java.io.FileNotFoundException: build/document/catalog.xsl
... 7 more
I've been digging around in hopper.properties to ensure that hopper.catalog.files points to the correct location, and it seems to. catalog.xsl is right where it should be. Even after playing around with that, however, the command routinely results in the error above. I'm stymied. Any words of wisdom would be greatly appreciated!