Talk:How to run OpenMoko Apps on PC

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Use Qemu)
(no autogen in openmoko-libs)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
What about running apps under an emulator instead of building them for the PC ?  Ideally use the OE stuff to build a diskimage and point the emulator at that to 'boot' off of and run, etc.
+
Question: What about running apps under an emulator instead of building them for the PC ?  Ideally use the OE stuff to build a diskimage and point the emulator at that to 'boot' off of and run, etc.
  
== Use Qemu ==
+
Answer: That's what Qemu is for. Use OpenEmbedded to produce openmoko-devel-image for MACHINE = "qemuarm".
  
That's what Qemu is for. Use OpenEmbedded to produce openmoko-devel-image for MACHINE = "qemuarm".
+
Q2: That's just yet another target; I could build them for PPC too if I wanted, sure, but it's not *useful*.  What I'm looking for is a way to build the exact same bits you'd build for the Neo itself and have them runnable by pointing an emulator at them. Does *that* exist?  Qemu looks like the core of something that might work that way, but definitely not quite there.
 +
 
 +
== Problems with build on Ubuntu Edgy ==
 +
 
 +
1. I checked out svn version 993. 
 +
2. Installed some qt development packages to get qmake. 
 +
3. cd into OM-2007 as per instructions.
 +
4. type>qmake (no output, ok?)
 +
5. type>make and get (failure):
 +
 
 +
<code>
 +
cd openmoko-libs && qmake openmoko-libs.pro -o Makefile
 +
cd openmoko-libs && make -f Makefile
 +
make[1]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs'
 +
cd libmokocore && qmake libmokocore.pro -o Makefile
 +
Cannot find directory: /devel/qmake
 +
cd libmokocore && make -f Makefile
 +
make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokocore'
 +
rm -f libmokocore.so.0.0.1 libmokocore.so libmokocore.so.0 libmokocore.so.0.0
 +
g++ -shared -Wl,-soname,libmokocore.so.0 -o libmokocore.so.0.0.1    -L/usr/share/qt3/lib -lqt-mt -lpthread
 +
ln -s libmokocore.so.0.0.1 libmokocore.so
 +
ln -s libmokocore.so.0.0.1 libmokocore.so.0
 +
ln -s libmokocore.so.0.0.1 libmokocore.so.0.0
 +
make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokocore'
 +
cd libmokonet && qmake libmokonet.pro -o Makefile
 +
Cannot find directory: /devel/qmake
 +
cd libmokonet && make -f Makefile
 +
make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokonet'
 +
rm -f libmokonet.so.0.0.1 libmokonet.so libmokonet.so.0 libmokonet.so.0.0
 +
g++ -shared -Wl,-soname,libmokonet.so.0 -o libmokonet.so.0.0.1    -L/usr/share/qt3/lib -lqt-mt -lpthread
 +
ln -s libmokonet.so.0.0.1 libmokonet.so
 +
ln -s libmokonet.so.0.0.1 libmokonet.so.0
 +
ln -s libmokonet.so.0.0.1 libmokonet.so.0.0
 +
make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokonet'
 +
cd libmokoui && qmake libmokoui.pro -o Makefile
 +
Cannot find directory: /devel/qmake
 +
WARNING: Failure to find: moko-nativation-list.h
 +
cd libmokoui && make -f Makefile
 +
make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokoui'
 +
gcc -c -pipe -Wall -W -O2 -D_REENTRANT -fPIC  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -o moko-alignment.o moko-alignment.c
 +
In file included from moko-alignment.c:20:
 +
moko-alignment.h:22:30: error: gtk/gtkalignment.h: No such file or directory
 +
moko-alignment.h:24:25: error: glib-object.h: No such file or directory
 +
In file included from moko-alignment.c:20:
 +
moko-alignment.h:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
 +
moko-alignment.h:40: error: expected specifier-qualifier-list before ‘GtkAlignmentClass’
 +
moko-alignment.h:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘moko_alignment_get_type’
 +
moko-alignment.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
 +
moko-alignment.c:30: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘G_DEFINE_TYPE’
 +
moko-alignment.c:41: error: expected ‘)’ before ‘*’ token
 +
moko-alignment.c:42: error: expected ‘)’ before ‘*’ token
 +
moko-alignment.c:43: error: expected ‘)’ before ‘*’ token
 +
moko-alignment.c: In function ‘moko_alignment_class_init’:
 +
moko-alignment.c:50: error: ‘parent_class’ undeclared (first use in this function)
 +
moko-alignment.c:50: error: (Each undeclared identifier is reported only once
 +
moko-alignment.c:50: error: for each function it appears in.)
 +
moko-alignment.c:50: warning: implicit declaration of function ‘g_type_class_peek_parent’
 +
moko-alignment.c:51: error: ‘GtkWidgetClass’ undeclared (first use in this function)
 +
