Hi Thiago,

BTN_TRIGGER_HAPPYxy are a group of kernel #defines, apparently for drivers not supported by the 2.6 kernels. Here are my dev notes:

     ... Qt-5.8.0 then compiled against gcc-5.4.0 with only one minor
   problem:
   
qt-everywhere-opensource-src-5.8.0/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp
   does not compile on CentOS-6.8 (apparently) because the
   2.6.32-642.el6.x86_64 kernel is too old
   and does not define BTN_TRIGGER_HAPPYn (n=1,2,3,4). On Fedora 25
   these are in
   
/lib/modules/4.9.14-200.fc25.x86_64/build/include/dt-bindings/input/linux-event-codes.h
   I patched qevdevgamepadbackend.cpp with those values:
   #ifndef BTN_TRIGGER_HAPPY1
            #define BTN_TRIGGER_HAPPY1 0x2c0
            #define BTN_TRIGGER_HAPPY2 0x2c1
            #define BTN_TRIGGER_HAPPY3 0x2c2
            #define BTN_TRIGGER_HAPPY4 0x2c3
   #endif
   directly above QEvdevGamepadDevice::resetConfiguration(), and then
   the whole Qt-5.8.0 source compiles
   just fine (gcc-5.4.0), although there is a minor issue with final
   "make install" with /usr/bin/ld not having permission
   to open a file named "terminal". This might not be critical, need to
   see. It may be because I paused the
   CentOS-6 VM at one point during the build, when it was building on a
   partition NFS exported from the host.

   HOWEVER, the above #ifndef BTN_TRIGGER_HAPPY1 patch is
   unsatisfactory, as it allows
   m_buttonsMap[BTN_TRIGGER_HAPPY1] = QGamepadManager::ButtonLeft; etc
   assignments to array elements that the kernel probably does not know
   about. Far safer to
   disable this particular gamepad plugin in
   qtgamepad/src/plugins/gamepads/gamepads.pro
   I'll probably never need this gamepad controller, and if I ever do,
   it won't be on CentOS-6

Thanks again,
Ed

On 03/23/2017 03:25 PM, Thiago Macieira wrote:
On quinta-feira, 23 de março de 2017 13:57:07 PDT Ed Leaver wrote:
On 03/23/2017 01:43 PM, Thiago Macieira wrote:
On quinta-feira, 23 de março de 2017 10:59:25 PDT Ed Leaver wrote:
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?
You can't turn C++11 off since 5.7.0.
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.
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?


_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to