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 $<
