Skip to main content

porting M2 with QTE support

9 replies [Last post]
huangqiqun
Offline
Joined: 2006-12-19

Dear everyone:
I want to port phoneME feature M2 with QTE support to PXA255,I don't have montavista linux,so I set GNU_TOOLS_DIR value of armlinux cross compile tools.set qte evironment according with the following link:
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatforms...

qt-embedded-2.3.10-free.tar.gz
QTDIR=/usr/qt-2.3.10

when building PCSL,errors occur!!!

$ make NETWORK_MODULE=bsd/qte GNU_TOOLS_DIR=/usr/local/arm-linux/arm-linux

building network module...
make[2]: Entering directory `/usr/phoneme_feature/pcsl/network/bsd/qte'
make[2]: *** Warning: File
`/usr/phoneme_feature/pcsl/network/bsd/qte/../../../makefiles/share/Docs.gmk'
has modification time in the future (2007-05-03 08:59:46 > 2005-07-20
07:34:45.059287)
make[2]: /opt/Qtopia/bin/moc: Command not found
make[2]: ***
[/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp]
Error 127
make[2]: Leaving directory `/usr/phoneme_feature/pcsl/network/bsd/qte'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/phoneme_feature/pcsl/network'
make: *** [all] Error 2

make[2]: /opt/Qtopia/bin/moc: Command not found
do I need Qtopia sorcecode?which version of Qtopia is suitable?
how can I fix this problem?
thanks in advance!

------------------------------------------------------
host: PC redhat 9.0
target: PXA255 armlinux

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
strim
Offline
Joined: 2006-10-20

One more idea.
Do you have Qt for desktop on your builder machine?
A there any chances the dev tools for Qt and Qt/E are
mixed during the build, and desktop tools are available
with more priority over PATH?

huangqiqun
Offline
Joined: 2006-12-19

Dear strim:

Thank you for your help!

I follow your tips:

%export QTDIR=/usr/qt-2.3.10
%export PAHT=$PAHT:$QTDIR/bin #moc tool is in $QTDIR/bin
%export LD_LIBRARY_PATH=$QTDIR/lib

when make,the moc tool could be found in the QTDIR path! the first question was sovled.

but built PCSL for i386,the errors occur.

%make clean
%make PCSL_PLATFORM=linux_i386_gcc NETWORK_MODULE=bsd/qte

the same to my second letter.

[b]Moc format conflict - please regenerate all moc files[/b]

strim
Offline
Joined: 2006-10-20

I noticed small inaccuracy here:

> %make clean
> %make PCSL_PLATFORM=linux_i386_gcc NETWORK_MODULE=bsd/qte

`make clean' started from PCSL source directory will report the following error

ERROR: PCSL_PLATFORM must be set
make: *** [PCSL_PLATFORM] Error 255

and will clean nothing for you.
Please do really clean build of PCSL, either manually deleting its output
directories, or by starting proper make clean command:

make PCSL_PLATFORM=linux_i386_gcc NETWORK_MODULE=bsd/qte clean

--
Regards,
Strim

huangqiqun
Offline
Joined: 2006-12-19

Dear Strim:
Thank you for your reply! I have builded the MR2 with QTE support successfully.

strim
Offline
Joined: 2006-10-20

Hooray :)
and my congratulations!

Have a nice time with phoneME project, and
feel free to be back with your problems to forum.
--
Regards,
Strim

strim
Offline
Joined: 2006-10-20

Dear Huangqiqun,

Yes, qt-embedded-2.3.10-free should work for you, and Qt/E libraries and tools are to be built prior phoneMe Feature building is started. In particular moc (meta object compiler) by Trolls should be ready.

I see you are building for ARM. Please note that you should build PCSL for i386 target prior to ARM:

make PCSL_PLATFORM=linux_i386_gcc NETWORK_MODULE=bsd/qte

Your second letter reports some mixed errors, as you have obtained moc_xxx files from somewhere... Please prepare Qt/E tools and libraries, and make clean PCSL build for i386 and ARM sequentially. In the case of having problems still please be back with your logs.

--
Thanks for trying phoneME Feature,
Strim

huangqiqun
Offline
Joined: 2006-12-19

Dear strim
I have tried qt-embedded-2.3.7 and qt-emnbedded-2.3.10 many times,but failure again and again, your answer is not useful.it may be a bug.

do the follow code cause the errors?

