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

Re: ozone 0.4-dev5



>
>*** ozone version 0.4-dev5 available ***
>
>It includes the new ClassLoader that depends on JDK1.2. You can just use
the
>ClassManager.java from the 0.4-dev4 distribution to make it work with
JDK1.1.


I had to make some changes to get ozone0.4.5 working with jdk1.1.8.
The first thing was very strange:
in Makefile.env the .jar's and class-directories from ozone are added to the
CLASSPATH.
All Makefiles read Makefile.env, thus while making "make" all
jars get added to the CLASSPATH several times. There seems to be
a limit on the length of environment variables (at least on FreeBSD).
And javac finally couldn't find the .java files:
   gmake -C test
   gmake[3]: Entering directory
`/home/guest/guettli/ozone/org/ozoneDB/DxLib/test'
   javac -g AbstractTest.java CollectionTest.java DiskHashTest.java
MapTest.java SetTest.java Test.java
   error: Can't read: AbstractTest.java
I changed Makefile.env to:


ifndef OZONE_HOME
print_error:
 @echo "Set the OZONE_HOME variable first!"
else
ifndef OZONE_JARS_SET
 OZONE_JARS_SET=true
 export OZONE_JARS_SET
 OZONE_JARS = $(subst r /,r:/,$(wildcard $(OZONE_HOME)/bin/*.jar))
 export CLASSPATH:=$(OZONE_HOME):$(OZONE_JARS):$(CLASSPATH)
endif
endif

and I changed $(JAVAC) to javac. ( in ozone/INSTALL you say the default is
javac)

if you prefer the diff: (diff -u)

--- Makefile.env Fri Mar 17 17:09:41 2000
+++ /home/guest/guettli/ozone/Makefile.env Wed Mar 22 14:52:53 2000
@@ -11,24 +11,28 @@
 print_error:
  @echo "Set the OZONE_HOME variable first!"
 else
-        OZONE_JARS = $(subst r /,r:/,$(wildcard $(OZONE_HOME)/bin/*.jar))
-        export CLASSPATH:=$(OZONE_HOME):$(OZONE_JARS):$(CLASSPATH)
+ifndef OZONE_JARS_SET
+ OZONE_JARS_SET=true
+ export OZONE_JARS_SET
+ OZONE_JARS = $(subst r /,r:/,$(wildcard $(OZONE_HOME)/bin/*.jar))
+ export CLASSPATH:=$(OZONE_HOME):$(OZONE_JARS):$(CLASSPATH)
+endif
 endif

 # set JIKESPATH to make jikes run properly
-ifndef JIKESPATH
- JAVA_JARS = $(shell find $(JAVA_HOME)/ -name "*.jar")
- export JIKESPATH:=$(subst r /,r:/,$(JAVA_JARS)):$(JIKESPATH):$(CLASSPATH)
-else
- export JIKESPATH:=$(JIKESPATH):$(CLASSPATH)
-endif
+#ifndef JIKESPATH
+# JAVA_JARS = $(shell find $(JAVA_HOME)/ -name "*.jar")
+# export JIKESPATH:=$(subst r /,r:/,$(JAVA_JARS)):$(JIKESPATH):$(CLASSPATH)
+#else
+# export JIKESPATH:=$(JIKESPATH):$(CLASSPATH)
+#endif


 # the tools used to compile sources and documentation
-export JAVAC = jikes
-export JAVAC_FLAGS = +E -g
+#export JAVAC = jikes
+#export JAVAC_FLAGS = +E -g
 export JAVADOC = javadoc

-#export JAVAC = javac
-#export JAVAC_FLAGS = -g
+export JAVAC = javac
+export JAVAC_FLAGS = -g




the second change:
my javac said:
       javac -g AbstractTest.java CollectionTest.java DiskHashTest.java
MapTest.java SetTest.java Test.java
       SetTest.java:29: Reference to equals is ambiguous. It is defined in
boolean equals(java.lang.Object)
       and boolean equals(java.lang.Object).
       if (!set.equals (set2) && set.count()>0)

equals is defined in java.lang.Object (all objects inherit from it)
org.ozone.DxLib.DxCompatible
I commented equals() int DxCompatible. And it compiled without error. (The
same problem
could be with clone())

third change:
 I took the old ClassManager.java because I am using jdk1.1.8 ,
  but some other Objects need the new flushCache(),
I glanced at the could and added an empty function (is this save?)
    public void flushCache() throws Exception {
    }

fourth change:
      the openxml.jar was not included. I took the one from 0.4.4

while compiling opp produced the following warnings
very often (unable to open ...):

javac -g util/BLOBContainer.java util/BLOBContainerImpl.java
util/BLOBInputStream.java util/BLOBOutputStream.java util/BLOBPage.java
util/BLOBPageImpl.java
cd util; opp org.ozoneDB.util.BLOBContainerImpl
org.ozoneDB.util.BLOBPageImpl
org.ozoneDB.util.BLOBContainerImpl:
   update methods:
      (processing BLOBContainer.java...)
BLOBContainerImpl.ocd:0: warning: Unable to open descriptor file.
      init ("int")
      write ("int|[B|int|int")
compiler: javac

I had no time to see what was wrong with this.