Skip to main content

gtk support in phoneME Advanced

11 replies [Last post]
aillescas
Offline
Joined: 2008-02-18

Hi,

I've posted before trying to find a solution to a problem we have with our software an phoneME Advance. We see a lot of blinking, and some components don

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
davyp
Offline
Joined: 2007-01-03

Ken,

You can get my patches and a linux/x86 build at:

http://www.cs.kuleuven.be/~davy/phoneme/gtk/

Some code has been copied from the Qt implementation, while other methods
have no implementation yet. Other one-liners are there because I was getting these
weird segmentation faults (could be due to my gtk configuration). I have been able to
run some basic AWT applications, but not everything is working properly though. YMMV.

Regards,
Davy

ken_gilmer
Offline
Joined: 2007-01-19

Thanks Davy! I will check it out.

ken_gilmer
Offline
Joined: 2007-01-19

Davy,

Very cool! I'm very interested in GTK support, and also know of others that are also interested. I may be able to help in resolving some of the problems. I know this gets mentioned in the forum quite a bit but is there an active project somewhere? Are the people working on this organized at all? Hinkmond, are you guys working on this as well?

Thanks!
ken

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Davy,
>
> Very cool! I'm very interested in GTK support, and also know of others that are also interested. I may be able to help in resolving some of the problems. I know this gets mentioned in the forum quite a bit but is there an active project somewhere? Are the people working on this organized at all? Hinkmond, are you guys working on this as well?
>

As time permits (ha! ;-)), I can lend a hand on the GTK port of phoneME
Advanced Personal Basis Profile and Personal Profile builds.

Mostly, I think we will wind up taking Davy's code diffs and commit them
back to the trunk. Then keep incrementally adding missing functionality
to them with help from you and others who are interested in lending a
hand in porting pMEA to GTK. We can use all the help we can get from
the community. :-)

Thanks,

Hinkmond

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

ken_gilmer
Offline
Joined: 2007-01-19

Davy,

Is there somewhere that I can get your patches against b70 for GTK?

thx
ken

davyp
Offline
Joined: 2007-01-03

Ken,

Give me a few days to make a diff against this build. I am currently caught
up with other urgent things.

Davy

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi,
>
> I've posted before trying to find a solution to a problem we have with our software an phoneME Advance. We see a lot of blinking, and some components don´t render the way we want... Even though we get some help from the fantastic people in this forum, there are some problems that remain unsolved.
>
> We also tried with another VM based in gtk, and it worked flawlessly, and we wander if this could be the solution to our problems.
>
> So... Is there some way to build a phoneME version with personal profile and gtk? I tried to build it myself using the flag AWT_PEERSET=gtk without any results. I also tried to check out the branch hinkmond-pp-gtk, but when i try to build the last code in trunk with this branch it doesn't work. I get the error:
>
> [i]"Error: URI=file:/home/Desarrollo/phonemePrueba/cdc/build/linux-x86-generic/../../src/share/tools/xml/empty.xml Line=1: unable to resolve external entity: ".configuration.dtd"[/i]
>
> I have to admit I'm quite lost in this point so any help will be welcomed.
>
> Thank you in advance!

Hi Antonio,

Which pMEA components do you have checked out?

Can you post which "svn checkout ..." commands you used showing which
components you checked out to set up your working copy? And, then
please post the build command (make line) you used with all the
parameters. I'd like to try to reproduce the error message you are seeing.

Thanks,

Hinkmond

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

bsmithnw
Offline
Joined: 2008-05-09

Greetings,

I'm getting the same build error and could use some help.

Here's svn checkout line I used (per our partner)
svn checkout https://phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev... phoneme --username guest

I'm building in linux-x86-generic with an Fedora Core 7 system. Just typed "make"

Any help would be greatly appreciated.

[PROJ linux-x86-generic]$ make
MAKEFLAGS =
CVM_HOST = x86_64-redhat-linux
CVM_TARGET = linux-x86-generic
SHELL = sh -e
HOST_CC = /usr/bin/cc
HOST_CCC = /usr/bin/g++
ZIP = /usr/bin/zip
CVM_JAVA = /usr/bin/java
CVM_JAVAC = /usr/bin/javac
CVM_JAVAH = /usr/bin/javah
CVM_JAR = /usr/bin/jar
TARGET_CC = /usr/bin/cc
TARGET_CCC = /usr/bin/g++
TARGET_AS = /usr/bin/cc
TARGET_LD = /usr/bin/cc
TARGET_AR = /usr/bin/ar
TARGET_RANLIB = /usr/bin/ranlib
LINKFLAGS = -g -Wl,-export-dynamic
LINKLIBS = -lpthread -ldl -lm
ASM_FLAGS = -c -fno-common -march=i686 -traditional
CCCFLAGS = -fno-rtti
CCFLAGS_SPEED = -c -fno-common -Wall -fno-strict-aliasing -march=i686 -O4
CCFLAGS_SPACE = -c -fno-common -Wall -fno-strict-aliasing -march=i686 -O2
CCFLAGS_LOOP = -c -fno-common -Wall -fno-strict-aliasing -march=i686 -O4 -fno-inline
CCFLAGS_FDLIB = -c -fno-common -Wall -fno-strict-aliasing -march=i686 -O4 -ffloat-store
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_TIMESTAMPING -DJ2ME_CLASSLIB=cdc -DTARGET_CPU_FAMILY=x86 -D_GNU_SOURCE
host uname = Linux briansP390 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:47:07 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
TARGET_CC version = 4.1.2 x86_64-redhat-linux
HOST_CC version = 4.1.2 x86_64-redhat-linux
CVM_JAVA version = java version 1.5.0 gij (GNU libgcj) version 4.1.2 20070502 (Red Hat 4.1.2-12)
TOOLS_DIR = /export/projects/phoneme/phoneme/tools
Flag CVM_DEBUG_DUMPSTACK changed. Cleaning up.
Flag CVM_USE_NATIVE_TOOLS changed. Cleaning up.
Flag J2ME_CLASSLIB changed. Cleaning up.
... generating ../../build/linux-x86-generic/./generated/javavm/include/build_defs.h

