Skip to main content

[Progress Update]CDC+FP build success

6 replies [Last post]
Anonymous

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Hinkmond Wong

Max wrote:
> Hi Hinkmond,
> I've downloaded and started to build from Eric's Palm bundle. The
> building is started and stuck by lacking of pthread, looks we need
> pthread on PalmOS, or porting threads and sync functions on top of
> PalmOS directly, right?

Hi Max,

Did you find the same pthreads lib that Jay found? (It looks like
another crosstool that has that).

Hinkmond

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

Hinkmond Wong

Max wrote:
> Hi Hinkmond,
> I just successfully build CDC+FP on my Windows PC. I'm using Cygwin+VC6,
> and build from win32-x86-vc6 configuration. Everything goes smoothly
> except some minor issues (e.g PROCESSOR_ARCHITECTURE_AMD64 isn't
> defined, have I missed something?), now I've got the success message of
> testclasses:
>
> -------------------------------------------------------------------------
> *CONGRATULATIONS: test Test completed with 411 tests passed and 0 failures
> *Output lines starting with a * should be checked for correctness
> *They can be compared to src/share/javavm/test/TestExpectedResult
> -------------------------------------------------------------------------
>
> Meanwhile, I've installed prc-tools and looks both m68k and arm
> toolchains work. That's what I've done so far, but may have questions
> very soon when I start to try palm samples building.
>

Hi Max,

Good to hear your progress! When you are ready, please try Eric's new
bundle and instructions:

Download his bundle from here:
https://j2me-cdc.dev.java.net/servlets/ProjectDocumentList?folderID=9440...
(Click on: pMEA-palmos-0.1.tar.gz
)

See his reference here:
http://forums.java.net/jive/message.jspa?messageID=283031#283031

Please let us know how that works for you.

Thanks,
Hinkmond

[att1.html]

Max

[att1.html]

Hinkmond Wong

Max wrote:
> Hi Hinkmond,
> I've downloaded and started to build from Eric's Palm bundle. The
> building is started and stuck by lacking of pthread, looks we need
> pthread on PalmOS, or porting threads and sync functions on top of
> PalmOS directly, right?

Hi Max,

I'm not sure. You'll have to check with Eric B.

Hinkmond

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

ebresie
Offline
Joined: 2003-08-06

Sorry...not much luck recently...I regret I am not an export on the ways of PalmOS development...

Here is what I am getting at the moment:

