Installing Cacao and JikesRVM
Submitted by struppi on Mon, 2006-05-22 10:28. JavaBefore you read on let me tell you that I failed to install JikesRVM on FC5 - just in case you came here because you want some advice how to do this.
I just tried to install 2 free java runtimes on Fedora Core 5 to test them again. The one is cacao, the other one is JikesRVM. I wanted both to work with GNU Classpath 0.91 which I downloaded from the GNU Classpath homepage (that means I don't want the JikesRVM build script do download GNU Classpath).
GNU Classpath needs some other free java compiler like jikes, gcj, ecj, ... to compile, so I downloaded jikes and then classpath and the cacao vm compiled without problems. I installed both with --prefix=/usr/local/freejava so I have all the free runtime stuff in one place. My main Java development environment is still the Reference Implementation (Mustang beta at the moment), and I don't want the free runtimes to interfere with that.
JikesRVM is a little bit more complicated to install, so here's the hard way: First extract the tarball.
cd /usr/local/freejava
tar -xzf [path]/jikesrvm-2.4.4.tar.gz
mv jikesrvm/MMtk jikesrvm/rvm .
rm -rf jikesrvm
Yes, I want a different directory layout than JikesRVM suggests ;)
I didn't get it to work with classpath 0.91 so I'll skip the description of what I tried here. The next step is to set a bunch of environment variables, so here's a snipplet of my /etc/profile:
JAVA_HOME=/usr/java/default
RVM_ROOT=/usr/local/freejava
RVM_HOST_CONFIG=$RVM_ROOT/rvm/config/i686-pc-linux-gnu.mine
RVM_BUILD=$RVM_ROOT/jikesrvm
pathmunge $JAVA_HOME/bin
pathmunge /usr/local/freejava/bin after
pathmunge $RVM_ROOT/rvm/bin after
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC JAVA_HOME
export RVM_ROOT RVM_HOST_CONFIG RVM_BUILD
You have to create a host configuration file for your system which was for me as simple as
cp rvm/config/i686-pc-linux-gnu rvm/config/i686-pc-linux-gnu.mine
Then you can start building the rvm. The next step is to set up the build directory with
jconfigure [configuration]
I tried "production" as configuration which should create a fast virtual machine but it takes quite long to build. Another possible configuration would be "prototype" which builds fast but creates a slower VM. At least that's the the theory. Both configurations failed to build with different error messages for me.
"prototype" failed with:
jbuild.interfaceDeclarations: (wrote interface) 14 s
jbuild.linkImage: (bootimage cleaned) (primordial class names written) (built utility_kludge.jar) Error occurred during initialization of VM
java.lang.NoSuchMethodError: java.util.LinkedHashMap.getEntry(Ljava/lang/Object;)Ljava/util/HashMap$Entry;
at java.util.LinkedHashMap.get(LinkedHashMap.java:281)
at java.io.ExpiringCache.entryFor(ExpiringCache.java:83)
at java.io.ExpiringCache.get(ExpiringCache.java:58)
at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:137)
at java.io.File.getCanonicalPath(File.java:559)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1697)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
at java.lang.Runtime.loadLibrary0(Runtime.java:821)
at java.lang.System.loadLibrary(System.java:1030)
at java.lang.System.initializeSystemClass(System.java:1083)
make: *** [bootimage] Error 1
"production" failed with:
jbuild.compile: (compiling mmtk... mmtk compiled) (compiling classes... classes compiled) (building jksvm.jar... jksvm.jar built) (building jksvmsrc.jar... jksvmsrc.jar built) 252 s
jbuild.interfaceDeclarations: Exception in thread "main" java.lang.NoClassDefFoundError: com.ibm.JikesRVM.VM_RegisterConstants
at com.ibm.JikesRVM.classloader.VM_BootstrapClassLoader.loadVMClass(VM_BootstrapClassLoader.java:124)
at com.ibm.JikesRVM.classloader.VM_TypeReference.resolve(VM_TypeReference.java:541)
at com.ibm.JikesRVM.classloader.VM_Class.
at com.ibm.JikesRVM.classloader.VM_ClassLoader.defineClassInternal(VM_ClassLoader.java:244)
at com.ibm.JikesRVM.classloader.VM_BootstrapClassLoader.loadVMClass(VM_BootstrapClassLoader.java:111)
at com.ibm.JikesRVM.classloader.VM_TypeReference.resolve(VM_TypeReference.java:541)
at com.ibm.JikesRVM.classloader.VM_Class.
at com.ibm.JikesRVM.classloader.VM_ClassLoader.defineClassInternal(VM_ClassLoader.java:244)
at com.ibm.JikesRVM.classloader.VM_BootstrapClassLoader.loadVMClass(VM_BootstrapClassLoader.java:111)
at com.ibm.JikesRVM.classloader.VM_TypeReference.resolve(VM_TypeReference.java:541)
at com.ibm.JikesRVM.VM_Entrypoints.getMember(VM_Entrypoints.java:304)
at com.ibm.JikesRVM.VM_Entrypoints.getMethod(VM_Entrypoints.java:329)
at com.ibm.JikesRVM.VM_Entrypoints.
at com.ibm.JikesRVM.VM_OutOfLineMachineCode.generateReflectiveMethodInvokerInstructions(VM_OutOfLineMachineCode.java:116)
at com.ibm.JikesRVM.VM_OutOfLineMachineCode.init(VM_OutOfLineMachineCode.java:40)
at com.ibm.JikesRVM.VM.init(VM.java:1309)
at com.ibm.JikesRVM.VM.initForTool(VM.java:67)
at com.ibm.JikesRVM.VM.initForTool(VM.java:54)
at GenerateInterfaceDeclarations.main(GenerateInterfaceDeclarations.java:108)
Caused by: java.lang.UnsupportedClassVersionError: unsupported class file version 50.0
at com.ibm.JikesRVM.classloader.VM_Class.
at com.ibm.JikesRVM.classloader.VM_ClassLoader.defineClassInternal(VM_ClassLoader.java:244)
at com.ibm.JikesRVM.classloader.VM_BootstrapClassLoader.loadVMClass(VM_BootstrapClassLoader.java:111)
... 18 more
I'll not investigate any further into this now, maybe later when I find some time to do this. I had no problem installing JikesRVM on Mac OS X Tiger/PPC some months ago.
Patents
Submitted by struppi on Sat, 2006-05-13 09:37. GeneralWhy the patent system is fundamentally flawed:
Gothic 3 Trailer
Submitted by struppi on Thu, 2006-05-11 19:45. GamesThe development team of the upcoming role playing game Gothic 3 has released a trailer for the E3:
Agile Requirements
Submitted by struppi on Wed, 2006-05-10 12:01. AgileplanI just found some interesting articles from James Shore about Agile Requirements Management. I'm sure I can use the information from these articles for my work on Agileplan, I'll write about that later here in this blog. Here's the links to the articles and some short summaries:
Update: I strongly suggest to read the articles in the given order. The latter ones are based on the previous articles.
Beyond Story Cards: Agile Requirements Collaboration Describes where story cards come from and what to do with them. It clearly shows the advantages and limitations of the story card approach and identifies the situations where other techniques should be used.
Fit Workflow describes how Fit is used to collaborate on requirements during an iteration of an agile software development project. A test case for an example feature is created step by step to illustrate the process.
A Vision For Fit Another example of how James Shore used Fit when he was training a development team. The key conclusions from this article are: "Done right, Fit fades into the background" and "Fit facilitates thinking about the domain".
How I Use Fit Describes how to use Fit on a day-to-day basis.
Apache Harmony weekly summaries
Submitted by struppi on Sat, 2006-05-06 10:53. JavaI have now added the weekly harmony-dev mailing list summaries "This week on harmony-dev" (which I don't write anymore) to this site. You can find them in the Archive - Section.
Interesting Benchmarks
Submitted by struppi on Tue, 2006-05-02 20:01. JavaThis page has some interesting benchmarks for Java, especially the Linpack Benchmark which is a measure of a computer’s floating-point rate of execution. It is determined by running a computer program that solves a dense system of linear equations. It is interesting that both Sun JDK and IBM JDK are faster than GCC and only a little bit slower than better C compilers. C#/.NET is even a little faster than Sun JDK 1.5.0. C#/Mono and Java/JikesRVM are the fastest of the free runtimes but they can't keep up to the commercial ones.
My first JSF view
Submitted by struppi on Thu, 2006-04-27 14:50. AgileplanAfter some struggle with the Java Server Faces I now rendered my first view (which only prints a headline). To learn JSF i used the tutorial in the tutorial from the ix - Magazine and the short example from the book Java Server Faces in Action. I created a simple JSF page:
FeatureCard.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<html>
<head>
<title>Feature Card...</title>
</head>
<body>
<h1>Feature Card</h1>
</body>
</html>
</f:view>
I also wrote the web.xml and faces-config.xml like it was described in the tutorials. The web.xml only contains the servlet mapping for the FacesServlet, the url pattern "/faces/*" is mapped to the FacesServlet.
Sony Ericcson z520i: How can i deactivate the camera key?
Submitted by struppi on Wed, 2006-04-26 14:19. GeneralI have a Sony Ericcson z520i for some time now and it's a cool phone. The only annoying thing is that you can't lock the camera key of the phone, which is located at the side of the phone. Even if you close the phone the side keys are active, and when you press the camera key for some seconds the phone goes into camera mode. When you then press the camera key again it takes a picture. This means i sometimes hear the sound of the phone taking a picture, and this really s****.
A fresh start
Submitted by struppi on Tue, 2006-04-25 15:59. GeneralSo this is the fresh start of my personal homepage. I now own the domain davidtanzer.net (which is pretty cool) and this site will be the new version of deltalabs.at too. It will take some time until I migrate deltalabs to this site too, but I'll not migrate all of the content. Also I'm not yet sure what I will exactly post here, but I'm sure I'll find something.





