<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Thiago,<br>
      <br>
      BTN_TRIGGER_HAPPYxy are a group of kernel #defines, apparently for
      drivers not supported by the 2.6 kernels. Here are my dev notes:<br>
      <br>
      <blockquote> ... Qt-5.8.0 then compiled against gcc-5.4.0 with
        only one minor problem:<br>
qt-everywhere-opensource-src-5.8.0/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp<br>
        does not compile on CentOS-6.8 (apparently) because the
        2.6.32-642.el6.x86_64 kernel is too old<br>
        and does not define BTN_TRIGGER_HAPPYn (n=1,2,3,4). On Fedora 25
        these are in<br>
/lib/modules/4.9.14-200.fc25.x86_64/build/include/dt-bindings/input/linux-event-codes.h<br>
        I patched qevdevgamepadbackend.cpp with those values:<br>
        #ifndef BTN_TRIGGER_HAPPY1<br>
                #define BTN_TRIGGER_HAPPY1 0x2c0<br>
                #define BTN_TRIGGER_HAPPY2 0x2c1<br>
                #define BTN_TRIGGER_HAPPY3 0x2c2<br>
                #define BTN_TRIGGER_HAPPY4 0x2c3<br>
        #endif<br>
        directly above QEvdevGamepadDevice::resetConfiguration(), and
        then the whole Qt-5.8.0 source compiles<br>
        just fine (gcc-5.4.0), although there is a minor issue with
        final "make install" with /usr/bin/ld not having permission<br>
        to open a file named "terminal". This might not be critical,
        need to see. It may be because I paused the<br>
        CentOS-6 VM at one point during the build, when it was building
        on a partition NFS exported from the host.<br>
        <br>
        HOWEVER, the above #ifndef BTN_TRIGGER_HAPPY1 patch is
        unsatisfactory, as it allows <br>
        m_buttonsMap[BTN_TRIGGER_HAPPY1] = QGamepadManager::ButtonLeft;
        etc<br>
        assignments to array elements that the kernel probably does not
        know about. Far safer to<br>
        disable this particular gamepad plugin in
        qtgamepad/src/plugins/gamepads/gamepads.pro<br>
        I'll probably never need this gamepad controller, and if I ever
        do, it won't be on CentOS-6<br>
      </blockquote>
      Thanks again,<br>
      Ed<br>
      <br>
      On 03/23/2017 03:25 PM, Thiago Macieira wrote:<br>
    </div>
    <blockquote cite="mid:3221217.Il3lxehdtr@tjmaciei-mobl1" type="cite">
      <pre wrap="">On quinta-feira, 23 de março de 2017 13:57:07 PDT Ed Leaver wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 03/23/2017 01:43 PM, Thiago Macieira wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">On quinta-feira, 23 de março de 2017 10:59:25 PDT Ed Leaver wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">will attempt gcc-4.8.2 -no-std=c++11 in the next few days. If you think
this worthwhile, have you a Qt-5.9.0-beta source tarball?
</pre>
          </blockquote>
          <pre wrap="">
You can't turn C++11 off since 5.7.0.
</pre>
        </blockquote>
        <pre wrap="">
Thanks. Saved me some time and confusion. I didn't /personally/ wish to
turn off C++11 anyway. I'll try 5.7.0 then against gcc-4.8.2, but am
still interested in a 5.9.0-beta source tarball to test with gcc-5.4.0
and later, if such beta tarball becomes available.
</pre>
      </blockquote>
      <pre wrap="">
Hello Ed

I have no idea what BTN_TRIGGER_HAPPY is. But you can simply disable qtgamepad 
entirely if you don't plan on using it. Either don't download it, or rm -rf 
the subdir after you've downloaded it, or pass -skip qtgamepad to the 
compilation.

You should also report the failure to built from sources (FTBFS) and indicate 
which kernel version your headers are from. Since it's a macro, it is easy to 
just #ifdef around its existence. But I don't know whether the developer will 
accept the bug or they will say "sorry, your kernel is way too old, try 
upgrading". 

What kernel is that, BTW?

</pre>
    </blockquote>
    <br>
  </body>
</html>