/*** Definitions generated at build time ***/
#ifndef _BUILD_DEFS_H
#define _BUILD_DEFS_H

#define CVM_BUILD_OPTIONS \
"CVM_AGENTLIB=false\n" \
"CVM_AOT=false\n" \
"CVM_CCM_COLLECT_STATS=false\n" \
"CVM_CLASSLIB_JCOV=false\n" \
"CVM_CLASSLOADING=true\n" \
"CVM_CSTACKANALYSIS=false\n" \
"CVM_DEBUG=false\n" \
"CVM_DEBUG_ASSERTS=false\n" \
"CVM_DEBUG_CLASSINFO=false\n" \
"CVM_DEBUG_DUMPSTACK=false\n" \
"CVM_DEBUG_STACKTRACES=true\n" \
"CVM_DUAL_STACK=false\n" \
"CVM_DYNAMIC_LINKING=true\n" \
"CVM_EMBEDDED_HOOK=false\n" \
"CVM_GCCHOICE=generational\n" \
"CVM_GCOV=false\n" \
"CVM_GPROF=false\n" \
"CVM_GPROF_NO_CALLGRAPH=true\n" \
"CVM_HOST=x86_64-redhat-linux\n" \
"CVM_INCLUDE_COMMCONNECTION=false\n" \
"CVM_INSPECTOR=false\n" \
"CVM_INSTRUCTION_COUNTING=false\n" \
"CVM_INTERPRETER_LOOP=Standard\n" \
"CVM_JAVAC_DEBUG=false\n" \
"CVM_JIT=false\n" \
"CVM_JIT_COLLECT_STATS=false\n" \
"CVM_JIT_DEBUG=false\n" \
"CVM_JIT_ESTIMATE_COMPILATION_SPEED=false\n" \
"CVM_JIT_PROFILE=false\n" \
"CVM_JIT_REGISTER_LOCALS=false\n" \
"CVM_JIT_USE_FP_HARDWARE=false\n" \
"CVM_JVMPI=false\n" \
"CVM_JVMPI_TRACE_INSTRUCTION=false\n" \
"CVM_JVMTI=false\n" \
"CVM_JVMTI_ROM=false\n" \
"CVM_KNI=false\n" \
"CVM_LVM=false\n" \
"CVM_MP_SAFE=false\n" \
"CVM_MTASK=false\n" \
"CVM_NO_CODE_COMPACTION=false\n" \
"CVM_NO_LOSSY_OPCODES=false\n" \
"CVM_OPTIMIZED=true\n" \
"CVM_PRELOAD_LIB=false\n" \
"CVM_PRELOAD_TEST=false\n" \
"CVM_PRODUCT=premium\n" \
"CVM_REFLECT=true\n" \
"CVM_SERIALIZATION=true\n" \
"CVM_SPLIT_VERIFY=false\n" \
"CVM_STATICLINK_LIBS=false\n" \
"CVM_SYMBOLS=false\n" \
"CVM_TEST_GC=false\n" \
"CVM_TEST_GENERATION_GC=false\n" \
"CVM_THREAD_SUSPENSION=false\n" \
"CVM_TIMESTAMPING=true\n" \
"CVM_TRACE=false\n" \
"CVM_TRACE_JIT=false\n" \
"CVM_USE_CVM_MEMALIGN=false\n" \
"CVM_USE_MEM_MGR=false\n" \
"CVM_USE_NATIVE_TOOLS=true\n" \
"CVM_VERIFY_HEAP=false\n" \
"CVM_XRUN=false\n" \
"J2ME_CLASSLIB=cdc\n" \
"OPT_PKGS=\n" \
"USE_GCI=false\n" \
"USE_JUMP=false\n" \
"USE_MIDP=false\n" \

