Posted by mmoris
on January 29, 2009 at 8:26 AM PST
I am currently building CDC foundation profile for a custom embedded system. When designing the filesystem for our embedded system, we decided to have the following paths for the phoneME VM:
First of all, I have not found a simple way of specifying the lib build output directory. The only solution I found was to modify the following lines in the defs.mk Makefile :
CVM_LIBDIR := $(CVM_BUILD_TOP)/lib/jvm
CVM_LIBDIR_ABS := $(CVM_BUILD_TOP_ABS)/lib/jvm
These modifications force the build to use lib/jvm as output directory for foundation.jar and other library related outputs. Unfortunately, whenever I try to run cvm on our target system based on this file hierarchy, I get NoClassDefFoundErrors for all classes. I can get cvm to execute properly by using one of the following approaches:
# cvm -Xbootclasspath ../lib/jvm -version
# LDCONFIG=../lib/jvm cvm
Even though these solutions technically work, they are not viable for our environment as they force us to use wrapping script when calling cvm to setup it's lib directory.
Is there any way of properly specifying what lib folder cvm should use? How and when does cvm determine what it's bootclasspath is? If there is not obvious way of doing this, should the build system be modified to allow it?