Valgrind on Qt 5.0.1 reporting incopatible processor for Qt



  • I'm not really experienced in using the compile chain via terminal on Unix or Mac OSX, so I just assume I made a huge mistake during that, but who knows.

    I'm trying to use Valgrind with the Qt Creator on Mac OSX 10.7.5 on a Mid 2012 MacBook Pro. I'm using Qt 5.0.1 and the most recent valgrind version. I compiled valgrind using this guide: http://prateekvjoshi.wordpress.com/2013/02/27/how-to-install-valgrind-on-mac-os-x/ and had to add @#define private_extern extern@ to a few files to make it work. Google told me that.

    After compiling (and checking if it worked), I tried using valgrind in Qt Creator and via the terminal as well. Funny enough, the analyzing crashes (both times) and I get the following:

    @Incompatible processor. This Qt build requires the following features:
    sse3 ssse3
    Aborted. Incompatible processor: missing feature 0x18 - sse3.
    ** Process crashed **
    ** Analyzing finished **@

    This makes roundabout 0 sense to me. I'm developing with the Qt Creator since quite a while and compiling just works perfect. I tried using gcc instead of clang as compiler to no avail. Neither google nor the stackoverflow search did help me regarding that.

    Any ideas anyone?

    Edit: It seems not to be a problem with valgrind. Valgrind self-diagnoses flawless and if I use it on a very simple file (like int main() { return 1;}, compiled with g++) valgrind also works. Seems more to be a problem with the interaction of valgrind and qt.



  • No, it seems that the Qt binaries you have were built for an Intel processor with the SSE3 and SSSE3 extensions and that your processor lacks SSE3 or something is interfering with their use. AFAICT any processor in a recent Mac should have these extensions.

    Does a simple "Hello World" Qt program work?

    Try:
    @
    sysctl -a | grep machdep.cpu
    @
    from a Terminal and see if SSE3 (and SSSE3) are reported.



  • Hello Chris,

    the cpu built into the macbook is an i7 3650, so of course it's compatible with sse3 and ssse3. This is what doesn't make any sense to me.

    Also - compiling, debugging and everything else in Qt works. I got a 20k line codebase in qt which works without a flaw. Also, a simple
    @int main() {
    int i = 1;
    i++;
    return i;
    }@

    works with valgrind (via terminal) as well.

    As soon as I try to use valgrind on a Qt Application however, even the tiniest example apps, nothing works anymore. It starts the compiled program, crashes and posts what I wrote before.



  • Some more stuff:

    • updating to Qt 5.0.2 didn't change anything

    • recompiling valgrind didn't change anything

    • recompiling valgrind specifically for 64 bit use only (I am under the assumption that the x64 might be the issue here) didn't change anything.



  • Right. After countless times of trying to selfcompile the qt libraries, valgrind and so on, I tried installing valgrind via macports and suddenly everything works.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.