MLVM on BSD Port: No Love

Jochen Theodorou blackdrag at gmx.org
Thu Sep 11 17:59:53 PDT 2008


Charles Oliver Nutter schrieb:
> Jochen Theodorou wrote:
>> say is there somewhere a step-by-step guide on how to compile this?, not 
>> the BSD port, a linux port is what I need.  For example... where is the 
>> repository? What version do need? What to use to check out?
>>
>> If it is documented somewhere, then even better, just show me the page 
>> please ;)
> 
> http://openjdk.java.net/projects/mlvm/
> 
> Here's the walkthrough as contained in the repository's README.txt:
> 
>          $ mkdir davinci
>          $ cd davinci
>          $ hg fclone http://hg.openjdk.java.net/jdk7/hotspot sources

where fclone is to be installed first: 
http://blog.nixdev.net/2008/04/10/build-openjdk7-under-debian-lenny-repositore-clone/

>          $ hg fclone http://hg.openjdk.java.net/mlvm/mlvm patches
>          $ sh patches/make/link-patch-dirs.sh sources patches

patches/make/link-patch-dirs.sh: 38: shopt: not found
patches/make/link-patch-dirs.sh: 76: [[: not found
+ ln -s /home/blackdrag/davinci/patches/langtools 
sources/langtools/.hg/patches
patches/make/link-patch-dirs.sh: 76: [[: not found
+ ln -s /home/blackdrag/davinci/patches/jdk sources/jdk/.hg/patches
patches/make/link-patch-dirs.sh: 76: [[: not found
+ ln -s /home/blackdrag/davinci/patches/hotspot sources/hotspot/.hg/patches


>          + ln -s ../../../patches/hotspot sources/hotspot/.hg/patches
>          + ln -s ../../../patches/jdk sources/jdk/.hg/patches
>          $ ls -il patches/hotspot/series sources/hotspot/.hg/patches/series
>          (should be identical files)
>          $ guards="buildable testable $(sh patches/make/current-release.sh)"
>          $ sh patches/make/each-patch-repo.sh hg qselect --pop $guards
>          $ sh patches/make/each-patch-repo.sh hg qpush -a
> 
> Of course you need to be able to set up a working JDK build too; that's 
> out of scope for these instructions.

that guide here: 
http://weblogs.java.net/blog/simonis/archive/2008/01/hotspot_develop.html

seems to be not bad... but my build fails:

> /usr/bin/gcc  -O2    -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -D_JNI_IMPLEMENTATION  -Damd64 -DARCH='"amd64"' -DLINUX -DRELEASE='"1.7.0-internal"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/home/blackdrag/davinci/sources/build/linux-amd64/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/CClassHeaders -I../../../../src/solaris/javavm/export -I../../../../src/share/javavm/export -I../../../../src/share/javavm/include -I../../../../src/solaris/javavm/include -ICClassHeaders -I/usr/include -I/usr/include/linux -I../../../../src/share/native/common -I../../../../src/solaris/native/common -I../../../../src/share/native/com/sun/corba/se/internal/io -I../../../../src/solaris/native/com/sun/corba/se/internal/io    -c -o /home/blackdrag/davinci/sources/build/linux-amd64/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/obj64/ioser.o  ../../../../src/share/native/com/sun/corba/se/internal
/io/ioser.c
> In file included from /usr/include/stdio.h:75,
>                  from /usr/include/jni.h:39,
>                  from ../../../../src/share/native/com/sun/corba/se/internal/io/ioser.c:26:
> /usr/include/libio.h:332: error: expected specifier-qualifier-list before 'size_t'
> /usr/include/libio.h:364: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/libio.h:373: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/libio.h:493: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_IO_sgetn'
> In file included from /usr/include/jni.h:39,
>                  from ../../../../src/share/native/com/sun/corba/se/internal/io/ioser.c:26:
> /usr/include/stdio.h:294: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:300: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:312: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:319: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:361: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:363: error: format string argument not a string type
> /usr/include/stdio.h:365: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:367: error: format string argument not a string type
> /usr/include/stdio.h:635: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:638: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:648: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/stdio.h:678: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fread'
> /usr/include/stdio.h:684: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fwrite'
> /usr/include/stdio.h:706: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fread_unlocked'
> /usr/include/stdio.h:708: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fwrite_unlocked'
> In file included from /usr/include/stdio.h:903,
>                  from /usr/include/jni.h:39,
>                  from ../../../../src/share/native/com/sun/corba/se/internal/io/ioser.c:26:
> /usr/include/bits/stdio.h:116: error: expected declaration specifiers or '...' before 'size_t'
> /usr/include/bits/stdio.h: In function 'getline':
> /usr/include/bits/stdio.h:118: error: '__n' undeclared (first use in this function)
> /usr/include/bits/stdio.h:118: error: (Each undeclared identifier is reported only once
> /usr/include/bits/stdio.h:118: error: for each function it appears in.)
> /usr/include/bits/stdio.h:118: error: too many arguments to function '__getdelim'
> make[6]: *** [/home/blackdrag/davinci/sources/build/linux-amd64/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/obj64/ioser.o] Error 1

If I were a C-developer I could probably find the error by myself, but I 
am not... it is probably related to the java headers, but these messages 
here won't help me locating the problem... anyone any idea?

>> Also I don't really know yet how I can make use of invokedynamic all of 
>> my own... a changed javac won't help me with groovy for example... and 
>> what will the ASM lib say?
> 
> I'm using ASM and everything works fine. Just emit an invokevirtual 
> against Dynamic.

right, I remember ;)

bye blackdrag

-- 
Jochen "blackdrag" Theodorou
The Groovy Project Tech Lead (http://groovy.codehaus.org)
http://blackdragsview.blogspot.com/
http://www.g2one.com/



More information about the mlvm-dev mailing list