[Development] Qt-5.9.0-beta on CentOS-6.8: one minor BTN_TRIGGER_HAPPY bug

Ed Leaver ewleaver at comcast.net
Thu Mar 23 22:54:20 CET 2017


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?
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170323/344fa597/attachment.html>


More information about the Development mailing list