Active Topics

 


Reply
Thread Tools
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#1
In case someone needs to do a quick fix on the bus (haven't found any thread about this except chroot option). Managed to get Qrencode (first qt source I found) compiled with just a few steps:

Needed packages (except for standard gcc, used 4.4, 4.6/7 should work, no idea about 4.2) - libqt4-test, libsqlite3-dev, libqt4-dev

libqt4-dev from SDK repo has x86 binary of qmake. This one has ARM version:
https://garage.maemo.org/frs/downloa...0909_armel.deb

The other two packages I grabbed from marmistrz's repo I believe.

Generating makefile works. Make results in a lot of assembler errors though (Error: selected processor does not support ARM mode `ldrex r2,[r3]`). Turning off optimizations helps a bit, down to 4 errors from a few hundred. Not sure if this will help in all cases, but adding:
Code:
-march=armv7-a -marm -mfloat-abi=softfp
to CFLAGS resulted in a successful compile. Binary works.

Now to compile qtcreator...
 

The Following 9 Users Say Thank You to szopin For This Useful Post:
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#2
It works! Kind of.
There's definitely option overload in the main menu (the screenshot with horizontal lines, they are clickable though require a bit of patience), not sure how hard it would be to spread the options into two/three submenus. Some of the editable text fields also behave a bit wonky (display text once you start editing it).
Used libQtDesigner.so's from ubuntu (maemo's 4.5.3 complained on startup when loading few plugins, libqthelp seems to be working), to build you'll also need QtHelp/QtDesigner folders in /usr/include (used the ones from here: http://portal.nersc.gov/svn/visit/ta...4.7.4/include/).
You can put the softfp cflag in /usr/share/qt4/mkspecs/linux-g++-maemo5/qmake.conf to not have to edit each makefile qmake creates.
Had to use g++ 4.2, mangling of va_lists which usually is just a mildly irritating warning, here results in errors. The garage version of libqt4-dev doesn't install nicely on CSSU (depends = 4.7.0), but still works after dpkg, one just needs to update symlinks in /usr/lib. Building version 2.1.0 on non-overclocked device takes some 18 hours.
Attached Images
   
 

The Following 8 Users Say Thank You to szopin For This Useful Post:
Posts: 304 | Thanked: 176 times | Joined on Oct 2009
#3
Originally Posted by szopin View Post
It works! Kind of.
There's definitely option overload in the main menu (the screenshot with horizontal lines, they are clickable though require a bit of patience), not sure how hard it would be to spread the options into two/three submenus. Some of the editable text fields also behave a bit wonky (display text once you start editing it).
Used libQtDesigner.so's from ubuntu (maemo's 4.5.3 complained on startup when loading few plugins, libqthelp seems to be working), to build you'll also need QtHelp/QtDesigner folders in /usr/include (used the ones from here: http://portal.nersc.gov/svn/visit/ta...4.7.4/include/).
You can put the softfp cflag in /usr/share/qt4/mkspecs/linux-g++-maemo5/qmake.conf to not have to edit each makefile qmake creates.
Had to use g++ 4.2, mangling of va_lists which usually is just a mildly irritating warning, here results in errors. The garage version of libqt4-dev doesn't install nicely on CSSU (depends = 4.7.0), but still works after dpkg, one just needs to update symlinks in /usr/lib. Building version 2.1.0 on non-overclocked device takes some 18 hours.
I ported a Desktop QT application to the N900 and it was quite a mess. I had to build QT from scratch in scratchbox because it had a few missing libraries dependencies that are either not included in the CSSU or not updated. (libQtHelp, libQtCLucene just to name some). I had to include them with the application which is annoying.

I can probably provide you the natively built 4.7.4 libraries if you need them instead of using ubuntu's, but if those work then that's fine.


I mainly wanted to point out the handling of the file menu, I also have that problem where it barfs all of the options from all submenus on the Desktop into a single menu on the N900, but in my case there are so many options that I just get a blank file menu dropdown. I haven't had time to fix this but it should be possible to separate into several submenus but that requires tweaking the source. A quick 'fix' is to simply comment out declarations of several file menu commands that you deem unnecessary to shorten the list, it should make the buttons bigger.

