Menu

simplekdebase compilation error with joystick

Help
Arthur
2006-03-05
2013-04-11
  • Arthur

    Arthur - 2006-03-05

    pasting here the output make gives me:

    then mv -f ".deps/joystick.Tpo" ".deps/joystick.Plo"; else
    In file included from joydevice.h:26,
                     from joystick.cpp:29:
    /usr/include/linux/joystick.h:131: error: '__s64' is used a
       defined as a type.
    /usr/include/linux/joystick.h:132: error: '__s64' is used a
       defined as a type.
    In file included from joydevice.h:26,
                     from joystick.cpp:29:
    /usr/include/linux/joystick.h:142:2: #error Unexpected BITS
    make[3]: ** [joystick.lo] Erro 1
    make[3]: Leaving directory `/home/carthur/Desktop/simplekde
    make[2]: ** [all-recursive] Erro 1
    make[2]: Leaving directory `/home/carthur/Desktop/simplekde
    make[1]: ** [all-recursive] Erro 1
    make[1]: Leaving directory `/home/carthur/Desktop/simplekde
    make: ** [all] Erro 2
    carthur@darkstar:~/Desktop/simplekde/simplekdebase-3.4.1$           

    what's wrong?

     
    • Luciano A Siqueira

      Hi

      This is because a confusing choice about the size of a long variable (64 and 32 bits) in the /usr/include/linux/joystick.h file. I'm using slackware 10.2 with a 2.6.13 kernel and it's includes in same version and I think this is a problem pertinent to these includes. Here is the way I solve this problem:
      as root, cd in /usr/include/linux
      copy joystick.h to joystick.h.bck
      at the end of joystick.h, replace

      struct JS_DATA_SAVE_TYPE_64 {
              __s32 JS_TIMEOUT;
              __s32 BUSY;
              __s64 JS_EXPIRETIME;
              __s64 JS_TIMELIMIT;
              struct JS_DATA_TYPE JS_SAVE;
              struct JS_DATA_TYPE JS_CORR;
      };

      #if BITS_PER_LONG == 64
      #define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_64
      #elif BITS_PER_LONG == 32
      #define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_32
      #else
      #error Unexpected BITS_PER_LONG
      #endif

      #endif /* _LINUX_JOYSTICK_H */

      with

      #define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_32

      #endif /* _LINUX_JOYSTICK_H */

      after that the compilation should run ok. I move back joystick.h.bck to keep things original.
      Perhaps you'll get a later error about the version of automake, just follow the instructions printed by the script to get rid of it.

       

Log in to post a comment.

MongoDB Logo MongoDB