moko-alignment.c:51: error: ‘widget_class’ undeclared (first use in this function)
 +
moko-alignment.c:51: warning: implicit declaration of function ‘GTK_WIDGET_CLASS’
 +
moko-alignment.c:54: warning: implicit declaration of function ‘g_type_class_add_private’
 +
moko-alignment.c:57: error: ‘moko_alignment_realize’ undeclared (first use in this function)
 +
moko-alignment.c:58: error: ‘moko_alignment_size_request’ undeclared (first use in this function)
 +
moko-alignment.c:59: error: ‘moko_alignment_size_allocate’ undeclared (first use in this function)
 +
moko-alignment.c:62: warning: implicit declaration of function ‘gtk_widget_class_install_style_property’
 +
moko-alignment.c:62: warning: implicit declaration of function ‘g_param_spec_boxed’
 +
moko-alignment.c:66: error: ‘GTK_TYPE_BORDER’ undeclared (first use in this function)
 +
moko-alignment.c:66: error: ‘G_PARAM_READABLE’ undeclared (first use in this function)
 +
moko-alignment.c: In function ‘moko_alignment_init’:
 +
moko-alignment.c:74: warning: implicit declaration of function ‘GTK_WIDGET_UNSET_FLAGS’
 +
moko-alignment.c:74: warning: implicit declaration of function ‘GTK_WIDGET’
 +
moko-alignment.c:74: error: ‘GTK_NO_WINDOW’ undeclared (first use in this function)
 +
moko-alignment.c: At top level:
 +
moko-alignment.c:77: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
 +
moko-alignment.c:83: error: expected ‘)’ before ‘*’ token
 +
moko-alignment.c:120: error: expected ‘)’ before ‘*’ token
 +
moko-alignment.c:200: error: expected ‘)’ before ‘*’ token
 +
make[2]: *** [moko-alignment.o] Error 1
 +
make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokoui'
 +
make[1]: *** [sub-libmokoui] Error 2
 +
make[1]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs'
 +
make: *** [sub-openmoko-libs] Error 2
 +
</code>
 +
 
 +
Looks like it starts with some missing include files?  Anyone have any ideas?
 +
 
 +
Thanks.
 +
 
 +
== Missing libgsmd ==
 +
 
 +
I tried to build trunk/src/target/OM-2007/openmoko-libs, but ./autogen.sh (or the called ./configure, i guess) complains about the missing libgsmd.
 +
 
 +
I did an ./autogen.sh ; make; make install in trunk/src/target/gsm. That seems to fix the problem. Is this the way to go?
 +
 
 +
--[[User:Shahn|Shahn]] 15:35, 8 May 2007 (CEST)
 +
 
 +
== no autogen in openmoko-libs ==
 +
 
 +
How comes I have to autogen.sh in $OPENMOKODIR/openmoko-libs ? [[User:Micktaiwan|micktaiwan]] 18:12, 2 March 2008 (CET)

Latest revision as of 19:12, 2 March 2008

Question: What about running apps under an emulator instead of building them for the PC ? Ideally use the OE stuff to build a diskimage and point the emulator at that to 'boot' off of and run, etc.

Answer: That's what Qemu is for. Use OpenEmbedded to produce openmoko-devel-image for MACHINE = "qemuarm".

Q2: That's just yet another target; I could build them for PPC too if I wanted, sure, but it's not *useful*. What I'm looking for is a way to build the exact same bits you'd build for the Neo itself and have them runnable by pointing an emulator at them. Does *that* exist? Qemu looks like the core of something that might work that way, but definitely not quite there.

[edit] Problems with build on Ubuntu Edgy

1. I checked out svn version 993. 2. Installed some qt development packages to get qmake. 3. cd into OM-2007 as per instructions. 4. type>qmake (no output, ok?) 5. type>make and get (failure):

