Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Qt build problem
02-05-2013, 01:04 PM
Post: #1
Qt build problem
Hi, I'm trying to build the Qt version for my Ubuntu 12.04, but my GCC throw me this error: "../Common/CPUDetect.cpp:68:4: Error: PIC register clobbered by ‘ebx’ in ‘asm’"
Also, the SDL port of the same version can build successfully.
Is there any problem about my Qt or GCC or the original code?
Please help
Thanks

PS: I tried to create a copy of CPUDetect.o from my SDL build to Qt build, and it works, but I know it wasn't a good idea...
Find all posts by this user
Quote this message in a reply
02-05-2013, 01:32 PM
Post: #2
RE: Qt build problem
Is one of your builds 32-bit and the other 64-bit?
Find all posts by this user
Quote this message in a reply
02-05-2013, 01:32 PM
Post: #3
RE: Qt build problem
No wait, then it wouldn't have worked to copy the .o file.
Find all posts by this user
Quote this message in a reply
02-05-2013, 01:42 PM
Post: #4
RE: Qt build problem
(02-05-2013 01:32 PM)Henrik Wrote:  Is one of your builds 32-bit and the other 64-bit?

Both of them are 32-bit
Find all posts by this user
Quote this message in a reply
02-08-2013, 08:07 AM
Post: #5
RE: Qt build problem
So nobody knows why? Hmm...
Find all posts by this user
Quote this message in a reply
02-08-2013, 08:15 AM
Post: #6
RE: Qt build problem
Check this out: http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00324.html
Find all posts by this user
Quote this message in a reply
03-14-2013, 07:36 PM
Post: #7
RE: Qt build problem
Not sure if it's valid way to fix the problem but adding -fno-pic flag for CPUDetect.cpp compilation fixes the issue. Unfortunatly, I can't verify if it works because I have problems with Qt.
I managed to compile PPSSPP using Qt 5.0.1 but getting this if I try to execute it:

I: ../native/file/zip_read.cpp:215: I: Registered VFS for prefix : assets/
I: ../native/file/zip_read.cpp:215: I: Registered VFS for prefix : ./
QMetaObject::connectSlotsByName: No matching signal for on_language_changed(QAction*)
Cannot make QOpenGLContext current in a different thread
Aborted (core dumped)

I tried to test it using Qt 4.8.1 (in case if the problem was due to using Qt5) but I can't manage to compile because multimedia module doesn't want to work (so QAudioOutput and QAudioFormat can't be included) for some reason.
Find all posts by this user
Quote this message in a reply
03-14-2013, 11:45 PM
Post: #8
RE: Qt build problem
You need qt-mobility, I got confused as well. I think it does not work in Qt 5 right now, but I'm not sure.

As for CPUDetect - I wonder if the right way is just adding a push/pop ebx?

-[Unknown]
Find all posts by this user
Quote this message in a reply
03-15-2013, 03:40 AM (This post was last modified: 03-15-2013 03:40 AM by xsacha.)
Post: #9
RE: Qt build problem
(03-14-2013 07:36 PM)necrotek Wrote:  Cannot make QOpenGLContext current in a different thread
Aborted (core dumped)

The threading is all messed up which is the reason why the code only works on Linux X11 right now. The code randomly calls functions from other threads (which just will not work in Qt).

Are you not using X11?

If someone fixes the threading, it will work on every platform.
Find all posts by this user
Quote this message in a reply
03-15-2013, 10:20 PM
Post: #10
RE: Qt build problem
(03-14-2013 11:45 PM)[Unknown] Wrote:  You need qt-mobility
Yep, you're right. Even though it took a lot of time, I managed to install qt-mobility, compile the app and run it. It's a pity that I can't test it much at the moment (it's problematic to keep two versions under one OS so I used virtual machine for that; I didn't use static build of Qt so I can't move compiled emulator to host system). I'll try to setup Qt4 on main system later.

(03-15-2013 03:40 AM)xsacha Wrote:  Are you not using X11?
Even though I use Linux for some time, I still don't know much about technical side of it. I thought that I'm using it but after your question and my current situation with Qt5 version I'm not so sure. How can I check?
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: