Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when building locally #631

Open
Asqiir opened this issue Jul 24, 2024 · 1 comment
Open

Error when building locally #631

Asqiir opened this issue Jul 24, 2024 · 1 comment

Comments

@Asqiir
Copy link

Asqiir commented Jul 24, 2024

I try to build the keyball/keyball39:default firmware locally.

This behaviour happens both for

  • qmk compile -kb keyball/keyball39 -km default
  • and make SKIP_GIT=yes keyball/keyball39:default

This happens:

$ qmk compile -kb keyball/keyball39 -km default
Ψ Compiling keymap with make --jobs=1 keyball/keyball39:default
 
 
QMK Firmware 0.15.13
☒ Not including data from file: keyboards/keyball/keyball39/info.json
☒     rgblight: Additional properties are not allowed ('driver' was unexpected)
Making keyball/keyball39 with keymap default
 
☒ Not including data from file: keyboards/keyball/keyball39/info.json
☒     rgblight: Additional properties are not allowed ('driver' was unexpected)
avr-gcc (GCC) 8.5.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
In file included from keyboards/keyball/lib/keyball/keyball.c:23:
keyboards/keyball/lib/keyball/keyball.h:93:16: error: ‘QK_KB_0’ undeclared here (not in a function); did you mean ‘KC_KP_0’?
     KBC_RST  = QK_KB_0, // Keyball configuration: reset to default
                ^~~~~~~
                KC_KP_0
keyboards/keyball/lib/keyball/keyball.h:94:16: error: ‘QK_KB_1’ undeclared here (not in a function); did you mean ‘MI_B_1’?
     KBC_SAVE = QK_KB_1, // Keyball configuration: save to EEPROM
                ^~~~~~~
                MI_B_1
keyboards/keyball/lib/keyball/keyball.h:96:16: error: ‘QK_KB_2’ undeclared here (not in a function); did you mean ‘MI_B_2’?
     CPI_I100 = QK_KB_2, // CPI +100 CPI
                ^~~~~~~
                MI_B_2
keyboards/keyball/lib/keyball/keyball.h:97:16: error: ‘QK_KB_3’ undeclared here (not in a function); did you mean ‘MI_B_3’?
     CPI_D100 = QK_KB_3, // CPI -100 CPI
                ^~~~~~~
                MI_B_3
keyboards/keyball/lib/keyball/keyball.h:98:16: error: ‘QK_KB_4’ undeclared here (not in a function); did you mean ‘MI_B_4’?
     CPI_I1K  = QK_KB_4, // CPI +1000 CPI
                ^~~~~~~
                MI_B_4
keyboards/keyball/lib/keyball/keyball.h:99:16: error: ‘QK_KB_5’ undeclared here (not in a function); did you mean ‘MI_B_5’?
     CPI_D1K  = QK_KB_5, // CPI -1000 CPI
                ^~~~~~~
                MI_B_5
keyboards/keyball/lib/keyball/keyball.h:103:16: error: ‘QK_KB_6’ undeclared here (not in a function); did you mean ‘KC_KP_6’?
     SCRL_TO  = QK_KB_6, // Toggle scroll mode
                ^~~~~~~
                KC_KP_6
keyboards/keyball/lib/keyball/keyball.h:104:16: error: ‘QK_KB_7’ undeclared here (not in a function); did you mean ‘KC_KP_7’?
     SCRL_MO  = QK_KB_7, // Momentary scroll mode
                ^~~~~~~
                KC_KP_7
keyboards/keyball/lib/keyball/keyball.h:105:16: error: ‘QK_KB_8’ undeclared here (not in a function); did you mean ‘KC_KP_8’?
     SCRL_DVI = QK_KB_8, // Increment scroll divider
                ^~~~~~~
                KC_KP_8
keyboards/keyball/lib/keyball/keyball.h:106:16: error: ‘QK_KB_9’ undeclared here (not in a function); did you mean ‘KC_KP_9’?
     SCRL_DVD = QK_KB_9, // Decrement scroll divider
                ^~~~~~~
                KC_KP_9
keyboards/keyball/lib/keyball/keyball.h:108:16: error: ‘QK_KB_13’ undeclared here (not in a function); did you mean ‘MI_B_3’?
     SSNP_VRT = QK_KB_13, // Set scroll snap mode as vertical
                ^~~~~~~~
                MI_B_3
keyboards/keyball/lib/keyball/keyball.h:109:16: error: ‘QK_KB_14’ undeclared here (not in a function); did you mean ‘MI_B_4’?
     SSNP_HOR = QK_KB_14, // Set scroll snap mode as horizontal
                ^~~~~~~~
                MI_B_4
keyboards/keyball/lib/keyball/keyball.h:110:16: error: ‘QK_KB_15’ undeclared here (not in a function); did you mean ‘MI_B_5’?
     SSNP_FRE = QK_KB_15, // Set scroll snap mode as disable (free scroll)
                ^~~~~~~~
                MI_B_5
keyboards/keyball/lib/keyball/keyball.h:114:16: error: ‘QK_KB_10’ undeclared here (not in a function); did you mean ‘MI_B_1’?
     AML_TO   = QK_KB_10, // Toggle automatic mouse layer
                ^~~~~~~~
                MI_B_1
keyboards/keyball/lib/keyball/keyball.h:115:16: error: ‘QK_KB_11’ undeclared here (not in a function); did you mean ‘MI_B_1’?
     AML_I50  = QK_KB_11, // Increment automatic mouse layer timeout
                ^~~~~~~~
                MI_B_1
