building icedtea-7 on ARM
Chris Phillips
ChrisPhi at redhat.com
Fri Feb 21 07:40:29 PST 2014
On 21/02/14 10:24 AM, Grant wrote:
>>>>>>>>> Has the new ARM stuff made it in?
>>>>>>>>>
>>>>>>>>> - Grant
>>>>>>>> Its in the pipe, probably by next Monday...
>>>>>>>>
>>>>>>>> Chris
>>>>>>>>
>>>>>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41
>>>>>>> --
>>>>>>> Andrew :)
>>>>>>
>>>>>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't
>>>>>> changed, just the patch needs to be applied? Any idea when new
>>>>>> tarballs will be ready?
>>>>>>
>>>>>> - Grant
>>>>>
>>>>> I have the new tarballs and I get:
>>>>>
>>>>> Checking patches/boot/arm32.patch
>>>>
>>>> Or maybe the patch isn't necessary with the new tarballs? I'll find out
>>>> soon.
>>>>
>>>> - Grant
>>>
>>> I get the following without the patch:
>>>
>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
>>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files.
>>> INFO: STRIP_POLICY=no_strip
>>> INFO: ZIP_DEBUGINFO_FILES=1
>>> make[3]: Entering directory
>>> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make'
>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
>>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files.
>>> INFO: STRIP_POLICY=no_strip
>>> INFO: ZIP_DEBUGINFO_FILES=1
>>> make[3]: *** No rule to make target `specified'. Stop.
>>>
>>> - Grant
>>>
>> What/how are you building, because I see no such patch?
>
> I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch
> myself after you referenced it earlier:
>
> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41
>
> But it wouldn't apply so I'm thinking the new tarballs already
> incorporate it. The build failure below is without that patch.
>
>> I'm not sure what your failure is there because you haven't included enough of the log.
> Is this enough info?
>
> make[1]: Entering directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot'
> /usr/bin/make SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all
> make[2]: Entering directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot'
> ( cd ./jdk/make && \
> /usr/bin/make sanity HOTSPOT_IMPORT_CHECK=false
> LANGTOOLS_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/langtools
> JDK_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk
> JDK_MAKE_SHARED_DIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make/common/shared
> EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7
> TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b03
> JDK_BUILD_NUMBER=b03 FULL_VERSION=1.7.0_60-b03
> PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0_60 JDK_MKTG_VERSION=7u60
> JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0
> PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6
> PREVIOUS_MICRO_VERSION=0 STATIC_CXX=false PAX_COMMAND=not specified
> PAX_COMMAND_ARGS="-m" ARCH_DATA_MODEL=32 COOKED_JDK_UPDATE_VERSION=600
> COOKED_BUILD_NUMBER=3 ANT_HOME="/usr/share/ant"
> ALT_OUTPUTDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot
> ALT_LANGTOOLS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist
> ALT_CORBA_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/corba/dist
> ALT_JAXP_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxp/dist
> ALT_JAXWS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist
> BUILD_HOTSPOT=false PARALLEL_COMPILE_JOBS=1 ; )
> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files.
> INFO: STRIP_POLICY=no_strip
> INFO: ZIP_DEBUGINFO_FILES=1
> make[3]: Entering directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make'
> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files.
> INFO: STRIP_POLICY=no_strip
> INFO: ZIP_DEBUGINFO_FILES=1
> make[3]: *** No rule to make target `specified'. Stop.
> make[3]: Leaving directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make'
> make[2]: *** [jdk-sanity] Error 2
> make[2]: Leaving directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot'
> make[1]: *** [jdk_only] Error 2
> make[1]: Leaving directory
> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot'
> make: *** [stamps/icedtea-boot.stamp] Error 2
>
> - Grant
On fedora17 arm (trimslice) I get the same as above ... here's the
configure i used :
./configure --enable-zero --enable-arm32-jit --disable-system-lcms
--disable-system-pcsc --disable-bootstrap
Not sure why make in jdk is trying to build "specified"? will try to
determine later.
Chris
PS
I can build from the icedtea7-forest repos with my "generic" build
script, but in order to
build with arm32jit I have to patch zeroshark.make [attached] ,
otherwise the c flags and -I's
still don't make it into the proper places so the jvm link fails. (patch
also is required to just build hotspot on its own as I try to do
regularly given compile time
on my trimslowasmice :)
PPS
The failure you saw in pulseaudio may be the same as I am looking at in
the javac langtools
build, at least it goes away when you specify -Xint (which still uses
the arm32 asm cpp interpreter
but not the thumb2 compiler code.
-------------- next part --------------
diff --git a/make/linux/makefiles/zeroshark.make b/make/linux/makefiles/zeroshark.make
--- a/make/linux/makefiles/zeroshark.make
+++ b/make/linux/makefiles/zeroshark.make
@@ -43,7 +43,7 @@
bytecodes_arm.s: bytecodes_arm.def mkbc
@echo Generating ARM assembler bytecode sequences
- $(CXX_COMPILE) -E - < $< | ./mkbc - $@ $(COMPILE_DONE)
+ $(CC_COMPILE) $(CFLAGS) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
mkbc: $(GAMMADIR)/tools/mkbc.c
@echo Compiling mkbc tool
@@ -52,7 +52,7 @@
mkoffsets: asm_helper.cpp
@echo Compiling offset generator
$(QUIETLY) $(REMOVE_TARGET)
- $(CXX_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+ $(CC_COMPILE) $(CFLAGS) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
endif
endif
@@ -60,7 +60,7 @@
%.o: %.S
@echo Assembling $<
$(QUIETLY) $(REMOVE_TARGET)
- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
+ $(COMPILE.CC) $(CFLAGS) -o $@ $< $(COMPILE_DONE)
# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
More information about the distro-pkg-dev
mailing list