Skip to main content

Compiling midp

6 replies [Last post]
andipi
Offline
Joined: 2008-04-16
Points: 0

Hello,

I'm trying to compile phoneME Advanced at the moment. The compilation of the CDC works fine. But when trying to compile the midp ontop of it, I ran into problem: somewhere in the build files an cp command seems to be wrong.

Here is my log:

MAKEFLAGS = MIDP_DIR=/phoneme_advanced/midp USE_MIDP=true JPEG_DIR=/phoneme_advanced/jpeg USE_JPEG=true CVM_PRELOAD_LIB=true CVM_DEBUG=true CVM_JIT=true J2ME_CLASSLIB=foundation
CVM_HOST = i686-cygwin-win32
CVM_TARGET = win32-arm-wm5
SHELL = bash -e
HOST_CC = /usr/bin/cc
HOST_CCC = /usr/bin/g++
ZIP = /usr/bin/zip
FLEX = /usr/bin/flex
BISON = /usr/bin/bison
CVM_JAVA = C:/Programme/Java/jdk1.4.2_17/bin/java
CVM_JAVAC = C:/Programme/Java/jdk1.4.2_17/bin/javac
CVM_JAVAH = C:/Programme/Java/jdk1.4.2_17/bin/javah
CVM_JAR = C:/Programme/Java/jdk1.4.2_17/bin/jar
TARGET_CC = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/CL.EXE
TARGET_CCC = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/CL.EXE
TARGET_AS = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/ARMASM.EXE
TARGET_LD = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/LINK.EXE
TARGET_AR = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/LINK.EXE
TARGET_RANLIB = /usr/bin/ranlib
LINKFLAGS = /incremental:no /nologo /map /subsystem:windowsce,5.01 /DEBUG
LINKLIBS = -lpthread -ldl libpcsl_file.lib libpcsl_memory.lib libpcsl_print.lib libpcsl_string.lib libpcsl_network.lib Ws2.lib gx.lib aygshell.lib
ASM_FLAGS = -CPU StrongARM1 -32 -ignore 0274 -NOTerse -WIdth 132 -list .lst .i
CCCFLAGS =
CCFLAGS_SPEED = /nologo /c /W2 -D__STDC__ /GS- /Zi /MDd /Od -D_DEBUG -DDEBUG
CCFLAGS_SPACE = /nologo /c /W2 -D__STDC__ /GS- /Zi /MDd /Od -D_DEBUG -DDEBUG
CCFLAGS_LOOP = /nologo /c /W2 -D__STDC__ /GS- /Zi /MDd /Od -D_DEBUG -DDEBUG
CCFLAGS_FDLIB = /nologo /c /W2 -D__STDC__ /GS- /Zi /MDd -D_DEBUG -DDEBUG /Od
JAVAC_OPTIONS = -g -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4
CVM_DEFINES = -DCVM_DEBUG -DCVM_INSPECTOR -DCVM_DEBUG_CLASSINFO -DCVM_DEBUG_STACKTRACES -DCVM_DEBUG_DUMPSTACK -DCVM_DEBUG_ASSERTS -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT -DCVM_DUAL_STACK -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DCVM_TRACE -DCVM_TRACE_JIT -DCVM_PRELOAD_LIB -DCVM_STATICLINK_LIBS -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -DCVM_TRACE_ENABLED -DCVM_JIT_COPY_CCMCODE_TO_CODECACHE -DCVM_DLL -DHAVE_64_BIT_IO -DARM -D_ARM -D__RVCT__ -DWINCE -DWIN32_LEAN_AND_MEAN -DWIN32_PLATFORM_PSPC -DUNICODE -D_UNICODE -DUNDER_CE=500 -D_WIN32_WCE=500 -D_ARM_ -DEDB -DPOCKETPC
host uname = CYGWIN_NT-5.1 aracom100 1.5.25(0.156/4/2) 2008-03-05 19:27 i686 Cygwin
TARGET_CC version = Microsoft (R) C/C++ Optimizing Compiler Version 14.00.50725 for ARM
HOST_CC version = 3.4.4 i686-pc-cygwin
CVM_JAVA version = java version 1.4.2_17
TOOLS_DIR = /phoneme_advanced/tools
SDK_DIR = C:/Program Files/Windows CE Tools
VC_PATH = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC
PLATFORM_SDK_DIR = C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK
PLATFORM_TOOLS_PATH = /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/ce/bin/x86_arm
COMMON_TOOLS_PATH = ls: cannot access /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/bin:/cygdrive/c/Programme/Microsoft Visual Studio 8/Common7/Tools/Bin:/cygdrive/c/Programme/Microsoft Visual Studio 8/Common7/IDE: No such file or directory
INCLUDE = C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Include/Armv4i;C:/Programme/Microsoft Visual Studio 8/VC/ce/include;C:/Programme/Microsoft Visual Studio 8/VC/ce/atlmfc/include
LIB = C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Lib/Armv4i;C:/Programme/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Programme/Microsoft Visual Studio 8/VC/ce/atlmfc/lib/armv4i
MIDP_DIR = /phoneme_advanced/midp
PROJECT_MIDP_DIR = /phoneme_advanced/midp
PCSL_DIR = /phoneme_advanced/pcsl
updating /phoneme_advanced/cdc/build/win32-arm-wm5/./generated/build_defs.mk ...
make[1]: Entering directory `/phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm'
Copying property definitions...
cp: missing destination file operand after `/phoneme_advanced/cdc/build/win32-arm-wm5/./javacall/properties.xml'
Try `cp --help' for more information.
make[1]: *** [/phoneme_advanced/cdc/build/win32-arm-wm5/./javacall/properties.xml] Error 1
make[1]: Leaving directory `/phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm'
make: *** [/phoneme_advanced/cdc/build/win32-arm-wm5/./lib/javacall_g.lib] Error 2

