[LLVMdev] Making VMKit2

Nicolas Geoffray nicolas.geoffray at gmail.com
Sat Nov 17 01:47:12 PST 2012


Hi Shahrokh,

On Fri, Nov 16, 2012 at 3:40 PM, Shahrokh Hedayati <
shahrokhhedayati at yahoo.com> wrote:

> Hi,
> I’m trying to make VMKit & J3 on Ubuntu. I have followed the instructions
> at http://vmkit2.gforge.inria.fr/start.php. But after configuring vmkit2,
> when I’m making it using make ENABLE_OPTIMIZED=1, I receive the following:
> 1)      With this configuration:
> ela at ela-VirtualBox:~/Desktop/vmkit2$ ./configure
> --with-llvmsrc=/home/ela/Desktop/llvm/
> --with-llvmobj=/home/ela/Desktop/llvm/
> --with-gnu-classpath-libs=/home/ela/Desktop/classpath-0.97.2/lib/
> --with-gnu-classpath-glibj=/home/ela/Desktop/classpath-0.97.2/lib/
> --with-mmtk-plan=org.mmtk.plan.marksweep.MS--with-classpath-impl=gnuclasspath --with-openjdk-path=/usr/lib/jvm/jav-gcj/
> Then, the end part of the output is as follows:
>
> make[2]: Entering directory `/home/ela/Desktop/vmkit2/mmtk/java'
> Buildfile: /home/ela/Desktop/vmkit2/mmtk/java/build.xml
>
> main:
>     [mkdir] Created dir: /home/ela/Desktop/vmkit2/mmtk/java/classes
>     [javac] Compiling 380 source files to
> /home/ela/Desktop/vmkit2/mmtk/java/classes
>     [javac] warning: [options] bootstrap class path not set in conjunction
> with -source 1.5
>     [javac] Note: Some input files use or override a deprecated API.
>     [javac] Note: Recompile with -Xlint:deprecation for details.
>     [javac] 1 warning
>       [jar] Building jar: /home/ela/Desktop/vmkit2/mmtk/java/mmtk-vmkit.jar
>
> BUILD SUCCESSFUL
> Total time: 7 seconds
> llvm[2]: Building Release+Asserts mmtk-vmkit.jar all
> Illegal instruction
> make[2]: *** [all] Error 132
> make[2]: Leaving directory `/home/ela/Desktop/vmkit2/mmtk/java'
> make[1]: *** [all] Error 1
> make[1]: Leaving directory `/home/ela/Desktop/vmkit2/mmtk'
> make: *** [all] Error 1
>

Try remove -with-openjdk-path=/usr/lib/jvm/jav-gcj/ from the configure
options. Also, could you build using VERBOSE=1 so that we know which
command let to an illegal instruction?


>
>
> 2)      With another configuration as follows:
> ela at ela-VirtualBox:~/Desktop/vmkit2$ ./configure
> --with-llvmsrc=/home/ela/Desktop/llvm/
> --with-llvmobj=/home/ela/Desktop/llvm/
> --with-gnu-classpath-libs=/home/ela/Desktop/classpath-0.97.2/lib/
> --with-gnu-classpath-glibj=/home/ela/Desktop/classpath-0.97.2/lib/
> --with-mmtk-plan=org.mmtk.plan.marksweep.MS --with-classpath-impl=openjdk
> --with-openjdk-path=/usr/lib/jvm/java-7-openjdk/
> Then, the end part of the output is as follows:
>
> llvm[3]: Compiling JnjvmClassLoader.s for Release+Asserts build
> llvm[3]: Building Release+Asserts Archive Library libJ3.a
> make[3]: Leaving directory `/home/ela/Desktop/vmkit2/lib/j3/VMCore'
> make[3]: Entering directory `/home/ela/Desktop/vmkit2/lib/j3/ClassLib'
> make[4]: Entering directory
> `/home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK'
> llvm[4]: Compiling ClasspathReflect.ll to ClasspathReflect.bc for
> Release+Asserts build (bytecode)
> Method _ZN2j3L12getAttrBytesEPNS_8AttributEPNS_5ClassE has static linkage
> but uses gc_root. Functions using gc_root should not have static linkage.
> 0  opt             0x08eb8dc8
> 1  opt             0x08eb9344
> 2                  0x40020400 __kernel_sigreturn + 0
> 3                  0x40020416 __kernel_vsyscall + 2
> 4  libc.so.6       0x401b4c8f gsignal + 79
> 5  libc.so.6       0x401b82b5 abort + 373
> 6  StaticGCPass.so 0x40023f12
> 7  opt             0x08e3bf6c
> llvm::MPPassManager::runOnModule(llvm::Module&) + 588
> 8  opt             0x08e3f808 llvm::PassManagerImpl::run(llvm::Module&) +
> 168
> 9  opt             0x08e3f8f6 llvm::PassManager::run(llvm::Module&) + 38
> 10 opt             0x081a3457 main + 6103
> 11 libc.so.6       0x401a0113 __libc_start_main + 243
> 12 opt             0x081b888d
> Stack dump:
> 0.     Program arguments: /home/ela/Desktop/llvm//Release+Asserts/bin/opt
> /home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK/Release+Asserts/ClasspathReflect.ll
> -load=/home/ela/Desktop/vmkit2/Release+Asserts/lib/StaticGCPass.so
> -std-compile-opts -StaticGCPass -o
> /home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK/Release+Asserts/ClasspathReflect_gc.bc
>
> 1.     Running pass 'Add GC information in files compiled with llvm-gcc'
> on module
> '/home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK/Release+Asserts/ClasspathReflect.ll'.
> make[4]: ***
> [/home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK/Release+Asserts/ClasspathReflect_gc.bc]
> Aborted
> make[4]: Leaving directory
> `/home/ela/Desktop/vmkit2/lib/j3/ClassLib/OpenJDK'
> make[3]: *** [all] Error 1
> make[3]: Leaving directory `/home/ela/Desktop/vmkit2/lib/j3/ClassLib'
> make[2]: *** [all] Error 1
> make[2]: Leaving directory `/home/ela/Desktop/vmkit2/lib/j3'
> make[1]: *** [j3/.makeall] Error 2
> make[1]: Leaving directory `/home/ela/Desktop/vmkit2/lib'
> make: *** [all] Error 1
>

Building with openjdk is very experimental. Do you get better results when
configuring vmkit just with gnu classpath?

Nicolas


>
> In both cases, I have only vmjc in the folder
> .../vmkit2/Release+Asserts/bin . Would you please help me to fix the
> problem?
> Regards,
> Ela
>
>
>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121117/79e8d33c/attachment.html>


More information about the llvm-dev mailing list