MAKEFLAGS = J2ME_CLASSLIB=foundation
CVM_HOST = i686-cygwin-win32
CVM_TARGET = palmos-arm-generic
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 = /cygdrive/c/Windows/system32/java
CVM_JAVAC = /cygdrive/c/j2sdk1.4.2_17/bin/javac
CVM_JAVAH = /cygdrive/c/j2sdk1.4.2_17/bin/javah
CVM_JAR = /usr/bin/jar
TARGET_CC = /usr/bin/arm-palmos-gcc
TARGET_CCC = /usr/bin/arm-palmos-g++
TARGET_AS = /usr/bin/arm-palmos-gcc
TARGET_LD = /usr/bin/arm-palmos-gcc
TARGET_AR = /usr/bin/arm-palmos-ar
TARGET_RANLIB = /usr/bin/arm-palmos-ranlib
LINKFLAGS = -g -Wl,-export-dynamic
LINKLIBS = -lpthread -ldl
ASM_FLAGS = -c -fno-common -traditional
CCCFLAGS = -fno-rtti
CCFLAGS_SPEED = -c -fno-common -Wall -W -Wno-unused-parameter -Wno-sign-compare -fno-strict-aliasing -O4
CCFLAGS_SPACE = -c -fno-common -Wall -W -Wno-unused-parameter -Wno-sign-compare -fno-strict-aliasing -O2
CCFLAGS_LOOP = -c -fno-common -Wall -W -Wno-unused-parameter -Wno-sign-compare -fno-strict-aliasing -O4
CCFLAGS_FDLIB = -c -fno-common -Wall -W -Wno-unused-parameter -Wno-sign-compare -fno-strict-aliasing -O4
JAVAC_OPTIONS = -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4
CVM_DEFINES = -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -DCVM_JIT_COPY_CCMCODE_TO_CODECACHE -D_GNU_SOURCE -DCVM_IAI_OPT_ALL
host uname = CYGWIN_NT-6.0 MyMachine 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin
TARGET_CC version = 3.3.1 arm-palmos
HOST_CC version = 3.4.4 i686-pc-cygwin
CVM_JAVA version = java version 1.6.0_05
TOOLS_DIR = /src/phoneME/tools
updating /src/phoneME/cdc/build/palmos-arm-generic/./generated/build_defs.mk ...
Checking for build-time classes to compile ...
Checking for phoneME Advanced classes to compile ...
Checking for test classes to compile ...
Checking for demo classes to compile ...
cc /src/phoneME/cdc/src/share/javavm/runtime/gc/generational/gen_semispace.c
In file included from ../../src/share/javavm/include/porting/defs.h:131,
from ../../src/share/javavm/include/defs.h:31,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:31:
../../src/palmos/javavm/include/defs_md.h:87:21: pthread.h: No such file or directory
../../src/palmos/javavm/include/defs_md.h:88:23: semaphore.h: No such file or directory
In file included from ../../src/palmos/javavm/include/sync_md.h:49,
from ../../src/share/javavm/include/porting/sync.h:316,
from ../../src/share/javavm/include/sync.h:33,
from ../../src/share/javavm/include/objects.h:41,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/portlibs/posix/sync.h:31:21: pthread.h: No such file or directory
In file included from ../../src/palmos/javavm/include/sync_md.h:49,
from ../../src/share/javavm/include/porting/sync.h:316,
from ../../src/share/javavm/include/sync.h:33,
from ../../src/share/javavm/include/objects.h:41,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/portlibs/posix/sync.h:34: error: parse error before "pthread_mutex_t"
../../src/portlibs/posix/sync.h:34: warning: no semicolon at end of struct or union
../../src/portlibs/posix/sync.h:35: warning: type defaults to `int' in declaration of `POSIXMutex'
../../src/portlibs/posix/sync.h:35: warning: data definition has no type or storage class
../../src/portlibs/posix/sync.h:38: error: parse error before "pthread_cond_t"
../../src/portlibs/posix/sync.h:38: warning: no semicolon at end of struct or union
../../src/portlibs/posix/sync.h:39: warning: type defaults to `int' in declaration of `POSIXCondVar'
../../src/portlibs/posix/sync.h:39: warning: data definition has no type or storage class
../../src/portlibs/posix/sync.h:42: error: parse error before '*' token
../../src/portlibs/posix/sync.h:43: error: parse error before '*' token
../../src/portlibs/posix/sync.h:44: error: parse error before '*' token
../../src/portlibs/posix/sync.h:45: error: parse error before '*' token
../../src/portlibs/posix/sync.h:46: error: parse error before '*' token
../../src/portlibs/posix/sync.h:48: error: parse error before '*' token
../../src/portlibs/posix/sync.h:49: error: parse error before '*' token
../../src/portlibs/posix/sync.h:50: error: parse error before '*' token
../../src/portlibs/posix/sync.h:52: error: parse error before '*' token
../../src/portlibs/posix/sync.h:53: error: parse error before '*' token
In file included from ../../src/share/javavm/include/porting/sync.h:316,
from ../../src/share/javavm/include/sync.h:33,
from ../../src/share/javavm/include/objects.h:41,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/palmos/javavm/include/sync_md.h:57:42: time.h: No such file or directory
In file included from ../../src/share/javavm/include/porting/sync.h:316,
from ../../src/share/javavm/include/sync.h:33,
from ../../src/share/javavm/include/objects.h:41,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/palmos/javavm/include/sync_md.h: In function `CVMspinlockYieldImpl':
../../src/palmos/javavm/include/sync_md.h:65: error: storage size of `tm' isn't known
../../src/palmos/javavm/include/sync_md.h:68: warning: implicit declaration of function `nanosleep'
../../src/palmos/javavm/include/sync_md.h:65: warning: unused variable `tm'
../../src/palmos/javavm/include/sync_md.h: At top level:
../../src/palmos/javavm/include/sync_md.h:96: error: parse error before "POSIXMutex"
../../src/palmos/javavm/include/sync_md.h:96: warning: no semicolon at end of struct or union
../../src/palmos/javavm/include/sync_md.h:100: error: parse error before "POSIXCondVar"
../../src/palmos/javavm/include/sync_md.h:100: warning: no semicolon at end of struct or union
../../src/palmos/javavm/include/sync_md.h:103: error: parse error before '}' token
In file included from ../../src/share/javavm/include/objects.h:41,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/share/javavm/include/sync.h:164: error: field `mutex' has incomplete type
../../src/share/javavm/include/sync.h:266: error: field `condvar' has incomplete type
In file included from ../../src/palmos-arm/javavm/include/jit/jit_arch.h:54,
from ../../src/share/javavm/include/porting/jit/jit.h:574,
from ../../src/share/javavm/include/objects.h:43,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/portlibs/posix/posix_jit_profil.h:37:20: unistd.h: No such file or directory
In file included from ../../src/palmos-arm/javavm/include/jit/jit_arch.h:54,
from ../../src/share/javavm/include/porting/jit/jit.h:574,
from ../../src/share/javavm/include/objects.h:43,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:32:
../../src/portlibs/posix/posix_jit_profil.h:48: error: parse error before '*' token
In file included from ../../src/share/javavm/include/directmem.h:38,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/share/javavm/include/cstates.h:86: error: field `consistentCV' has incomplete type
../../src/share/javavm/include/cstates.h:87: error: field `resumeCV' has incomplete type
In file included from ../../src/palmos/javavm/include/stdlib_md.h:32,
from ../../src/share/javavm/include/porting/ansi/stdlib.h:51,
from ../../src/share/javavm/include/clib.h:36,
from ../../src/share/javavm/include/gc/gc_impl.h:43,
from ../../src/share/javavm/include/gc_common.h:38,
from ../../src/share/javavm/include/stacks.h:48,
from ../../src/share/javavm/include/interpreter.h:31,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
/usr/arm-palmos/include/malloc.h:4:2: warning: #warning This non-standard header is deprecated; it will be removed in the next prc-tools release; use stdlib.h instead
In file included from ../../src/palmos/javavm/include/stdlib_md.h:32,
from ../../src/share/javavm/include/porting/ansi/stdlib.h:51,
from ../../src/share/javavm/include/clib.h:36,
from ../../src/share/javavm/include/gc/gc_impl.h:43,
from ../../src/share/javavm/include/gc_common.h:38,
from ../../src/share/javavm/include/stacks.h:48,
from ../../src/share/javavm/include/interpreter.h:31,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
/usr/arm-palmos/include/malloc.h:7: error: conflicting types for `malloc'
/usr/share/prc-tools/include/stdlib.h:52: error: previous declaration of `malloc'
In file included from ../../src/share/javavm/include/clib.h:38,
from ../../src/share/javavm/include/gc/gc_impl.h:43,
from ../../src/share/javavm/include/gc_common.h:38,
from ../../src/share/javavm/include/stacks.h:48,
from ../../src/share/javavm/include/interpreter.h:31,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/share/javavm/include/porting/ansi/time.h:44:29: time.h: No such file or directory
In file included from ../../src/palmos/javavm/include/errno_md.h:31,
from ../../src/share/javavm/include/porting/ansi/errno.h:45,
from ../../src/share/javavm/include/clib.h:40,
from ../../src/share/javavm/include/gc/gc_impl.h:43,
from ../../src/share/javavm/include/gc_common.h:38,
from ../../src/share/javavm/include/stacks.h:48,
from ../../src/share/javavm/include/interpreter.h:31,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
/usr/arm-palmos/include/errno.h:4:2: warning: #warning This header is deprecated; because Palm OS has no useful errno facility, this header will be removed in the next prc-tools release
In file included from ../../src/share/javavm/include/assert.h:31,
from ../../src/share/javavm/include/clib.h:46,
from ../../src/share/javavm/include/gc/gc_impl.h:43,
from ../../src/share/javavm/include/gc_common.h:38,
from ../../src/share/javavm/include/stacks.h:48,
from ../../src/share/javavm/include/interpreter.h:31,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/share/javavm/include/porting/ansi/assert.h:42:31: assert.h: No such file or directory
In file included from ../../src/share/javavm/include/porting/threads.h:124,
from ../../src/share/javavm/include/interpreter.h:36,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/palmos/javavm/include/threads_md.h:39:21: pthread.h: No such file or directory
../../src/palmos/javavm/include/threads_md.h:40:23: semaphore.h: No such file or directory
In file included from ../../src/share/javavm/include/porting/threads.h:124,
from ../../src/share/javavm/include/interpreter.h:36,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/palmos/javavm/include/threads_md.h:44: error: parse error before "pthread_t"
../../src/palmos/javavm/include/threads_md.h:44: warning: no semicolon at end of struct or union
../../src/palmos/javavm/include/threads_md.h:51: error: parse error before "locked"
../../src/palmos/javavm/include/threads_md.h:51: warning: type defaults to `int' in declaration of `locked'
../../src/palmos/javavm/include/threads_md.h:51: warning: data definition has no type or storage class
../../src/palmos/javavm/include/threads_md.h:63: error: parse error before "wait_mutex"
../../src/palmos/javavm/include/threads_md.h:63: warning: type defaults to `int' in declaration of `wait_mutex'
../../src/palmos/javavm/include/threads_md.h:63: warning: data definition has no type or storage class
../../src/palmos/javavm/include/threads_md.h:64: error: parse error before "wait_cv"
../../src/palmos/javavm/include/threads_md.h:64: warning: type defaults to `int' in declaration of `wait_cv'
../../src/palmos/javavm/include/threads_md.h:64: warning: data definition has no type or storage class
../../src/palmos/javavm/include/threads_md.h:74: error: parse error before '}' token
In file included from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/share/javavm/include/interpreter.h:206: error: field `threadInfo' has incomplete type
../../src/share/javavm/include/interpreter.h:329: error: field `parentLock' has incomplete type
../../src/share/javavm/include/interpreter.h:330: error: field `parentCond' has incomplete type
In file included from ../../src/share/javavm/include/interpreter.h:1549,
from ../../src/share/javavm/include/directmem.h:39,
from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:34:
../../src/share/javavm/include/globals.h:333: error: field `threadCountCV' has incomplete type
In file included from ../../src/share/javavm/runtime/gc/generational/gen_semispace.c:46:
../../src/share/javavm/include/gc/generational/gen_markcompact.h:64: error: parse error before "jmp_buf"
../../src/share/javavm/include/gc/generational/gen_markcompact.h:64: warning: no semicolon at end of struct or union
make: *** [obj/gen_semispace.o] Error 1

