maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [BETA RELEASE] PhoneME Advanced (Java Mobile) (https://talk.maemo.org/showthread.php?t=81969)

DavyP 2012-03-24 12:07

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Small follow-up:

The build instructions for the library have been greatly simplified but I have to check whether the method I used before to produce libcvm.so is completely compatible with the one mentioned on the website.

I am not familiar with scratchbox to try and set up a build environment, but if someone wants to have a go it, I might be able to help with resolving the last remaining issues.

Davy

freemangordon 2012-03-24 12:12

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1183558)
Small follow-up:

The build instructions for the library have been greatly simplified but I have to check whether the method I used before to produce libcvm.so is completely compatible with the one mentioned on the website.

I am not familiar with scratchbox to try and set up a build environment, but if someone wants to have a go it, I might be able to help with resolving the last remaining issues.

Davy

I will try to build the Qt stuff later (or tomorrow).

Sorry if you've already answered, but where are the checkout/build instructions for libcvm?

nicolai 2012-03-24 13:41

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Thank you DavyP.

sharing the code and buildinstructions is great.

If you want to build libcvm with scratchbox for crosscompiling, just
change the first line of your build script from
export CVM_TARGET_TOOLS_PREFIX=/opt/arm-2011.09/bin/arm-none-linux-gnueabi-
to
export CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/arm-none-linux-gnueabi-

So, building the cvm application works, but

compiling Qt4 cvm application gives the following errors:
build/main.o: In function `resetFrameBufferSize(int, int)':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:229: undefined reference to `resizeFrameBuffer'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:231: undefined reference to `resizeFrameBuffer'
build/main.o: In function `cvm_exec()':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:146: undefined reference to `cvm_main'
build/main.o: In function `main':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:618: undefined reference to `initPixmap'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:620: undefined reference to `initPixmap'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:624: undefined reference to `initDrawChars'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:626: undefined reference to `initPlatform'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:628: undefined reference to `initGPS'

any ideas?

DavyP 2012-03-24 13:43

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by freemangordon (Post 1183559)
I will try to build the Qt stuff later (or tomorrow).

Sorry if you've already answered, but where are the checkout/build instructions for libcvm?

Like I mentioned on the previous page, they are at

http://davy.preuveneers.be/phoneme/?q=node/34

or go to http://davy.preuveneers.be/phoneme and choose in the menu Maemo/MeeGo -> Build instructions

Davy

DavyP 2012-03-24 14:04

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by nicolai (Post 1183592)
Thank you DavyP.

sharing the code and buildinstructions is great.

If you want to build libcvm with scratchbox for crosscompiling, just
change the first line of your build script from
export CVM_TARGET_TOOLS_PREFIX=/opt/arm-2011.09/bin/arm-none-linux-gnueabi-
to
export CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/arm-none-linux-gnueabi-

So, building the cvm application works, but

compiling Qt4 cvm application gives the following errors:
build/main.o: In function `resetFrameBufferSize(int, int)':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:229: undefined reference to `resizeFrameBuffer'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:231: undefined reference to `resizeFrameBuffer'
build/main.o: In function `cvm_exec()':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:146: undefined reference to `cvm_main'
build/main.o: In function `main':
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:618: undefined reference to `initPixmap'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:620: undefined reference to `initPixmap'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:624: undefined reference to `initDrawChars'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:626: undefined reference to `initPlatform'
/tmp/build_phoneme//Downloads/cvm/src/main.cpp:628: undefined reference to `initGPS'

any ideas?

I presume this is during the linking phase. Have you build the libcvm.so library? Like I said, I still have to test the build process to see if the library is fully compatible with the one I built manually. I will do so when time permits.

This library should contain the methods for which you get the errors. However, the build instructions do not include support for GPS and audio and stuff. The initPlatform and initGPS are used for those purposes.

Maybe it is better if I create a slightly trimmed down front-end so that I first get you all started with compiling the basics, without pulling in external dependencies like the customized Location API I got from another project.

