Skip to main content

pMEA mr2: how to build JSR172 without qt embedded?

16 replies [Last post]
feng_tian
Offline
Joined: 2007-09-20
Points: 0

My shell is like this:

#!/bin/sh
make \
J2ME_CLASSLIB=foundation \
USE_JUMP=true \
USE_JSR_172=true


This is what I get from http://forums.java.net/jive/thread.jspa?messageID=210502
But it gives me error:

../share/top.mk:393: Forcing J2ME_CLASSLIB=basis because USE_JUMP=true requires basis
../share/defs_qt.mk:157: *** QT_TARGET_LIB_DIR does not exist: /usr/tools/lib/linux-arm-generic/usr/lib/qt3/lib. Stop.

Can I build JSR172 without GUI?
thanks

BR
Feng

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
feng_tian
Offline
Joined: 2007-09-20
Points: 0

BTW:
I have problems when I was trying to run DemoXlet:
my command is like this (from cdc_runtime_guide.pdf):
[i]cvm com.sun.xlet.XletRunner -name basis.DemoXlet -path democlasses.jar[/i]
Then I got:
[i]java.lang.ClassNotFoundException: com/sun/xlet/XletRunner
at sun.misc.Launcher$AppClassLoader.findCountainer(Native Method)
at ...
at....
[/i]

If I use command:
[i]cvm -jar democlasses.jar[/i]
then I got:
[i]java.lang.UnstisfiedLinkError: /home/jvm_PMP/lib/libqtawt.so
at...
at...
[/i]
can you help me out with this, thanks very much :)

BR
Feng

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

If you are building with USE_JUMP=true, then XletRunner is not included in the build.

For the libqtawt.so problem, most likely your libqtawt.so is not being able to link against libqt.so (or libqt-mt.so). Make sure your qt libraries are on the LD_LIBRARY_PATH. Try ldd lib/libqtawt.so so see if it is finding all the QT library. Try building with CVM_DEBUG=true. This will give you more info when it fails to find libqtawt.so.

Chris

feng_tian
Offline
Joined: 2007-09-20
Points: 0

Thaks very much, problems fixed :)

BR
Feng.

meng_xx
Offline
Joined: 2005-08-17
Points: 0
feng_tian
Offline
Joined: 2007-09-20
Points: 0

It seems that if we want to build JSR*** we must make [i]USE_JUMP=true[/i]
And if USE_JUMP=true, the make file will always require QT embedded first, is that mandatory?

Gary Adams - Client Systems Group

I believe the JSRs are designed to be supported from an xlet(pbp) or
midlet(midp) context. It might be possible for some JSRs to run in
a CDC main application. The makefiles may not be set up for that
particular application stack.

phonemeadvanced@mobileandembedded.org wrote:
> It seems that if we want to build JSR*** we must make [i]USE_JUMP=true[/i]
> And if USE_JUMP=true, the make file will always require QT embedded first, is that mandatory?
> [Message sent by forum member 'feng_tian' (feng_tian)]
>
> http://forums.java.net/jive/thread.jspa?messageID=240450
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>

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

Gary Adams - Client Systems Group

I believe the basis dependency was for xlet rpc
mechanisms used for MIDP PushRegistry support.
Will you be running xlets, midlets, or main applications?

phonemeadvanced@mobileandembedded.org wrote:
> My shell is like this:
>
> [i]#!/bin/sh
> make \
> J2ME_CLASSLIB=foundation \
> USE_JUMP=true \
> USE_JSR_172=true[/i]
> [i]
> This is what I get from http://forums.java.net/jive/thread.jspa?messageID=210502
> But it gives me error:
>
> ../share/top.mk:393: Forcing J2ME_CLASSLIB=basis because USE_JUMP=true requires basis
> ../share/defs_qt.mk:157: *** QT_TARGET_LIB_DIR does not exist: /usr/tools/lib/linux-arm-generic/usr/lib/qt3/lib. Stop.[/i]
>
> Can I build JSR172 without GUI?
> thanks
>
> BR
> Feng
> [Message sent by forum member 'feng_tian' (feng_tian)]
>
> http://forums.java.net/jive/thread.jspa?messageID=240448
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>

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

feng_tian
Offline
Joined: 2007-09-20
Points: 0

There is no GUI for our plaform, so we don't need to display. Then we only use CDC main application.
So, as you said if we want to use JSRs we have to build qt/e even if this JSR has nothing to do with the _GUI_?

Gary Adams - Client Systems Group

You probably can modify the makefile to remove the
checks/dependencies to match what your platform requires.
You may not find that the JSR172 TCK includes support
for testing a generic JSR172/FP/CDC stack.

phonemeadvanced@mobileandembedded.org wrote:
> There is no GUI for our plaform, so we don't need to display. Then we only use CDC main application.
> So, as you said if we want to use JSRs we have to build qt/e even if this JSR has nothing to do with the _GUI_?
> [Message sent by forum member 'feng_tian' (feng_tian)]
>
> http://forums.java.net/jive/thread.jspa?messageID=240688
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>

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

