Hi. Over the past few weeks, I have spent some time enhancing the SJava package and ironing out some issues (syncrhonization and locking of the R evaluator, etc.). Along the way, I did encounter the problem you mention about java.lang.Hashtable. I can't quite remember what the problem was, but I think it may have been a typo in one part of the code.
I will make a new version of the package available in the next day or so and hopefully your problem and others will be resolved. D. Weiming Zhang wrote: > Hi, Henrik, > > Thank you very much for replying. > > I actually have the JAVA_HOME environment variable set in a linux shell > script .bash_profile which set up all of my development environment > before I install this SJava package and it points to the current java > cdk I am using. So it is weird that R could not find the common java > libraries. Do you think I need to use .Renviron instead of > .bash_profile? > > Weiming > > On Wed, 2003-09-24 at 12:42, Henrik Bengtsson wrote: > > Hi, I do not have Linux myself but looking at your error message > > > > > > .JavaInit() > > > [1] error initializing manager class can't find class > > > java/lang/Hashtable Error in .JavaInit() : Couldn't start > > > Java Virtual Machine: can't find class java/lang/Hashtable > > > > > > > > it looks like you have not set the JAVA_HOME variable correctly. On a > > Windows XP machine you will get the error (together with a popup > > dialog): > > > > > library(SJava) > > using JAVA_HOME = /c/Program Files/Java/j2sdk1.4.0_02 > > Error in dyn.load(x, as.logical(local), as.logical(now)) : > > unable to load shared library > > "c:/PROGRA~1/R/rw1071/library/SJava/libs/S > > Java.dll": > > LoadLibrary failure: The specified module could not be found. > > Error in library(SJava) : .First.lib failed > > > > > > > See help(.Renviron) how to set the JAVA_HOME environment variable. > > > > ***Note*** on Windows XP (and maybe on other systems too) you have to > > set JAVA_HOME differently if you have i) Java Runtime Edition or the ii) > > Java SDK. For Java SDK, which you have, you have to set > > > > JAVA_HOME=C:/Program Files/Java/j2sdk1.4.0_02/jre/ > > > > and not to > > > > JAVA_HOME=C:/Program Files/Java/j2sdk1.4.0_02/ > > > > as one would guess. But with Java Runtime Edition you should do > > > > JAVA_HOME=C:/Program Files/Java/j2re1.4.1_02/ > > > > If you use ~/.Renviron it won't mess with your other settings. > > > > Again, I'm not sure if this applies to Linux, but it's worth a try. > > > > Cheers > > > > Henrik Bengtsson > > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of Weiming Zhang > > > Sent: den 24 september 2003 19:16 > > > To: [EMAIL PROTECTED] > > > Subject: [R] SJava help > > > > > > > > > Hi, > > > > > > I installed SJava 0.66-1 on my linux RH 7.2 machine. I am > > > using R-1.7.1. I set LD_LIBRARY_PATH up then called > > > library(SJava) and it was fine. But when I called > > > .JavaInit(), I got weird error that states it could not find > > > java/lang/Hashtable. The session is below and shows my java > > > configuration. I am using j2sdk1.4.2_01 from Sun. > > > > > > Thank you very much. > > > > > > Weiming Zhang > > > > > > > .javaConfig > > > $classPath > > > [1] "/usr/lib/R/library/SJava/org/omegahat/Jars/Environment.jar" > > > [2] "/usr/lib/R/library/SJava/org/.." > > > [3] "/usr/lib/R/library/SJava/org/omegahat/Jars/antlr.jar" > > > [4] "/usr/lib/R/library/SJava/org/omegahat/Jars/jas.jar" > > > [5] "/usr/lib/R/library/SJava/org/omegahat/Jars/jhall.jar" > > > > > > $properties > > > > > > EmbeddedInR > > > > > > "true" > > > > > > InterfaceManagerClass > > > > > > "org/omegahat/Interfaces/NativeInterface/OmegaInterfaceManager" > > > > > > ForeignReferenceBaseClass > > > > > > "org/omegahat/R/Java/RForeignReference" > > > > > > java.compiler > > > > > > "NONE" > > > > > > OMEGA_HOME > > > > > > "/usr/lib/R/library/SJava/org/omegahat" > > > > > > OmegahatSearchPath > > > ".,${OMEGA_HOME}/Environment/Scripts/Run,${OMEGA_HOME}/Jars/En > > > vironment.jar" > > > > > > java.library.path > > > > > > "/usr/lib/R/library/SJava/libs" > > > > > > $libraryPath > > > [1] "/usr/lib/R/library/SJava/libs" > > > > > > $args > > > character(0) > > > > > > > .JavaInit() > > > [1] error initializing manager class can't find class > > > java/lang/Hashtable Error in .JavaInit() : Couldn't start > > > Java Virtual Machine: can't find class java/lang/Hashtable > > > > > > > > > > The output from installation is here and > > > I used R INSTALL -c SJavaPackageName: > > > > > > * Installing *source* package 'SJava' ... > > > creating cache ./config.cache > > > checking for java... /opt/lang/java/j2sdk1.4.2_01/bin/java > > > Java VM /opt/lang/java/j2sdk1.4.2_01/bin/java > > > checking for javah... /opt/lang/java/j2sdk1.4.2_01/bin/javah > > > checking for c++... c++ > > > checking whether the C++ compiler (c++ ) works... yes > > > checking whether the C++ compiler (c++ ) is a > > > cross-compiler... no checking whether we are using GNU C++... > > > yes checking whether c++ accepts -g... yes checking for > > > gcc... gcc checking whether the C compiler (gcc ) works... > > > yes checking whether the C compiler (gcc ) is a > > > cross-compiler... no checking whether we are using GNU C... > > > yes checking whether gcc accepts -g... yes checking for > > > Rf_initEmbeddedR in -lR... no No R shared library found > > > updating cache ./config.cache creating ./config.status > > > creating Makevars creating src/Makevars creating > > > src/RSJava/Makefile creating Makefile_rules creating > > > inst/scripts/RJava.bsh creating inst/scripts/RJava.csh > > > creating R/zzz.R creating cleanup creating inst/scripts/RJava > > > Copying the cleanup script to the scripts/ directory Building > > > libRSNativeJava.so in /tmp/R.INSTALL.30363/SJava/src/RSJava > > > if test ! -d /usr/lib/R/library/SJava/libs ; then \ > > > mkdir /usr/lib/R/library/SJava/libs ; \ > > > fi > > > gcc -g -O2 -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux -c CtoJava.c > > > gcc -g -O2 -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux -c > > > ErrorHandling.c gcc -g -O2 -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux -c > > > ManagerInterfaceUtils.c gcc -g -O2 -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux -c References.c > > > gcc -g -O2 -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux -c JNIUtils.c > > > gcc -shared -o libRSNativeJava.so CtoJava.o ErrorHandling.o > > > ManagerInterfaceUtils.o References.o JNIUtils.o > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386/client > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386 > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/../lib/i386 -ljvm > > > -L/tmp/R.INSTALL.30363/SJava/inst/libs > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386/client > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386 > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/../lib/i386 > > > -L/usr/lib/R/library/SJava/libs > > > if test -n "CtoJava.h ErrorHandling.h JNIUtils.h > > > ManagerInterfaceUtils.h References.h" ; then cp CtoJava.h > > > ErrorHandling.h JNIUtils.h ManagerInterfaceUtils.h > > > References.h /tmp/R.INSTALL.30363/SJava/inst/include ; fi mv > > > libRSNativeJava.so /tmp/R.INSTALL.30363/SJava/inst/libs > > > Generating JNI header files from Java classes. > > > RForeignReference, RManualFunctionActionListener, > > > ROmegahatInterpreter & REvaluator > > > ************* > > > Warning: > > > At present, to use the library you must set the > > > LD_LIBRARY_PATH environment variable > > > to > > > > > > /usr/lib/R/library/SJava/libs:/opt/lang/java/j2sdk1.4.2_01/jre > > /lib/i386/client:/opt/lang/java/j2sdk1.4.2_> > > 01/jre/lib/i386:/opt/lang/java/j2sdk1.4.2_01/jre/../lib/i386: > > > or use one of the RJava.bsh or RJava.csh scripts > > > ************* > > > ** libs > > > gcc -I/usr/lib/R/include -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c ConverterExamples.c -o > > > ConverterExamples.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c Converters.c -o > > > Converters.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c Reflectance.c -o > > > Reflectance.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c REmbed.c -o REmbed.o gcc > > > -I/usr/lib/R/include -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c REmbedWin.c -o > > > REmbedWin.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c REval.c -o REval.o gcc > > > -I/usr/lib/R/include -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c RFunctionListener.c -o > > > RFunctionListener.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c RReferenceCall.c -o > > > RReferenceCall.o gcc -I/usr/lib/R/include -D_R_ > > > -I/usr/lib/R/include -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c RStoJava.c -o RStoJava.o > > > gcc -I/usr/lib/R/include -D_R_ -I/usr/lib/R/include > > > -I/usr/lib/R/include/R_ext > > > -I/tmp/R.INSTALL.30363/SJava/src/RSJava -I. > > > -I/tmp/R.INSTALL.30363/SJava/inst/include -IRSJava > > > -I/opt/lang/java/j2sdk1.4.2_01/include > > > -I/opt/lang/java/j2sdk1.4.2_01/include/linux > > > -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC > > > -O2 -m486 -fno-strength-reduce -g -c RtoJava.c -o RtoJava.o > > > gcc -shared -L/usr/local/lib -o SJava.so ConverterExamples.o > > > Converters.o Reflectance.o REmbed.o REmbedWin.o REval.o > > > RFunctionListener.o RReferenceCall.o RStoJava.o RtoJava.o > > > -L/tmp/R.INSTALL.30363/SJava/inst/libs > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386/client > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/lib/i386 > > > -L/opt/lang/java/j2sdk1.4.2_01/jre/../lib/i386 > > > -L/usr/lib/R/library/SJava/libs -lRSNativeJava -ljvm > > > ** R > > > ** inst > > > ** help > > > >>> Building/Updating help pages for package 'SJava' > > > Formats: text html latex example > > > Array text html latex example > > > Dollar text html latex example > > > DotJavaSigs text html latex > > > DotjavaConfig text html latex > > > JClass text html latex example > > > Java text html latex example > > > JavaConstructor text html latex example > > > JavaInit text html latex example > > > JavaTerminate text html latex example > > > OmegahatExpression text html latex example > > > RSJava.symbol text html latex example > > > RtoJavaSig text html latex example > > > expandClassName text html latex example > > > foreignReference text html latex example > > > getForeignReferences text html latex example > > > getJavaConverterDescriptions text html latex example > > > getJavaHandler text html latex example > > > getMethods text html latex example > > > getNumJavaConverters text html latex example > > > interfaceGenerator text html latex example > > > isJavaInitialized text html latex example > > > javaConfig text html latex example > > > javaHandlerGenerator text html latex example > > > javaIs text html latex example > > > javaMatchFunctions text html latex > > > javaSig text html latex example > > > jdynamicCompile text html latex example > > > mergePath text html latex example > > > mergeProperties text html latex example > > > omegahatReference text html latex example > > > removeJavaConverter text html latex example > > > setConvertible text html latex example > > > setJavaConverter text html latex example > > > setJavaFunctionConverter text html latex example > > > setJavaHandler text html latex example > > > missing link(s): javaHandlerGenerator() > > > Creating the symbolic link for libSJava.so in > > > /usr/lib/R/library/SJava/libs/ > > > * DONE (SJava) > > > > > > * DONE (INSTALL) > > > > > > ______________________________________________ > > > [EMAIL PROTECTED] mailing list > > > https://www.stat.math.ethz.ch/mailman/listinfo> /r-help > > > > > > > > > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help -- _______________________________________________________________ Duncan Temple Lang [EMAIL PROTECTED] Bell Labs, Lucent Technologies office: (908)582-3217 700 Mountain Avenue, Room 2C-259 fax: (908)582-3340 Murray Hill, NJ 07974-2070 http://cm.bell-labs.com/stat/duncan ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help