$MEHOME/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp

#if !defined(Q_MOC_OUTPUT_REVISION)
#define Q_MOC_OUTPUT_REVISION 9
#elif Q_MOC_OUTPUT_REVISION != 9
#error "[b]Moc format conflict - please regenerate all moc files[/b]"
#endif

strim
Offline
Joined: 2006-10-20

Hi Huangqiqun,

Please say me where did you get your moc?

qt-2.3.10 sources contain src/moc/ with this meta-compiler sources,
and please look at moc.y, ln 23 that defines formatRevision = 9. This
value is used later in mocgen.cpp, ln 15 - 20 to generate the check
for moc revision in moc_xxx files generated by meta compiler.

From your logs I can judge that you are either using some wrong moc
with revision not equal to 9 and obtained from 3rd party place, or your
building environment for phoneME defines in some unknown way the
macro value for Q_MOC_OUTPUT_REVISION different from 9.

Please check both case and be sure to use moc compiled by yourself
from qt-2.3.10 sources, and check that nobody wrongly defines macro
for your build. I can guarantee, the sources of phoneME Feature do
no defines for Q_MOC_OUTPUT_REVISION on their own.

Regards,
Strim

huangqiqun
Offline
Joined: 2006-12-19

building network module...
make[2]: Entering directory `/usr/phoneme_feature/pcsl/network/bsd/qte'
make[2]: *** Warning: File `/usr/phoneme_feature/pcsl/network/bsd/qte/../../../makefiles/share/Docs.gmk' has modification time in the future (2007-05-03 08:59:46 > 2005-07-19 22:47:43.539108)
In file included from pcsl_network_qte.cpp:43:
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:13:2: #error "Moc format conflict - please regenerate all moc files"
In file included from pcsl_network_qte.cpp:43:
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:43: error: no
`void VMSocket::initMetaObject()' member function declared in class `
VMSocket'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp: In
member function `void VMSocket::initMetaObject()':
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:47: error: `
badSuperclassWarning' undeclared (first use this function)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:47: error: (Each
undeclared identifier is reported only once for each function it appears
in.)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp: At
global scope:
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:54: error: prototype
for `QString VMSocket::tr(const char*)' does not match any in class `
VMSocket'
pcsl_network_qte.h:64: error: candidate is: static QString VMSocket::tr(const
char*, const char*)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp: In
static member function `static QMetaObject* VMSocket::staticMetaObject()':
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:80: error: '
class QMetaObject' has no member named 'new_metadata'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:81: error: '
class QMetaObject' has no member named 'new_metaaccess'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:83: error: '
struct QMetaData' has no member named 'ptr'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:83: error: `
QMember' undeclared (first use this function)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:83: error: parse
error before `;' token
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:86: error: '
struct QMetaData' has no member named 'ptr'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:86: error: parse
error before `;' token
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:96: error: no
matching function for call to `QMetaObject::new_metaobject(const char[9],
const char[8], QMetaData*&, int, int, int, int, int, int, int, int, int)'
qmetaobject.h:211: error: candidates are: static QMetaObject*
QMetaObject::new_metaobject(const char*, QMetaObject*, const QMetaData*,
int, const QMetaData*, int, const QMetaProperty*, int, const QMetaEnum*,
int, const QClassInfo*, int)
qmetaobject.h:219: error: static QMetaObject*
QMetaObject::new_metaobject(const char*, QMetaObject*, const QMetaData*,
int, const QMetaData*, int, const QMetaProperty*, int, const QMetaEnum*,
int, bool (*)(QObject*, int, int, QVariant*), const QClassInfo*, int)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:97: error: `
set_slot_access' undeclared (first use this function)
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:77: warning: unused
variable `void (QObject::*ov1_0)(int)'
/usr/phoneme_feature/build_output/pcsl/linux_arm/generated/moc_pcsl_network_qte.cpp:79: warning: unused
variable `void (QObject::*ov1_1)(int)'
make[2]: *** [/usr/phoneme_feature/build_output/pcsl/linux_arm/obj/pcsl_network_qte.o] Error 1
make[2]: Leaving directory `/usr/phoneme_feature/pcsl/network/bsd/qte'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/phoneme_feature/pcsl/network'
make: *** [all] Error 2

[u][i][b]Moc format conflict - please regenerate all moc files[/b][/i][/u]

How can I fix this problem?