Notices


Reply
Thread Tools
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#451
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
 

The Following 5 Users Say Thank You to DavyP For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#452
Originally Posted by DavyP View Post
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?
 

The Following 2 Users Say Thank You to freemangordon For This Useful Post:
nicolai's Avatar
Posts: 1,637 | Thanked: 4,424 times | Joined on Apr 2009 @ Germany
#453
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?
 

The Following 2 Users Say Thank You to nicolai For This Useful Post:
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#454
Originally Posted by freemangordon View Post
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
 

The Following 4 Users Say Thank You to DavyP For This Useful Post:
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#455
Originally Posted by nicolai View Post
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
 

The Following 3 Users Say Thank You to DavyP For This Useful Post:
nicolai's Avatar
Posts: 1,637 | Thanked: 4,424 times | Joined on Apr 2009 @ Germany
#456
Originally Posted by DavyP View Post
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'
 

The Following User Says Thank You to nicolai For This Useful Post:
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#457
Originally Posted by nicolai View Post
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
 

The Following User Says Thank You to DavyP For This Useful Post:
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#458
Originally Posted by DavyP View Post
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
 

The Following 3 Users Say Thank You to DavyP For This Useful Post:
Posts: 306 | Thanked: 603 times | Joined on Jan 2012 @ Belgium
#459
Originally Posted by DavyP View Post
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
 

The Following 7 Users Say Thank You to DavyP For This Useful Post:
Posts: 136 | Thanked: 19 times | Joined on Nov 2011 @ Hungary
#460
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.
 
Reply


 
Forum Jump


All times are GMT. The time now is 15:30.