Error generating a executable using llcj

I installed vmkit-0.29 and tried to generate a executable using llcj

I generated the libvmjc and updated the library path

export LD_LIBRARY_PATH=$(VMKIT_OBJ)/Release/lib

llcj --main=hello hello.class -o hello

but i am getting the following error

/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_misc_Unsafe_putLong__Ljava_lang_Object_2JJ': glibj-optimized.zip.bc:(.text+0x1a8c930): undefined reference to Java_sun_misc_Unsafe_putLong__Ljava_lang_Object_2JJ’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_misc_Unsafe_getLong__Ljava_lang_Object_2J': glibj-optimized.zip.bc:(.text+0x1a8ca50): undefined reference to Java_sun_misc_Unsafe_getLong__Ljava_lang_Object_2J’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_misc_Unsafe_getObjectVolatile__Ljava_lang_Object_2J': glibj-optimized.zip.bc:(.text+0x1a8cbb0): undefined reference to Java_sun_misc_Unsafe_getObjectVolatile’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_misc_Unsafe_arrayBaseOffset__Ljava_lang_Class_2': glibj-optimized.zip.bc:(.text+0x1a8cbd0): undefined reference to Java_sun_misc_Unsafe_arrayBaseOffset’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_misc_Unsafe_arrayIndexScale__Ljava_lang_Class_2': glibj-optimized.zip.bc:(.text+0x1a8cbf0): undefined reference to Java_sun_misc_Unsafe_arrayIndexScale’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o): In function JnJVM_sun_reflect_annotation_AnnotationInvocationHandler_equals__Ljava_lang_Class_2Ljava_util_Map_2Ljava_lang_Object_2': glibj-optimized.zip.bc:(.text+0x1a8e75e): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8e7bd): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8e7f1): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8e840): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8e879): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8e8a7): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8e8da): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8e92d): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8e955): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8e9d4): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8e9fe): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8eaaa): undefined reference to registerSetjmp' glibj-optimized.zip.bc:(.text+0x1a8ead4): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8eb0e): undefined reference to unregisterSetjmp' glibj-optimized.zip.bc:(.text+0x1a8eb56): undefined reference to registerSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8eb72): undefined reference to unregisterSetjmp' glibj-optimized.zip.bc:(.text+0x1a8ebc6): undefined reference to registerSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8ebfd): undefined reference to unregisterSetjmp' glibj-optimized.zip.bc:(.text+0x1a8ec1e): undefined reference to registerSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8ec3f): undefined reference to unregisterSetjmp' glibj-optimized.zip.bc:(.text+0x1a8ec6c): undefined reference to unregisterSetjmp’
glibj-optimized.zip.bc:(.text+0x1a8ecd7): undefined reference to unregisterSetjmp' /home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0x100): undefined reference to EmptyDestructor’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0x3e0): undefined reference to EmptyDestructor' /home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0xa30): undefined reference to EmptyDestructor’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0xf40): undefined reference to EmptyDestructor' /home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0x11f0): undefined reference to EmptyDestructor’
/home/shyam/classpath-0.97.2/lib/vmkit/Release+Debug/lib/libvmjc.a(glibj.zip.o):(.data.rel+0x12b0): more undefined references to `EmptyDestructor’ follow

Please help !!

Hi Shyam,

Apologies for the late reply. llcj is a tool that has bitrotten a bit, it would neet to be updated after some of the changes we made to the compiler. The support for compiling ahead of time is there, it’s just the generation of the executable which has not been used and tested for a long time.

Cheers,
Nicolas