Cacao support for OpenJDK7

Xerxes Rånby xerxes at
Tue Feb 7 03:52:26 PST 2012

2012-01-26 10:12, Xerxes Rånby skrev:
> 2012-01-25 17:03, David Flamme skrev:
>> Hello,
>> I managed to compile and run cacao against OpenJDK7 on x86_64 at least on a "Hello World" level. Now I have some questions and want to point out what needs to be done in icedtea to compile the whole thing out of the box with cacao.
>> First of all, the cacao branch of what I did so far can be found here:

>> The biggest problem on the side of icedtea7 is, that you check not only the existence of, you also check if its not fake by using nm. What I do is copying a working version from my openjdk installation to the expected location, so the build won't complain but actually I have no clue whats going on there. JamVM probably has the same problem, so I mostly hope for a good suggestion from your side, what should be done here.
> I managed to work around this issue by creating a symbolic-link from to the jamvm
> As can be seen in this changeset:
> I will try do the same for cacao.
>> It would be great if somebody could test the changeset or at least give me some hints.

Hi David!
I have included a patch that updates icedtea7 to use your new CACAO change-set.

When I try to build it then CACAO try to locate jni_md.h and jni.h in the non existing icedtea7-cacao-build/openjdk/include directory.
Any idea how to fix this, do I need to pass some new additional CACAO configure option?

checking where Java runtime library is installed... /home/xranby/icedtea7-cacao-build/openjdk
checking where Java runtime library classes are installed... /home/xranby/icedtea7-cacao-build/bootstrap/jdk1.6.0/jre/lib/rt.jar
checking where Java core library classes are located at compile time... /home/xranby/icedtea7-cacao-build/bootstrap/jdk1.6.0/jre/lib/rt.jar
checking where jni_md.h is installed... /home/xranby/icedtea7-cacao-build/openjdk/include
checking /home/xranby/icedtea7-cacao-build/openjdk/include/jni_md.h usability... no
checking /home/xranby/icedtea7-cacao-build/openjdk/include/jni_md.h presence... no
checking for /home/xranby/icedtea7-cacao-build/openjdk/include/jni_md.h... no
configure: error: cannot find jni_md.h
make[1]: Entering directory `/home/xranby/icedtea7-cacao-build/cacao/cacao-30edcde287d9'
make[1]: *** No rule to make target `install'.  Stop.
make[1]: Leaving directory `/home/xranby/icedtea7-cacao-build/cacao/cacao-30edcde287d9'
make: *** [stamps/cacao.stamp] Error 2


2012-02-07  Xerxes Rånby  <xerxes at>

	(CACAO_VERSION): Updated CACAO to 2012-01-25 revision.
	(CACAO_SHA256SUM): Updated.
	(stamps/cacao.stamp): Use --with-java-runtime-library=openjdk7.
	Add -f when creating client and server symlinks to handle repeat builds.
	Link the fake to CACAO, and touch fake Xusage.txt
	to work with latest OpenJDK ALT_HOTSPOT_IMPORT_PATH functionality.
	* patches/cacao/version.patch: Removed, replaced by upstream CACAO changeset 30edcde287d9.

diff -r 95c4bc033606
--- a/	Thu Oct 27 15:57:25 2011 -0400
+++ b/	Tue Feb 07 12:02:15 2012 +0100
@@ -18,8 +18,8 @@
 LANGTOOLS_SHA256SUM = 03a256afc7371b3b0fbbbfd80a318e22984f6cbff26082948e8d5845ba193aee
 OPENJDK_SHA256SUM = aa3b3cf17081cde2a4014e5dffec75f5b5402ad48f7f9943c32a2fa4544a8746

-CACAO_VERSION = 4549072ab2de
-CACAO_SHA256SUM = ec097ce96f047abbaeab4faab752c121d29f08bdeae358038a0b7cde03361d07
+CACAO_VERSION = 30edcde287d9
+CACAO_SHA256SUM = 873a6c0035504155d50e8174c08c8139d25157e90811079c40405c2d9336316d
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
@@ -245,7 +245,6 @@
 	patches/cacao/launcher.patch \
-	patches/cacao/version.patch \
 	patches/cacao/jsig.patch \
@@ -1992,12 +1991,14 @@
 	  --build=$(build_alias) \
 	  --target=$(target_alias) \
 	  --prefix=$(abs_top_builddir)/cacao/install \
-	  --with-java-runtime-library=openjdk \
+	  --with-java-runtime-library=openjdk7 \
 	  --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
 	  --with-java-runtime-library-classes=$(RUNTIME) \
 	  --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \
-	ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
+	ln -sf server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client
+	touch $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
+	ln -sf client/ $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/
 	mkdir -p stamps

More information about the distro-pkg-dev mailing list