Cacao support for OpenJDK7

David Flamme dflamme at complang.tuwien.ac.at
Thu Feb 9 07:07:28 PST 2012


Hello Xerxes,

I missed some changes for the M4 macros to look in the right pathes, but 
this changeset should fix it:
http://www.complang.tuwien.ac.at/hg/cacao/rev/a567bcb7f589

cheers
    david

> 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: http://mips.complang.tuwien.ac.at/hg/cacao/rev/30edcde287d9
>>> The biggest problem on the side of icedtea7 is, that you check not only the existence of libjsig.so, 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 libjsig.so to the jamvm libjvm.so
>> As can be seen in this changeset: http://icedtea.classpath.org/hg/icedtea7/rev/61e88e07618c
>> 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
>
>
> Cheers
> Xerxes
>
> 2012-02-07  Xerxes Rånby<xerxes at zafena.se>
>
> 	* Makefile.am
> 	(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 libjsig.so to CACAO libjvm.so, 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 Makefile.am
> --- a/Makefile.am	Thu Oct 27 15:57:25 2011 -0400
> +++ b/Makefile.am	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_BASE_URL = http://icedtea.classpath.org/download/drops/cacao
>   CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz
>   CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz
> @@ -245,7 +245,6 @@
>   if BUILD_CACAO
>   ICEDTEA_PATCHES += \
>   	patches/cacao/launcher.patch \
> -	patches/cacao/version.patch \
>   	patches/cacao/jsig.patch \
>   	patches/cacao/memory.patch
>   endif
> @@ -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); \
>   	$(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
> -	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/libjvm.so $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
>   endif
>   endif
>   	mkdir -p stamps
>
>




More information about the distro-pkg-dev mailing list