keyboards/keyball/lib/keyball/keyball.h:116:16: error: ‘QK_KB_12’ undeclared here (not in a function); did you mean ‘MI_B_2’?
     AML_D50  = QK_KB_12, // Decrement automatic mouse layer timeout
                ^~~~~~~~
                MI_B_2
keyboards/keyball/lib/keyball/keyball.h:119:26: error: ‘QK_USER_0’ undeclared here (not in a function)
     KEYBALL_SAFE_RANGE = QK_USER_0,
                          ^~~~~~~~~
keyboards/keyball/lib/keyball/keyball.c: In function ‘keyball_oled_render_layerinfo’:
keyboards/keyball/lib/keyball/keyball.c:500:9: error: implicit declaration of function ‘get_auto_mouse_enable’ [-Werror=implicit-function-declaration]
     if (get_auto_mouse_enable()) {
         ^~~~~~~~~~~~~~~~~~~~~
keyboards/keyball/lib/keyball/keyball.c:506:26: error: implicit declaration of function ‘get_auto_mouse_timeout’; did you mean ‘has_oneshot_mods_timed_out’? [-Werror=implicit-function-declaration]
     oled_write(format_4d(get_auto_mouse_timeout() / 10) + 1, false);
                          ^~~~~~~~~~~~~~~~~~~~~~
                          has_oneshot_mods_timed_out
keyboards/keyball/lib/keyball/keyball.c: In function ‘keyboard_post_init_kb’:
keyboards/keyball/lib/keyball/keyball.c:584:9: error: implicit declaration of function ‘set_auto_mouse_enable’ [-Werror=implicit-function-declaration]
         set_auto_mouse_enable(c.amle);
         ^~~~~~~~~~~~~~~~~~~~~
keyboards/keyball/lib/keyball/keyball.c:585:9: error: implicit declaration of function ‘set_auto_mouse_timeout’; did you mean ‘has_oneshot_mods_timed_out’? [-Werror=implicit-function-declaration]
         set_auto_mouse_timeout(c.amlto == 0 ? AUTO_MOUSE_TIME : (c.amlto + 1) * AML_TIMEOUT_QU);
         ^~~~~~~~~~~~~~~~~~~~~~
         has_oneshot_mods_timed_out
keyboards/keyball/lib/keyball/keyball.c:585:47: error: ‘AUTO_MOUSE_TIME’ undeclared (first use in this function); did you mean ‘ACT_MOUSEKEY’?
         set_auto_mouse_timeout(c.amlto == 0 ? AUTO_MOUSE_TIME : (c.amlto + 1) * AML_TIMEOUT_QU);
                                               ^~~~~~~~~~~~~~~
                                               ACT_MOUSEKEY
keyboards/keyball/lib/keyball/keyball.c:585:47: note: each undeclared identifier is reported only once for each function it appears in
keyboards/keyball/lib/keyball/keyball.c: In function ‘is_mouse_record_kb’:
keyboards/keyball/lib/keyball/keyball.c:634:12: error: implicit declaration of function ‘is_mouse_record_user’; did you mean ‘is_mouse_record_kb’? [-Werror=implicit-function-declaration]
     return is_mouse_record_user(keycode, record);
            ^~~~~~~~~~~~~~~~~~~~
            is_mouse_record_kb
keyboards/keyball/lib/keyball/keyball.c: In function ‘process_record_kb’:
keyboards/keyball/lib/keyball/keyball.c:681:40: error: ‘AUTO_MOUSE_TIME’ undeclared (first use in this function); did you mean ‘ACT_MOUSEKEY’?
                 set_auto_mouse_timeout(AUTO_MOUSE_TIME);
                                        ^~~~~~~~~~~~~~~
                                        ACT_MOUSEKEY
keyboards/keyball/lib/keyball/keyball.c:741:44: error: implicit declaration of function ‘MIN’; did you mean ‘PIN0’? [-Werror=implicit-function-declaration]
                     set_auto_mouse_timeout(MIN(v, AML_TIMEOUT_MAX));
                                            ^~~
                                            PIN0
keyboards/keyball/lib/keyball/keyball.c:747:44: error: implicit declaration of function ‘MAX’ [-Werror=implicit-function-declaration]
                     set_auto_mouse_timeout(MAX(v, AML_TIMEOUT_MIN));
                                            ^~~
cc1: all warnings being treated as errors
Compiling: keyboards/keyball/lib/keyball/keyball.c                                                  [ERRORS]
 | 
 | 
 | 
make[1]: *** [tmk_core/rules.mk:457: .build/obj_keyball_keyball39_default/lib/keyball/keyball.o] Error 1
Make finished with errors
make: *** [Makefile:478: keyball/keyball39:default] Error 1

I installed gnumake, qmk, and avr-gcc.

You can get the exactly same build environment with the following nix develop environment:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
  };
  outputs = {nixpkgs,...}: let
    supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
    forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
    nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
  in {
    devShells = forAllSystems (system: let
      pkgs = nixpkgsFor.${system};
    in {
      default = pkgs.mkShell {
        packages = with pkgs; [
          gnumake
          qmk
          pkgsCross.avr.buildPackages.gcc
        ];
      };
    });
  };
}

Is there anything I am missing that should be installed, upgraded or downgraded?

Any more information I should add?

@Asqiir
Copy link
Author

Asqiir commented Jul 25, 2024

This only happens on main, it is not an issue on tag v1.3.2. Most likely a qmk firmware version issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant