Alright, this Makefile.gcj patch should compile the frednode executable, but I 
get the following error on startup:

Exception in thread "main" java.lang.ExceptionInInitializerError
   at _ZN4java4lang11VMThrowable16fillInStackTraceEPNS0_9ThrowableE 
(/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang9Throwable16fillInStackTraceEv (/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang9ThrowableC1EPNS0_6StringE (/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang5ErrorC1EPNS0_6StringE (/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang12LinkageErrorC1EPNS0_6StringE (/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang27ExceptionInInitializerErrorC1EPNS0_9ThrowableE 
(/usr/lib/libgcj.so.4.0.0)
   at _ZN4java4lang5Class15initializeClassEv (/usr/lib/libgcj.so.4.0.0)
   at _Jv_InitClass (/usr/lib/libgcj.so.4.0.0)
   at _ZN7freenet4node4Main4mainEP6JArrayIPN4java4lang6StringEE 
(freenet/node/Main.java:141)
   at _ZN3gnu3gcj7runtime11FirstThread9call_mainEv (/usr/lib/libgcj.so.4.0.0)
   at _ZN3gnu3gcj7runtime11FirstThread3runEv (/usr/lib/libgcj.so.4.0.0)
   at _Z13_Jv_ThreadRunPN4java4lang6ThreadE (/usr/lib/libgcj.so.4.0.0)
   at _Z11_Jv_RunMainPN4java4lang5ClassEPKciPS4_b (/usr/lib/libgcj.so.4.0.0)
   at JvRunMain (/usr/lib/libgcj.so.4.0.0)
   at main (/tmp/cc1ZddZ8.i:12)
   at __libc_start_main (/lib/libc-2.3.2.so)
   at _start (Unknown Source)
Caused by: java.lang.NullPointerException
   at _ZN7freenet4node4Main18__U3c_clinit__U3e_Ev (freenet/node/Main.java:98)
   ...11 more

I'll try to track down the cause of this. It may be because I accidentally 
compiled some files with a different set of optimizations (oops...) Anyway, 
if nothing else works, try with no optimization at all. Enjoy!

On Tuesday 10 June 2003 17:41, Tiernan Hubble wrote:
> D'OH!!!! Ignore this!
>
> me == dumbass :(
>
> I forgot to remove SplitFileInsertManager.java from the huge list of files
> to compile, so it was getting compiled twice, and so on. Anyway, there seem
> to be some more files that need this fix, so I'll see if I can get it to
> work and then make a new patch.
--- Makefile.gcj	2003-06-10 18:07:21.000000000 -0500
+++ Makefile.gcj.new	2003-06-10 18:04:26.000000000 -0500
@@ -8,8 +8,8 @@
 #SERVLETJAR=../lib/freenet-ext.jar
 SERVLETJAR=servlet.jar
 CP=.:$(SERVLETJAR)
-GCJOPT=-O2
-GCJFLAGS=-g --encoding=UTF-8 $(GCJOPT)
+GCJOPT=-O
+GCJFLAGS=-g --encoding=UTF-8 -Wno-deprecated $(GCJOPT)
 
 GCJ_WITH_FLAGS = $(GCJ) $(GCJFLAGS)
 GCJCOMPILE = $(GCJ_WITH_FLAGS) -fclasspath=$(CP) $(JC1FLAGS) -MD -MT $@ -MF $(@:.o=.d) -c
@@ -32,7 +32,7 @@
 javax/servlet/http/HttpServletRequest.java \
 javax/servlet/http/HttpServletResponse.java \
 javax/servlet/http/HttpSession.java \
-javax/servlet/http/HttpSessionContext.java 
+javax/servlet/http/HttpSessionContext.java
 
 
 NODESRC=\
@@ -270,10 +270,8 @@
 freenet/client/SingleRequestProcess.java \
 freenet/client/SplitFileDownloader.java \
 freenet/client/SplitFileGetRequest.java \
-freenet/client/SplitFileInsertManager.java \
 freenet/client/SplitFileInsertProcess.java \
 freenet/client/SplitFilePutRequest.java \
-freenet/client/SplitFileRequestManager.java \
 freenet/client/SplitFileRequestProcess.java \
 freenet/client/SplitFileStatus.java \
 freenet/client/UnsupportedRequestException.java \
@@ -769,13 +767,14 @@
 freenet/support/StripedBucketArray.java
 
 
-NODEOBJS= $(NODESRC:.java=.o) freenet/client/RequestManager.o
+NODEOBJS= $(NODESRC:.java=.o) freenet/client/RequestManager.o freenet/client/SplitFileInsertManager.o \
+	freenet/client/SplitFileRequestManager.o
 
 NODECLASSES= $(NODESRC:.java=.class)
 
 NODE=frednode
 
-all: node 
+all: node
 
 node: $(NODE)
 
@@ -785,13 +784,28 @@
 quick:
 	$(GCJ) $(GCJFLAGS) -fclasspath=. --main=freenet.node.Main -o $(NODE) $(NODESRC)
 
-$(NODE): $(SERVLETJAR) $(NODEOBJS) freenet/client/RequestManager$$EventConnector.o freenet/client/RequestManager$$RequestInfo.o freenet/client/RequestManager$$RetryableInfo.o
+$(NODE): $(SERVLETJAR) $(NODEOBJS) freenet/client/RequestManager$$EventConnector.o freenet/client/RequestManager$$RequestInfo.o freenet/client/RequestManager$$RetryableInfo.o \
+	freenet/client/SplitFileInsertManager$$InsertBlock.o freenet/client/SplitFileInsertManager$$GetHeadersFromLength.o \
+	freenet/client/SplitFileInsertManager$$DoMakeMetadata.o freenet/client/SplitFileInsertManager$$DoEncode.o \
+	freenet/client/SplitFileInsertManager$$MakeChecksum.o \
+	freenet/client/SplitFileRequestManager$$GetBlock.o freenet/client/SplitFileRequestManager$$SimpleCheckCHK.o \
+	freenet/client/SplitFileRequestManager$$CheckDownloadedCHK.o freenet/client/SplitFileRequestManager$$VerifyChecksum.o \
+	freenet/client/SplitFileRequestManager$$GetHeaders.o freenet/client/SplitFileRequestManager$$DoDecode.o \
+	freenet/client/SplitFileRequestManager$$HealingInsertBlock.o freenet/client/SplitFileRequestManager$$ComparableInteger.o
+
 	@echo Linking: frednode
 	@ $(GCJ) $(GCJFLAGS) --main=freenet.node.Main \
 	-o $@ \
 	$(NODEOBJS) \
 	'freenet/client/RequestManager$$EventConnector.o' 'freenet/client/RequestManager$$RequestInfo.o' 'freenet/client/RequestManager$$RetryableInfo.o' \
-        $(SERVLETJAR)
+	'freenet/client/SplitFileInsertManager$$InsertBlock.o' 'freenet/client/SplitFileInsertManager$$GetHeadersFromLength.o' \
+	'freenet/client/SplitFileInsertManager$$DoMakeMetadata.o' 'freenet/client/SplitFileInsertManager$$DoEncode.o' \
+	'freenet/client/SplitFileInsertManager$$MakeChecksum.o' \
+	'freenet/client/SplitFileRequestManager$$GetBlock.o' 'freenet/client/SplitFileRequestManager$$SimpleCheckCHK.o' \
+	'freenet/client/SplitFileRequestManager$$CheckDownloadedCHK.o' 'freenet/client/SplitFileRequestManager$$VerifyChecksum.o' \
+	'freenet/client/SplitFileRequestManager$$GetHeaders.o' 'freenet/client/SplitFileRequestManager$$DoDecode.o' \
+	'freenet/client/SplitFileRequestManager$$HealingInsertBlock.o' 'freenet/client/SplitFileRequestManager$$ComparableInteger.o' \
+	$(SERVLETJAR)
 
 
 jar: freenet.jar
@@ -832,6 +846,57 @@
 	rm -f $(NODE) TAGS
 	rm -fr build
 
+freenet/client/SplitFileInsertManager.o: freenet/client/SplitFileInsertManager.java
+	@echo 'Compiling (2 stage):' $<
+	$(GCJ_WITH_FLAGS) -fclasspath=$(CP)  -C $<
+	$(GCJCOMPILE) -o $@ freenet/client/SplitFileInsertManager.class
+
+freenet/client/SplitFileInsertManager$$InsertBlock.o: freenet/client/SplitFileInsertManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileInsertManager$$InsertBlock.o' 'freenet/client/SplitFileInsertManager$$InsertBlock.class'
+
+freenet/client/SplitFileInsertManager$$GetHeadersFromLength.o: freenet/client/SplitFileInsertManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileInsertManager$$GetHeadersFromLength.o' 'freenet/client/SplitFileInsertManager$$GetHeadersFromLength.class'
+
+freenet/client/SplitFileInsertManager$$DoEncode.o: freenet/client/SplitFileInsertManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileInsertManager$$DoEncode.o' 'freenet/client/SplitFileInsertManager$$DoEncode.class'
+
+freenet/client/SplitFileInsertManager$$DoMakeMetadata.o: freenet/client/SplitFileInsertManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileInsertManager$$DoMakeMetadata.o' 'freenet/client/SplitFileInsertManager$$DoMakeMetadata.class'
+
+freenet/client/SplitFileInsertManager$$MakeChecksum.o: freenet/client/SplitFileInsertManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileInsertManager$$MakeChecksum.o' 'freenet/client/SplitFileInsertManager$$MakeChecksum.class'
+
+
+freenet/client/SplitFileRequestManager.o: freenet/client/SplitFileRequestManager.java
+	@echo 'Compiling (2 stage):' $<
+	$(GCJ_WITH_FLAGS) -fclasspath=$(CP)  -C $<
+	$(GCJCOMPILE) -o $@ freenet/client/SplitFileRequestManager.class
+
+freenet/client/SplitFileRequestManager$$GetBlock.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$GetBlock.o' 'freenet/client/SplitFileRequestManager$$GetBlock.class'
+
+freenet/client/SplitFileRequestManager$$SimpleCheckCHK.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$SimpleCheckCHK.o' 'freenet/client/SplitFileRequestManager$$SimpleCheckCHK.class'
+
+freenet/client/SplitFileRequestManager$$CheckDownloadedCHK.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$CheckDownloadedCHK.o' 'freenet/client/SplitFileRequestManager$$CheckDownloadedCHK.class'
+
+freenet/client/SplitFileRequestManager$$VerifyChecksum.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$VerifyChecksum.o' 'freenet/client/SplitFileRequestManager$$VerifyChecksum.class'
+
+freenet/client/SplitFileRequestManager$$GetHeaders.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$GetHeaders.o' 'freenet/client/SplitFileRequestManager$$GetHeaders.class'
+
+freenet/client/SplitFileRequestManager$$DoDecode.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$DoDecode.o' 'freenet/client/SplitFileRequestManager$$DoDecode.class'
+
+freenet/client/SplitFileRequestManager$$HealingInsertBlock.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$HealingInsertBlock.o' 'freenet/client/SplitFileRequestManager$$HealingInsertBlock.class'
+
+freenet/client/SplitFileRequestManager$$ComparableInteger.o: freenet/client/SplitFileRequestManager.class
+	$(GCJCOMPILE) -o 'freenet/client/SplitFileRequestManager$$ComparableInteger.o' 'freenet/client/SplitFileRequestManager$$ComparableInteger.class'
+
+
 freenet/client/RequestManager.o: freenet/client/RequestManager.java
 	@echo 'Compiling (2 stage):' $<
 	$(GCJ_WITH_FLAGS) -fclasspath=$(CP)  -C $<

Reply via email to