From this the following sticks out to me:

../../src/palmos/javavm/include/defs_md.h:87:21: pthread.h: No such file or directory
../../src/palmos/javavm/include/defs_md.h:88:23: semaphore.h: No such file or directory
../../src/palmos/javavm/include/sync_md.h:57:42: time.h: No such file or directory

As I am guessing here, I suspect Palm development makes use of some different header files here or may not support threads, semaphores, or the same time header files. I suspect there may be some PalmOS equivalent.

For example, while reviewing some of the things in the Palm OS Reference guide, I found that a subset of the stdio.h files is provided in StdIOPalm.h instead.

Question to Hinkmon or whomever may know...how is the proper way to set alternative header files such as the stdio.h differences mentioned above?

I noticed some #defines in one of the files that defines some CVM header files...is the proper way to replace the with the ?

Eric

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Sorry...not much luck recently...I regret I am not an export on the ways of PalmOS development...
>

Me either. <:-)
...
> ../../src/palmos/javavm/include/defs_md.h:87:21: pthread.h: No such file or directory
> ../../src/palmos/javavm/include/defs_md.h:88:23: semaphore.h: No such file or directory
> ../../src/palmos/javavm/include/sync_md.h:57:42: time.h: No such file or directory
>
> As I am guessing here, I suspect Palm development makes use of some different header files here or may not support threads, semaphores, or the same time header files. I suspect there may be some PalmOS equivalent.
>
> For example, while reviewing some of the things in the Palm OS Reference guide, I found that a subset of the stdio.h files is provided in StdIOPalm.h instead.
>
> Question to Hinkmon or whomever may know...how is the proper way to set alternative header files such as the stdio.h differences mentioned above?
>
> I noticed some #defines in one of the files that defines some CVM header files...is the proper way to replace the with the ?
>

This is the toughest part right now as I mentioned in the other e-mail I
sent. If we can find a way to run a normal headless C printf("Hello
world!"); app on a PalmOS device, we can apply the same principle to
phoneME Advanced.

Hinkmond

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