Edit: To clarify, I pulled the QT source from the CSSU repo and built it myself in scratchbox, not the global 4.7.4 if that makes a difference.

Last edited by jessi3k3; 2013-07-12 at 12:07.
 

The Following 3 Users Say Thank You to jessi3k3 For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#4
And what about qt4-dev-arm for 4.7.4?
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here
 

The Following User Says Thank You to marmistrz For This Useful Post:
Posts: 304 | Thanked: 176 times | Joined on Oct 2009
#5
Originally Posted by marmistrz View Post
And what about qt4-dev-arm for 4.7.4?
Wouldn't that just be the packaged built shared libraries and include files?
 

The Following User Says Thank You to jessi3k3 For This Useful Post:
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#6
Originally Posted by jessi3k3 View Post
Wouldn't that just be the packaged built shared libraries and include files?
This -dev package is unlike standard ones as it contains for /usr/bin/:
Code:
lrelease      lupdate       moc           qdbuscpp2xml  qmake         rcc           uic-qt4
lrelease-qt4  lupdate-qt4   moc-qt4       qdbusxml2cpp  qmake-qt4     uic
as well (not sure if this is full binary set, as some folders were missing from /usr/include). To fix apt-get (won't let me install anything without 'fixing' libqt4-dev) I'll try to tweak the 4.7.0 deb to pretend it is .4, if you can upload the missing libQt* .so's that would be great. Will have a look at getting proper -dev 4.7.4 package later
 

The Following 4 Users Say Thank You to szopin For This Useful Post:
Posts: 304 | Thanked: 176 times | Joined on Oct 2009
#7
Originally Posted by szopin View Post
This -dev package is unlike standard ones as it contains for /usr/bin/:
Code:
lrelease      lupdate       moc           qdbuscpp2xml  qmake         rcc           uic-qt4
lrelease-qt4  lupdate-qt4   moc-qt4       qdbusxml2cpp  qmake-qt4     uic
as well (not sure if this is full binary set, as some folders were missing from /usr/include). To fix apt-get (won't let me install anything without 'fixing' libqt4-dev) I'll try to tweak the 4.7.0 deb to pretend it is .4, if you can upload the missing libQt* .so's that would be great. Will have a look at getting proper -dev 4.7.4 package later
All of those binaries are built in my /bin directory. I believe that the -qt4 are just softlinks pointing to their actual counterparts.

I'm not sure to what extend which libraries are missing, I can upload both the bin and lib directories but they're not small in size (~300mb). Give me some time.

The entire build directory is ~2GB in size.

Edit: What a gaffe, the filesize becomes bloated when I view my ext partition through windows. ext2fs for windows counts symlinks as their full size, essentially tripling the estimated file size. It's actually ~90mb when extracted.

Last edited by jessi3k3; 2013-07-12 at 23:52.
 

The Following 4 Users Say Thank You to jessi3k3 For This Useful Post:
Posts: 304 | Thanked: 176 times | Joined on Oct 2009
#8
I've uploaded an archive with all
/lib/
/bin/
/include/

files. Let me know if they work. I hope the symlinks are preserved in the archive.

Qt-4.7.4-x11-maemo.tar.gz

Also, let me know if you need anything else within the build directory.

These should be all the files, see the attached install script that I found

Notice how on the script there are missing entries for libqthelp, libqtdesigner, etc, but they're built anyways.
Attached Files
File Type: txt libqt4-dev.install.txt (1.5 KB, 165 views)

Last edited by jessi3k3; 2013-07-13 at 00:08.
 

The Following 5 Users Say Thank You to jessi3k3 For This Useful Post:
pichlo's Avatar
Posts: 6,445 | Thanked: 20,981 times | Joined on Sep 2012 @ UK
#9
Thanks for this thread!

Please excuse my ignorance but I am having some problems setting it up. This is what I get when I try to install libqt4-dev, regardless whether the one from Fremantle SDK or the one from the first post (abbreviated):
Code:
The following packages have unmet dependencies:
  libqt4-dev: Depends: libgles2-sgx-img-dev but it is not installable
              Depends: opengles-sgx-img-common-dev but it is not installable
Where can I find the two missing packages? Not in extras-*, cssu-* or fremantle-*
 
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#10
 
Reply


 
Forum Jump


All times are GMT. The time now is 10:18.