Thanks for the scratchbox tip. I have built phoneME with this toolchain before, but used this cross-compiler:

http://www.scratchbox.org/download/f...-1-i386.tar.gz

I never set up the scratchbox build environment as explain over here

http://www.developer.nokia.com/Commu..._for_beginners

I installed the Qt SDK as the above website claimed this would be the best way forward.

Anyway, I had some problems with the toolchain of the Qt SDK to build phoneME. That is why I relied on the CodeSourcery toolchain, and used the Qt SDK ones to build the frontend.

If I can build both with scratchbox, I might be able to have a fully integrated build (without the need for creating a separate library).

I'd say keep an eye on my build webpage the next couple of days to see if there are any updates on how to build this thing.



Davy

nicolai 2012-03-24 14:37

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1183599)
I presume this is during the linking phase. Have you build the libcvm.so library? Like I said, I still have to test the build process to see if the library is fully compatible with the one I built manually. I will do so when time permits.

I used the "create libcvm.so manually" build instruction, the current
one with "export CVM_BUILD_SO=true"
has just more errors:

lib/libcvm.so: undefined reference to `pcsl_string_cat'
...
lib/libcvm.so: undefined reference to `pcsl_file_getusedspace'

DavyP 2012-03-24 15:19

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by nicolai (Post 1183618)
I used the "create libcvm.so manually" build instruction, the current
one with "export CVM_BUILD_SO=true"
has just more errors:

lib/libcvm.so: undefined reference to `pcsl_string_cat'
...
lib/libcvm.so: undefined reference to `pcsl_file_getusedspace'

I was afraid this would happen. The CVM_BUILD_SO is a feature that was already available in the phoneME source tree and noticed it recently while going through the build configuration files, but it does not seem to be compatible with what I need. I just compared the build commands and indeed several libs are not included.

Davy

DavyP 2012-03-24 17:00

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1183631)
I was afraid this would happen. The CVM_BUILD_SO is a feature that was already available in the phoneME source tree and noticed it recently while going through the build configuration files, but it does not seem to be compatible with what I need. I just compared the build commands and indeed several libs are not included.

Davy

I added a few more patches to my website. The build instructions remain the same.

As I have not included a detailed explanation on how to add external dependencies for Location API support, just disable call to initGPS() in the main.cpp source file of the Qt4 front end application.

This time, the libcvm.so library compiles and after commenting the initGPS() call, I don't get any undefined references anymore.

However, I cannot currently test my build on a N900, as I don't have the device with me.

This is all for now, folks.

Cheers,
Davy

DavyP 2012-03-25 21:31

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1183544)
Yes, I have not found a way for the phoneME Qt4 front end application to find the dynamically linked libcvm.so library when I put it in /opt/phoneme/bin. That is why I copied it to /usr/lib and the problem was gone.

Before, I used dlopen and dlsym routines to load the libcvm.so from the phoneme dir in /opt, but this was a mess as I had to create function pointers for all relevant methods.

If I can find a way to build the phoneME Qt4 front end and also have it look for libcvm.so in other directories than /usr/lib etc. then this is issue is solved.

PS: I am fully aware of the LD_LIBRARY_PATH environment variable, but I do not consider this as a proper solution.

Davy

I solved the library location issue by passing -Wl,-rpath,<dir> to
gcc when compiling cvm. This means the cvm application will now
look for the libcvm.so library in /opt/phoneme/bin rather than in /usr/lib

I uploaded a new build: http://davy.preuveneers.be/phoneme/public/maemo/deb/

Davy

Arthuro_Adam 2012-03-27 18:49

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Thanks for the latest update.
I don't know, were there any changes in Opera Mini landscape/portrait mode or auto-rotation, but on N9, it's still the same. After start OM is in landscape mode and no auto rotation.


All times are GMT. The time now is 16:57.

vBulletin® Version 3.8.8