Hinkmond Wong

Gary Adams - Client Systems Group wrote:
> You probably can modify the makefile to remove the
> checks/dependencies to match what your platform requires.
> You may not find that the JSR172 TCK includes support
> for testing a generic JSR172/FP/CDC stack.

Hi Tian,

Gary makes a good suggestion. Please let us know if you run into any
problems when you remove the check for the dependendency on
"J2ME_CLASSLIB=basis" in the Makefiles (*.mk files).

Thanks,
Hinkmond

> phonemeadvanced@mobileandembedded.org wrote:
>> There is no GUI for our plaform, so we don't need to display. Then we
>> only use CDC main application. So, as you said if we want to use JSRs
>> we have to build qt/e even if this JSR has nothing to do with the _GUI_?
>> [Message sent by forum member 'feng_tian' (feng_tian)]

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

feng_tian
Offline
Joined: 2007-09-20
Points: 0

Ok.
I decide build with qt/e first and then remove the dependencies.

I built qt/e first ant then copied "lib" and "include" directory to /usr/share/qte
build with:
make \
J2ME_CLASSLIB=basis \
USE_JSR_172=true \
USE_MIDP=true \
USE_JUMP=true \
QT_TARGET_DIR=/usr/share/qte \
QTOPIA=fals

but the build failed with :
../../src/share/basis/native/awt/qt/QtFontMetrics.cpp:29:36: java_awt_QtFontMetrics.h: no such file or directory
../../src/share/basis/native/awt/qt/QtFontMetrics.cpp:30:27: java_awt_Font.h: no such file or directory

Could anyone help me with this? Thanks.

feng_tian
Offline
Joined: 2007-09-20
Points: 0

This error is because that I didn't sen "QT_EMBEDDED=true"

But then when I'm trying to build again the error is:

[i]linking ../../build/linux-arm-generic/./lib/libawtjpeg.so
...
...
.....javacall_defs.h: no such file or directory
[/i]
I searched that it's in "javacall/interface/javacall_defs.h"
I was building in linux-arm env, it should not use anything from javacall directory.
Anyone can help me, thanks in advance.

feng_tian
Offline
Joined: 2007-09-20
Points: 0

I copied those needed .h files in "javacall" directory to the place, then build passed. Don't know the reason, maybe I need to set some path point to the javacall dir.
Now I'm gonna study how to build JSRs without qt/e.

feng_tian
Offline
Joined: 2007-09-20
Points: 0

I'm using pMEA mr2 b34, built in linux-arm-generic

Well the dependencies is like this:
1. JSR need "USE_JUMP=true"
2. USE_JUMP need basis
3. basis include awt
4. then awt need the support of qt/e

Firstly I removed the dependency of "JSRs need USE_JUMP=true" by:
Remove Ln 110~112 of share/defs_op.mk
build bash file is:
[i]make \
J2ME_CLASSLIB=foundation \
USE_JSR_172=true \
USE_MIDP=false \
USE_JUMP=false
[/i]
then the build throwed following errors:

.....
comiling JSROP absractions classes...
../../build/linux-arm-generic/./abstractions/generated/classes/com/sun/cdc/config/abstractions/Initializer.java:18: package com.sun.j2me.main does not exist
import com.sun.j2me.main.Configuration;
... abstractions/src/cdc_share/classes/com/sun/j2me/rms/RecordStore.java:60: cannot resolve symbol
symbol : class MIDPConfig
location....
....

Anyone could help?

Hinkmond Wong

phonemeadvanced@mobileandembedded.org wrote:
> I'm using pMEA mr2 b34, built in linux-arm-generic
>
> Well the dependencies is like this:
> 1. JSR need "USE_JUMP=true"
> 2. USE_JUMP need basis
> 3. basis include awt
> 4. then awt need the support of qt/e
>
> Firstly I removed the dependency of "JSRs need USE_JUMP=true" by:
> Remove Ln 110~112 of share/defs_op.mk
> build bash file is:
> [i]make \
> J2ME_CLASSLIB=foundation \
> USE_JSR_172=true \
> USE_MIDP=false \
> USE_JUMP=false
> [/i]
> then the build throwed following errors:
>
> .....
> comiling JSROP absractions classes...
> ../../build/linux-arm-generic/./abstractions/generated/classes/com/sun/cdc/config/abstractions/Initializer.java:18: package com.sun.j2me.main does not exist
> import com.sun.j2me.main.Configuration;
> ... abstractions/src/cdc_share/classes/com/sun/j2me/rms/RecordStore.java:60: cannot resolve symbol
> symbol : class MIDPConfig
> location....
> ....
>
> Anyone could help?

This doesn't look good. I don't think you're going to be able to build
JSR 172 for Linux/x86 without Personal Basis Profile, JUMP and QtEmbedded.

Hinkmond

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

feng_tian
Offline
Joined: 2007-09-20
Points: 0

Ok, thanks.
Then I'm gonna build with qt/e.