#define CVM_PROP_JAVA_VERSION "phoneme_advanced_mr2-b47"
#define CVM_PROP_JAVA_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_VENDOR_URL "http://java.sun.com/"
#define CVM_PROP_JAVA_VENDOR_URL_BUG "http://java.sun.com/cgi-bin/bugreport.cgi"
#define CVM_PROP_JAVA_SPEC_NAME "CDC Specification"
#define CVM_PROP_JAVA_SPEC_VERSION "1.1"
#define CVM_PROP_JAVA_SPEC_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_CLASS_VERSION "47.0"
#define CVM_PROP_JAVA_VM_NAME "CVM"
#define CVM_PROP_JAVA_VM_VERSION "phoneme_advanced_mr2-b47"
#define CVM_PROP_SUN_MISC_PRODUCT "phoneME Advanced"
#define CVM_PROP_JAVA_VM_INFO "interpreter loop"
#define CVM_PROP_JAVA_VM_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_VM_SPEC_NAME "Java Virtual Machine Specification"
#define CVM_PROP_JAVA_VM_SPEC_VERSION "1.0"
#define CVM_PROP_JAVA_VM_SPEC_VENDOR "Sun Microsystems Inc."
#define CVM_CLASSLIB_JAR_NAME "cdc.jar"
#define CVM_JARFILES CVM_CLASSLIB_JAR_NAME

#endif /* _BUILD_DEFS_H */

updating ../../build/linux-x86-generic/./generated/build_defs.mk ...
... mkdir ../../build/linux-x86-generic/./obj
... mkdir ../../build/linux-x86-generic/./btclasses
... mkdir ../../build/linux-x86-generic/./testclasses
... mkdir ../../build/linux-x86-generic/./democlasses
... mkdir ../../build/linux-x86-generic/./lib
... mkdir ../../build/linux-x86-generic/./lib/security
... mkdir ../../build/linux-x86-generic/./cdc_classes
Checking for build-time classes to compile ...
... generating PackageManager.java
Error: URI=file:/export/projects/phoneme/phoneme/cdc/build/linux-x86-generic/../../src/share/tools/xml/empty.xml Line=1: unable to resolve external entity: "./configuration.dtd"
gnu.xml.dom.ls.DomLSException: unable to resolve external entity: "./configuration.dtd"
at gnu.xml.dom.ls.DomLSParser.doParse(libgcj.so.8rh)
at gnu.xml.dom.ls.DomLSParser.parse(libgcj.so.8rh)
at gnu.xml.dom.DomDocumentBuilder.parse(libgcj.so.8rh)
at javax.xml.parsers.DocumentBuilder.parse(libgcj.so.8rh)
at com.sun.xml.transform.CodeTransformerImpl.transform(CodeTransformer.java:313)
at com.sun.xml.transform.CodeTransformer.main(CodeTransformer.java:105)
Caused by: org.xml.sax.SAXParseException: unable to resolve external entity: "./configuration.dtd"
at gnu.xml.stream.SAXParser.parse(libgcj.so.8rh)
at gnu.xml.dom.ls.DomLSParser.doParse(libgcj.so.8rh)
...5 more
Caused by: javax.xml.stream.XMLStreamException: unable to resolve external entity: "./configuration.dtd"
at gnu.xml.stream.XMLParser.error(libgcj.so.8rh)
at gnu.xml.stream.XMLParser.pushInput(libgcj.so.8rh)
at gnu.xml.stream.XMLParser.readDoctypeDecl(libgcj.so.8rh)
at gnu.xml.stream.XMLParser.next(libgcj.so.8rh)
at gnu.xml.stream.XMLParser.hasNext(libgcj.so.8rh)
at gnu.xml.stream.SAXParser.parse(libgcj.so.8rh)
...6 more
make: *** [../../build/linux-x86-generic/./generated/classes/com/sun/cdc/config/PackageManager.java] Error 1
[PROJ linux-x86-generic]$

davyp
Offline
Joined: 2007-01-03

Could this be because you are using the Java compiler from gcc, i.e. gcj/gij, and not
a Sun Jdk 1.4 ?

Your log shows the following:

CVM_JAVA version = java version 1.5.0 gij (GNU libgcj) version 4.1.2 20070502 (Red Hat 4.1.2-12)

The build errors also refer into this direction (libgcj.so.8rh).

Perhaps you could try to add the bin directory of a Sun Jdk 1.4.2 at the beginning
of your PATH environment variable, so that the build scripts look in this directory first
for the Java compiler.

I downloaded and installed a 1.4.2 jdk in /opt and did the following:

export PATH=/opt/j2sdk1.4.2_17/bin:$PATH

I have been able to compile a recent pMEA (mr-dev-b70) Personal Profile with GTK 1.2 after a
lot of patching (missing methods, etc.), but many things are not working properly.

Davy

bsmithnw
Offline
Joined: 2008-05-09

Hi Davy,

Thanks for the reply. Any idea if PhoneME will compile using Sun's OpenJDK?

Brian

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> Hi Davy,
>
> Thanks for the reply. Any idea if PhoneME will compile using Sun's OpenJDK?
>
> Brian
>

Hi Brian,

Although, I have not tried it myself, the OpenJDK version of javac
should also work to successfully build phoneME Advanced. We default set
the "-target 1.4" and "-source 1.4" parameters in our Makefiles, so that
enables the javac compilers from Sun (that are version 1.4.2 and
greater) compatible for the pMEA build.

Let us know if you see any problems.

Thanks,

Hinkmond

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