Has anyone an idea, what goes wrong?
Thanks,
andipi

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
andipi
Offline
Joined: 2008-04-16
Points: 0

Hi,

thanks. Now it is working.
Now I tried to compile the CDC in the personal profile, it would be nice to have a full java enviroment. The next problem occured:
../../src/win32/personal/native/console/wceConsole.c(550) : error C2371: 'writeStandardIO' : redefinition; different basic types
../../src/win32\javavm/include/io_md.h(78) : see declaration of 'writeStandardIO'

I don't know where to fix it, I don't know the structure of PhoneMe well enough.

Thanks,
andipi

Ok, found the error:
in wceConsole.c the return value of 'writeStandardIO' must be changed to void.
But the next problem is not far away:
d:\phoneme_advanced\cdc\src\share\personal\native\awt\qt\QtSync.h(36) : fatal error C1083: Cannot open include file: 'qthread.h': No such file or directory

Message was edited by: andipi

davyp
Offline
Joined: 2007-01-03
Points: 0

I actually disable wceConsole in my builds. For terminal support, I use PocketConsole and
CMD instead. If you enable wceConsole, you automatically get twice the output, once on CMD
and once on wceConsole. Quite annoying. To disable wceConsole, edit
cdc/build/win32/defs_personal.mk and comment out the following line:

WCE_CONSOLE = wceConsole.o

becomes

#WCE_CONSOLE = wceConsole.o

For Windows Mobile 2005 and 2006 devices, you should modify the registry on the PDA to
activate stdout. Change the value of HKEY_LOCAL_MACHINE\Drivers\Console\OutputTo to
0. The PocketConsole and CMD programs used to be avaiable at www.symbolictools.de, but
the site is no longer available. You may need to google a bit.

Davy

andipi
Offline
Joined: 2008-04-16
Points: 0

Thanks a lot.
Your compiles helped very much. Now it is working on Windows Mobile 2005. It was quite annoying to fight with the compiling just to evaluate phoneme. Overall an interesting project, looks promising.

andipi

romanz
Offline
Joined: 2006-10-16
Points: 0

Hello andipi,

It looks like nobody has been using the "phoneMEAdvanced/wince_arm" JavaCall configuration recently, so it was not updated to include properties.
Until the issue is fixed on JavaCall trunk, please try the following workaround manually and rebuild phoneME Advanced:
- Copy /phoneme_advanced/javacall/configuration/phoneMEAdvanced/linux_x86/properties.xml to /phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm/
- Add the following lines at the end of /phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm/environment.gmk:

ifneq ($(USE_STATIC_PROPERTIES),true)
SPECIFIC_DEFINITIONS += -DUSE_PROPERTIES_FROM_FS
endif
CONFIGURATION_PROPERTIES_FILE = properties.xml

The build failure should be gone.

Regards,
Roman

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hello andipi,
>
> It looks like nobody has been using the "phoneMEAdvanced/wince_arm" JavaCall configuration recently, so it was not updated to include properties.
> Until the issue is fixed on JavaCall trunk, please try the following workaround manually and rebuild phoneME Advanced:
> - Copy /phoneme_advanced/javacall/configuration/phoneMEAdvanced/linux_x86/properties.xml to /phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm/
> - Add the following lines at the end of /phoneme_advanced/javacall/configuration/phoneMEAdvanced/wince_arm/environment.gmk:
>
> ifneq ($(USE_STATIC_PROPERTIES),true)
> SPECIFIC_DEFINITIONS += -DUSE_PROPERTIES_FROM_FS
> endif
> CONFIGURATION_PROPERTIES_FILE = properties.xml
>
> The build failure should be gone.
>

Hi Roman,

Is there a plan to fix this for the phoneME Advanced JavaCall trunk
soon? I talked to Petr about this, but it seems like this is not being
addressed currently. I think it would still be important to fix in the
JavaCall trunk since our open source developers would like to build with it.

Thanks,
Hinkmond

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

davyp
Offline
Joined: 2007-01-03
Points: 0

I was able to compile the dual stack (Foundation Profile + MIDP) for both WM2003 and
WM2005 with the javacall-ext-jump branch in the javacall subversion tree. You can find the
binaries here http://www.cs.kuleuven.be/~davy/phoneme/. I tried the MicroEmu demo midlet
and it seems to run fine on my device.

I made some small changes in my local tree to correctly align the widgets and some changes
to winceapp_export to use plain gdi instead of directdraw or the Game API (GX). To compile
for WM2003 with eVC4, I also had to change the compiler from cl.exe to clarm.exe.

Davy