[LLVMdev] Making VMKit2

Nicolas Geoffray nicolas.geoffray at gmail.com
Mon Nov 19 02:28:38 PST 2012


Hi Ela,

I don't know how up to date is vmkit2. The main vmkit repo (vmkit.llvm.org)
is up to date (checked out yesterday) and compiles fine with vmkit trunk
and llvm trunk.

Nicolas


On Mon, Nov 19, 2012 at 10:39 AM, Shahrokh Hedayati <
shahrokhhedayati at yahoo.com> wrote:

> Hi Nicolas,
> I am so sorry for the questions. According to you, I built VMKit2 on Ubuntu11.10-desktop-amd64
> on Intel(R) Corei5, and the previous problem solved. But another one
> appeared! With the following configuration:
>
> elaheh at elaheh-Lenovo-G470:~/Desktop/vmkit2$ ./configure
> --with-llvmsrc=/home/elaheh/Desktop/llvm/
> --with-llvmobj=/home/elaheh/Desktop/llvm/ --with-mmtk-plan=
> org.mmtk.plan.marksweep.MS--with-gnu-classpath-glibj=/home/elaheh/Desktop/classpath-0.97.2/lib/glibj.zip
> --with-gnu-classpath-libs=/home/elaheh/Desktop/classpath-0.97.2/lib/
> --with-classpath-impl=gnuclasspath
>
> next:   elaheh at elaheh-Lenovo-G470:~/Desktop/vmkit2$ make VERBOSE=1
> ENABLE_OPTIMIZED=1
>
> ...
>             then /bin/mv -f
> "/home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.bc.d.tmp"
> "/home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.bc.d";
> else /bin/rm
> "/home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.bc.d.tmp";
> exit 1; fi
> llvm[2]: Compiling Selected.ll to Selected.bc for Release+Asserts build
> (bytecode)
> /home/elaheh/Desktop/llvm//Release+Asserts/bin/opt
> /home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.ll
> -std-compile-opts -strip-debug -o
> /home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.bc
> llvm[2]: Building Release+Asserts Bytecode Module MMTKAlloc.bc
> /home/elaheh/Desktop/llvm//Release+Asserts/bin/llvm-link -o
> /home/elaheh/Desktop/vmkit2/Release+Asserts/lib/MMTKAlloc.bc
> /home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc/Release+Asserts/Selected.bc
> make[2]: Leaving directory `/home/elaheh/Desktop/vmkit2/mmtk/mmtk-alloc'
> make[2]: Entering directory `/home/elaheh/Desktop/vmkit2/mmtk/java'
> /usr/bin/ant -buildfile /home/elaheh/Desktop/vmkit2/mmtk/java/build.xml
> Buildfile: /home/elaheh/Desktop/vmkit2/mmtk/java/build.xml
>
> main:
>     [mkdir] Created dir: /home/elaheh/Desktop/vmkit2/mmtk/java/classes
>     [javac] Compiling 380 source files to
> /home/elaheh/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/elaheh/Desktop/vmkit2/mmtk/java/mmtk-vmkit.jar
>
>
> BUILD SUCCESSFUL
> Total time: 6 seconds
> llvm[2]: Building Release+Asserts mmtk-vmkit.jar all
> /home/elaheh/Desktop/llvm//Release+Asserts/bin/opt
> -load=/home/elaheh/Desktop/vmkit2/Release+Asserts/lib/JITGCPass.so
> -std-compile-opts -JITGCPass -f
> /home/elaheh/Desktop/vmkit2/Release+Asserts/lib/MMTKAlloc.bc -o
> /home/elaheh/Desktop/vmkit2/Release+Asserts/lib/MMTKAlloc.bc
> /home/elaheh/Desktop/vmkit2/Release+Asserts/bin/vmjc -std-compile-opts
> -load=/home/elaheh/Desktop/vmkit2/Release+Asserts/lib/MMTKRuntime.so
> -load=/home/elaheh/Desktop/vmkit2/Release+Asserts/lib/MMTKMagic.so
> -LowerMagic /home/elaheh/Desktop/vmkit2/mmtk/java/mmtk-vmkit.jar
> -disable-exceptions -disable-cooperativegc
> -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/*
> -Dmmtk.hostjvm=org.j3.mmtk.Factory -o mmtk-vmkit.bc
> -Dmmtk.properties=/home/elaheh/Desktop/vmkit2/mmtk/java/vmkit.properties
> -disable-stubs -assume-compiled
> 0  vmjc            0x0000000000eb84ef
> 1  vmjc            0x0000000000eb8a69
> 2  libpthread.so.0 0x00002b9a7357e060
> 3  libc.so.6       0x00002b9a7446ce24
> 4  vmjc            0x0000000000e96717
> llvm::cl::generic_parser_base::findOption(char const*) + 55
> 5  vmjc            0x000000000059d038
> 6  vmjc            0x0000000000e600ec
> llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool) + 572
> 7  vmjc            0x0000000000aa1140
> llvm::initializeBlockPlacementPass(llvm::PassRegistry&) + 144
> 8  vmjc            0x0000000000b35164
> llvm::initializeScalarOpts(llvm::PassRegistry&) + 20
> 9  vmjc            0x000000000059b419 vmkit::VmkitModule::initialise(int,
> char**) + 57
> 10 vmjc            0x0000000000511160 main + 96
> 11 libc.so.6       0x00002b9a7436b30d __libc_start_main + 237
> 12 vmjc            0x000000000051103d
> Segmentation fault
> make[2]: *** [all] Error 139
> make[2]: Leaving directory `/home/elaheh/Desktop/vmkit2/mmtk/java'
>
> make[1]: *** [all] Error 1
> make[1]: Leaving directory `/home/elaheh/Desktop/vmkit2/mmtk'
>
> make: *** [all] Error 1
>
>
> Do you think the problem may be associated with building gnu classpath?
> Would you please help me?
> Regards,
> Ela
>
>
>
>   ------------------------------
> *From:* Shahrokh Hedayati <shahrokhhedayati at yahoo.com>
> *To:* Nicolas Geoffray <nicolas.geoffray at gmail.com>
> *Sent:* Saturday, November 17, 2012 2:59 PM
>
> *Subject:* Re: [LLVMdev] Making VMKit2
>
> Ok. Thanks a lot for your help.
> Best wishes,
> Ela
>
>   ------------------------------
> *From:* Nicolas Geoffray <nicolas.geoffray at gmail.com>
> *To:* Shahrokh Hedayati <shahrokhhedayati at yahoo.com>
> *Sent:* Saturday, November 17, 2012 2:57 PM
> *Subject:* Re: [LLVMdev] Making VMKit2
>
> Definitely, I think that's what I have.
>
>
> On Sat, Nov 17, 2012 at 12:22 PM, Shahrokh Hedayati <
> shahrokhhedayati at yahoo.com> wrote:
>
> Actually, my host is a fairly new and powerful machine, but if you think
> the problem is associated with the VMBOX, let me try another machine
> (without virtual box).
> Do you think Ubuntu-desktop-amd64 on Intel(R) Corei5 would be appropriate?
>
> Thanks a lot for your time
>
>   ------------------------------
> *From:* Nicolas Geoffray <nicolas.geoffray at gmail.com>
> *To:* Shahrokh Hedayati <shahrokhhedayati at yahoo.com>
> *Sent:* Saturday, November 17, 2012 2:24 PM
>
> *Subject:* Re: [LLVMdev] Making VMKit2
>
> The i386 part makes me wonder. Is it not a i686? Is it an old pentium/amd
> machine?
>
>
> On Sat, Nov 17, 2012 at 11:34 AM, Shahrokh Hedayati <
> shahrokhhedayati at yahoo.com> wrote:
>
> Hi Nicolas,
> Ubuntu 11.10-desktop-i386.
> The result of building VMKit (http://vmkit.llvm.org/get_started.html) is
> the same.
>
> Regards
>
>   ------------------------------
> *From:* Nicolas Geoffray <nicolas.geoffray at gmail.com>
> *To:* Shahrokh Hedayati <shahrokhhedayati at yahoo.com>
> *Sent:* Saturday, November 17, 2012 1:55 PM
>
> *Subject:* Re: [LLVMdev] Making VMKit2
>
> Hi Shahrokh,
>
> What's the OS/arch of your virutal box?
>
> Nicolas
>
>
> On Sat, Nov 17, 2012 at 11:09 AM, Shahrokh Hedayati <
> shahrokhhedayati at yahoo.com> wrote:
>
> Hi Nicolas,
>
> Thanks for the quick answer. Yes, it seems the gnu classpath has better result. According to you and Gaël, I tried this the following 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/glibj.zip
> --with-mmtk-plan=org.mmtk.plan.marksweep.MS<http://org.mmtk.plan.marksweep.ms/>--with-classpath-impl=gnuclasspath
>
> and then, the following command for making:  make  VERBOSE=1
> ENABLE_OPTIMIZED=1
> The end part of the generated output is as follows:
>
> Buildfile: /home/ela/Desktop/vmkit2/mmtk/java/build.xml
>
> main:
>     [javac] Compiling 1 source file to
> /home/ela/Desktop/vmkit2/mmtk/java/classes
>     [javac] warning: [options] bootstrap class path not set in conjunction
> with -source 1.5
>     [javac] 1 warning
>       [jar] Building jar: /home/ela/Desktop/vmkit2/mmtk/java/mmtk-vmkit.jar
>
> BUILD SUCCESSFUL
> Total time: 2 seconds
> llvm[2]: Building Release+Asserts mmtk-vmkit.jar all
> /home/ela/Desktop/llvm//Release+Asserts/bin/opt
> -load=/home/ela/Desktop/vmkit2/Release+Asserts/lib/JITGCPass.so
> -std-compile-opts -JITGCPass -f
> /home/ela/Desktop/vmkit2/Release+Asserts/lib/MMTKAlloc.bc -o
> /home/ela/Desktop/vmkit2/Release+Asserts/lib/MMTKAlloc.bc
> /home/ela/Desktop/vmkit2/Release+Asserts/bin/vmjc -std-compile-opts
> -load=/home/ela/Desktop/vmkit2/Release+Asserts/lib/MMTKRuntime.so
> -load=/home/ela/Desktop/vmkit2/Release+Asserts/lib/MMTKMagic.so -LowerMagic
> /home/ela/Desktop/vmkit2/mmtk/java/mmtk-vmkit.jar -disable-exceptions
> -disable-cooperativegc
> -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/*
> -Dmmtk.hostjvm=org.j3.mmtk.Factory -o mmtk-vmkit.bc
> -Dmmtk.properties=/home/ela/Desktop/vmkit2/mmtk/java/vmkit.properties
> -disable-stubs -assume-compiled
> 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
>
> Regards
>
>    ------------------------------
> *From:* Nicolas Geoffray <nicolas.geoffray at gmail.com>
> *To:* Shahrokh Hedayati <shahrokhhedayati at yahoo.com>
> *Cc:* "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>
> *Sent:* Saturday, November 17, 2012 1:17 PM
> *Subject:* Re: [LLVMdev] Making VMKit2
>
> 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<http://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<http://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/20121119/c46dbe5d/attachment.html>


More information about the llvm-dev mailing list