cd openmoko-libs && qmake openmoko-libs.pro -o Makefile cd openmoko-libs && make -f Makefile make[1]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs' cd libmokocore && qmake libmokocore.pro -o Makefile Cannot find directory: /devel/qmake cd libmokocore && make -f Makefile make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokocore' rm -f libmokocore.so.0.0.1 libmokocore.so libmokocore.so.0 libmokocore.so.0.0 g++ -shared -Wl,-soname,libmokocore.so.0 -o libmokocore.so.0.0.1 -L/usr/share/qt3/lib -lqt-mt -lpthread ln -s libmokocore.so.0.0.1 libmokocore.so ln -s libmokocore.so.0.0.1 libmokocore.so.0 ln -s libmokocore.so.0.0.1 libmokocore.so.0.0 make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokocore' cd libmokonet && qmake libmokonet.pro -o Makefile Cannot find directory: /devel/qmake cd libmokonet && make -f Makefile make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokonet' rm -f libmokonet.so.0.0.1 libmokonet.so libmokonet.so.0 libmokonet.so.0.0 g++ -shared -Wl,-soname,libmokonet.so.0 -o libmokonet.so.0.0.1 -L/usr/share/qt3/lib -lqt-mt -lpthread ln -s libmokonet.so.0.0.1 libmokonet.so ln -s libmokonet.so.0.0.1 libmokonet.so.0 ln -s libmokonet.so.0.0.1 libmokonet.so.0.0 make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokonet' cd libmokoui && qmake libmokoui.pro -o Makefile Cannot find directory: /devel/qmake WARNING: Failure to find: moko-nativation-list.h cd libmokoui && make -f Makefile make[2]: Entering directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokoui' gcc -c -pipe -Wall -W -O2 -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -o moko-alignment.o moko-alignment.c In file included from moko-alignment.c:20: moko-alignment.h:22:30: error: gtk/gtkalignment.h: No such file or directory moko-alignment.h:24:25: error: glib-object.h: No such file or directory In file included from moko-alignment.c:20: moko-alignment.h:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’ moko-alignment.h:40: error: expected specifier-qualifier-list before ‘GtkAlignmentClass’ moko-alignment.h:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘moko_alignment_get_type’ moko-alignment.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token moko-alignment.c:30: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘G_DEFINE_TYPE’ moko-alignment.c:41: error: expected ‘)’ before ‘*’ token moko-alignment.c:42: error: expected ‘)’ before ‘*’ token moko-alignment.c:43: error: expected ‘)’ before ‘*’ token moko-alignment.c: In function ‘moko_alignment_class_init’: moko-alignment.c:50: error: ‘parent_class’ undeclared (first use in this function) moko-alignment.c:50: error: (Each undeclared identifier is reported only once moko-alignment.c:50: error: for each function it appears in.) moko-alignment.c:50: warning: implicit declaration of function ‘g_type_class_peek_parent’ moko-alignment.c:51: error: ‘GtkWidgetClass’ undeclared (first use in this function) moko-alignment.c:51: error: ‘widget_class’ undeclared (first use in this function) moko-alignment.c:51: warning: implicit declaration of function ‘GTK_WIDGET_CLASS’ moko-alignment.c:54: warning: implicit declaration of function ‘g_type_class_add_private’ moko-alignment.c:57: error: ‘moko_alignment_realize’ undeclared (first use in this function) moko-alignment.c:58: error: ‘moko_alignment_size_request’ undeclared (first use in this function) moko-alignment.c:59: error: ‘moko_alignment_size_allocate’ undeclared (first use in this function) moko-alignment.c:62: warning: implicit declaration of function ‘gtk_widget_class_install_style_property’ moko-alignment.c:62: warning: implicit declaration of function ‘g_param_spec_boxed’ moko-alignment.c:66: error: ‘GTK_TYPE_BORDER’ undeclared (first use in this function) moko-alignment.c:66: error: ‘G_PARAM_READABLE’ undeclared (first use in this function) moko-alignment.c: In function ‘moko_alignment_init’: moko-alignment.c:74: warning: implicit declaration of function ‘GTK_WIDGET_UNSET_FLAGS’ moko-alignment.c:74: warning: implicit declaration of function ‘GTK_WIDGET’ moko-alignment.c:74: error: ‘GTK_NO_WINDOW’ undeclared (first use in this function) moko-alignment.c: At top level: moko-alignment.c:77: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token moko-alignment.c:83: error: expected ‘)’ before ‘*’ token moko-alignment.c:120: error: expected ‘)’ before ‘*’ token moko-alignment.c:200: error: expected ‘)’ before ‘*’ token make[2]: *** [moko-alignment.o] Error 1 make[2]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs/libmokoui' make[1]: *** [sub-libmokoui] Error 2 make[1]: Leaving directory `/home/esalazar/openmoko/trunk/src/target/OM-2007/openmoko-libs' make: *** [sub-openmoko-libs] Error 2

Looks like it starts with some missing include files? Anyone have any ideas?

Thanks.

[edit] Missing libgsmd

I tried to build trunk/src/target/OM-2007/openmoko-libs, but ./autogen.sh (or the called ./configure, i guess) complains about the missing libgsmd.

I did an ./autogen.sh ; make; make install in trunk/src/target/gsm. That seems to fix the problem. Is this the way to go?

--Shahn 15:35, 8 May 2007 (CEST)

[edit] no autogen in openmoko-libs

How comes I have to autogen.sh in $OPENMOKODIR/openmoko-libs ? micktaiwan 18:12, 2 March 2008 (CET)

Personal tools

What about running apps under an emulator instead of building them for the PC ? Ideally use the OE stuff to build a diskimage and point the emulator at that to 'boot' off of and run, etc.

Use Qemu

That's what Qemu is for. Use OpenEmbedded to produce openmoko-devel-image for MACHINE = "qemuarm".