Active Topics

 


Reply
Thread Tools
Posts: 287 | Thanked: 165 times | Joined on Oct 2009 @ The Netherlands
#1
I'm trying to compile keepassx for Armel in scratchbox but i get this error:

/targets/FREMANTLE_X86/usr/include/qt4/QtCore/qatomic_i386.h:132: error: impossible constraint in 'asm'

I've read here:

https://wiki.maemo.org/Qt4Hildon

That i need to run qmake and ofcourse i did that (a couple of times anf qmake-qt4). It still doesn't help.

Do i need to add something to the projectfile? Or some other configuration?
 
Posts: 45 | Thanked: 15 times | Joined on Nov 2009 @ Barcelona, Spain
#2
I had the same issue after changing the target with sb-menu.
I fixed by:

make clean
qmake
make all
 

The Following User Says Thank You to cnavarro For This Useful Post:
Posts: 287 | Thanked: 165 times | Joined on Oct 2009 @ The Netherlands
#3
Originally Posted by cnavarro View Post
I had the same issue after changing the target with sb-menu.
I fixed by:

make clean
qmake
make all
I changed the target too to compile it for my device. Finally can try it

I did a make clean a couple of times too but i didn't do a make all. Lets try that. Thanks.
 
Posts: 287 | Thanked: 165 times | Joined on Oct 2009 @ The Netherlands
#4
For some reason it takes the file from /targets/FREMANTLE_X86

I did a sb-conf select FREMANTLE_ARMEL and installed qt4 development files from there.

Shouldn't that make sure a different path is used?

Last edited by robbie; 2009-12-09 at 12:17.
 
Posts: 1 | Thanked: 0 times | Joined on Apr 2010
#5
Were you able to solve this? Im trying to compile for an I.MX and get the same problem. Any solution?

Thanks!
 
Posts: 28 | Thanked: 28 times | Joined on May 2010
#6
make clean will not get rid of the Makefile's (for obvious reasons), in some packages you may have a nested qmake project structure. i.e.,
qmake (generate top level makefile)
make (executes qmake on nested qmake project file, then executes nested make).
The problem is that running qmake at the top level will not update your nested makefile, which is still setup to use the other arch.

so the solution is to just ensure that you clear out all old makefile's first. qmake has a recursive flag, but i dunno enough about qmake to verify that it can solve this problem alone.
 
fnordianslip's Avatar
Posts: 670 | Thanked: 359 times | Joined on May 2007
#7
Not really familar with qt but does 'make distclean' do anything?
__________________
Class .. : Lame hacker & beardy boffin
Humour . : [#######---] Alignment: Apathetic anarchist
Patience : [####------] Weapon(s): My cat, my code.
Agro ... : |#---------] Relic(s) : N900, MacBookPro, NSLU2, N800, SheevaPlug, Eee-901, Core2-Quad, PS3
"In theory, theory and practice are the same. In practice, they're not."
--
Beware of extras-devel.
 
Posts: 726 | Thanked: 345 times | Joined on Apr 2010 @ Sweden
#8
This error, typically, is caused by the inclusion of header files for some other platform than the intended one. When the cross compiler then tries to compile this, it fails since the inline assembler is for another architecture.

The solution, in my case, was to make sure that the include directory that was used pointed at the architecture specific location. If you are using a general packet like Qt, you also need to check if you're missing some #define that will activate inline assembler for your architecture.
 
Posts: 200 | Thanked: 44 times | Joined on Jan 2010
#9
i did make distclean this seemed to solve the problem for me. it will destroy your makefile tho.
 
Reply


 
Forum Jump


All times are GMT. The time now is 04:08.