kiibohd / controller

Kiibohd Controller
GNU General Public License v3.0
807 stars 270 forks source link

Compilation Failed Error on Any Change To the Standard Layout #319

Open uphoric opened 5 years ago

uphoric commented 5 years ago

https://kiibohd.github.io/wiki/#/Keyboards/Kira

Downloaded the drivers from the link Ran the install Plugged in the keyboard Put it in flash mode Installed the drivers Donloaded Kiibohd desktop application Ran the desktop application Changed any key or LED assignment on any layer

Interestingly enough, if I don't change anything on the standard layout, I am able to flash the keyboard. I am also able to extract the .json, edit, upload, and flash. Editing the key assignments or LED's via the GUI results in an error.

uphoric commented 5 years ago

As a follow up, I was able to get a an error log by removing some of the animation profiles (miami_wave, kira_wave, etc.). After removing the profiles I tried to compile and received a Compliation Failed error. I then clicked on show log and received the following:

linux-gnu/Linux is supported. Unix Build Selected Generator: Ninja /tmp/tmp.WGF9gVvbUl VID: 0x308F (Boot: 0x308F) PID: 0x0013 (Boot: 0x0012) -- Build CPU Detected: x86_64 -- Build Kernel Detected: Linux 4.15.13-x86_64-linode106 -- Compiler Family: arm -- Compiler Selected: gcc -- Chip Selected: sam4s8b -- Chip Family: sam4s -- CPU Selected: cortex-m4 -- Compiler Source Files: Lib/sam.c;Lib/delay.c;Lib/entropy.c;Lib/gpio.c;Lib/periodic.c;Lib/storage.c;Lib/time.c;Lib/arm_cortex.c;Lib/ASF/common/services/clock/sam4s/sysclk.c;Lib/ASF/common/utils/interrupt/interrupt_sam_nvic.c;Lib/ASF/sam/drivers/efc/efc.c;Lib/ASF/sam/drivers/pmc/pmc.c;Lib/ASF/sam/utils/cmsis/sam4s/source/templates/system_sam4s.c;Lib/ASF/sam/services/flash_efc/flash_efc.c -- Bootloader Type: dfu -- The C compiler identification is GNU 6.3.1 -- Check for working C compiler: /usr/lib/ccache/arm-none-eabi-gcc -- Check for working C compiler: /usr/lib/ccache/arm-none-eabi-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Full Compiler: /usr/lib/ccache/arm-none-eabi-gcc 6.3.1 -- Detected Scan Module Source Files: Scan/Devices/ISSILed/i2c.c;Scan/Devices/ISSILed/led_scan.c;Scan/Devices/MatrixARMPeriodic/matrix_scan.c;Scan/Devices/Storage/storage.c;Scan/Kira/scan_loop.c -- Detected Macro Module Source Files: Macro/PartialMap/kll.c;Macro/PartialMap/layer.c;Macro/PartialMap/macro.c;Macro/PartialMap/result.c;Macro/PartialMap/trigger.c;Macro/PixelMap/pixel.c;/tmp/tmp.WGF9gVvbUl/generatedPixelmap.c -- Detected Output Module Source Files: Output/HID-IO/hidio_com.c;Output/Interface/output_gen.c;Output/USB/output_com.c;Output/USB/output_usb.c;Output/USB/arm/usb_desc.c;Output/USB/arm/usb_dev.c;Output/USB/arm/usb_joystick.c;Output/USB/arm/usb_keyboard.c;Output/USB/arm/usb_mem.c;Output/USB/arm/usb_mouse.c;Output/USB/arm/usb_rawio.c;Output/USB/arm/usb_serial.c;Output/USB/../../Lib/ASF/sam/drivers/udp/udp_device.c;Output/USB/../../Lib/ASF/common/services/usb/udc/udc.c;Output/USB/../../Lib/ASF/common/services/usb/class/cdc/device/udi_cdc.c -- Detected Debug Module Source Files: Debug/cli/cli.c;Debug/latency/latency.c;Debug/led/led.c;Debug/print/print.c -- Found Git: /usr/bin/git (found version "2.17.1") -- Found LSB_RELEASE: /usr/bin/lsb_release
-- Build OS Detected: Ubuntu 18.04.1 LTS bionic -- Found Ctags: /usr/bin/ctags-exuberant (found version "5.9~svn20110310") -- Found PythonInterp: python3 (found suitable version "3.6.7", minimum required is "3") -- Checking for kll -- GITHUB_APIKEY was set. -- kll Version Detected: kll 0.5.7.3 -- kll Installation Path: /root/.local/share/virtualenvs/Keyboards-41-guJFC/lib/python3.6/site-packages/kll -- kll Layouts Cache Path: /tmp/7-hid-io-layouts-c5410a1 -- Detected Layout Files: /controller/Scan/Devices/ISSILed/capabilities.kll /controller/Scan/Devices/MatrixARMPeriodic/capabilities.kll /controller/Scan/Devices/Storage/capabilities.kll /controller/Macro/PartialMap/capabilities.kll /controller/Macro/PixelMap/capabilities.kll /controller/Output/HID-IO/capabilities.kll /controller/Output/USB/capabilities.kll /controller/Debug/latency/capabilities.kll /controller/Debug/led/capabilities.kll /controller/Scan/Kira/scancode_map.kll /root/.local/share/virtualenvs/Keyboards-41-guJFC/lib/python3.6/site-packages/kll/layouts/stdFuncMap.kll /tmp/tmp.WGF9gVvbUl/Kira-Standard-0.kll /root/.local/share/virtualenvs/Keyboards-41-guJFC/lib/python3.6/site-packages/kll/layouts/stdFuncMap.kll /tmp/tmp.WGF9gVvbUl/Kira-Standard-1.kll /root/.local/share/virtualenvs/Keyboards-41-guJFC/lib/python3.6/site-packages/kll/layouts/stdFuncMap.kll /tmp/tmp.WGF9gVvbUl/Kira-Standard-2.kll -- Found DFU_SUFFIX: /usr/bin/dfu-suffix (found version "0.9") -- Found OBJDUMP: /usr/bin/arm-none-eabi-objdump
-- Configuring done -- Generating done CMake Warning (dev): Policy CMP0058 is not set: Ninja requires custom command byproducts to be explicit. Run "cmake --help-policy CMP0058" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

This project specifies custom command DEPENDS on files in the build tree that are not specified as the OUTPUT or BYPRODUCTS of any add_custom_command or add_custom_target:

Kira-Standard-0.kll Kira-Standard-1.kll Kira-Standard-2.kll

For compatibility with versions of CMake that did not have the BYPRODUCTS option, CMake is generating phony rules for such files to convince 'ninja' to build.

Project authors should add the missing BYPRODUCTS or OUTPUT options to the custom commands that produce these files. This warning is for project developers. Use -Wno-dev to suppress it.

-- Build files have been written to: /tmp/tmp.WGF9gVvbUl [1/50] Generating KLL Layout -- Generating -- /tmp/tmp.WGF9gVvbUl/kll_defs.h /tmp/tmp.WGF9gVvbUl/generatedKeymap.h /tmp/tmp.WGF9gVvbUl/usb_hid.h /tmp/tmp.WGF9gVvbUl/generatedPixelmap.c /tmp/tmp.WGF9gVvbUl/kll.json [2/50] Building C object CMakeFiles/kiibohd.dir/Lib/delay.c.obj [3/50] Building C object CMakeFiles/kiibohd.dir/main.c.obj [4/50] Building C object CMakeFiles/kiibohd.dir/Lib/gpio.c.obj [5/50] Building C object CMakeFiles/kiibohd.dir/Lib/periodic.c.obj [6/50] Building C object CMakeFiles/kiibohd.dir/Lib/storage.c.obj [7/50] Building C object CMakeFiles/kiibohd.dir/Lib/entropy.c.obj [8/50] Building C object CMakeFiles/kiibohd.dir/Lib/sam.c.obj [9/50] Building C object CMakeFiles/kiibohd.dir/Lib/arm_cortex.c.obj [10/50] Building C object CMakeFiles/kiibohd.dir/Lib/time.c.obj [11/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/common/utils/interrupt/interrupt_sam_nvic.c.obj [12/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/sam/utils/cmsis/sam4s/source/templates/system_sam4s.c.obj [13/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/sam/drivers/efc/efc.c.obj [14/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/common/services/clock/sam4s/sysclk.c.obj [15/50] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/i2c.c.obj [16/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/sam/drivers/pmc/pmc.c.obj [17/50] Building C object CMakeFiles/kiibohd.dir/Lib/ASF/sam/services/flash_efc/flash_efc.c.obj [18/50] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/kll.c.obj [19/50] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/MatrixARMPeriodic/matrix_scan.c.obj [20/50] Building C object CMakeFiles/kiibohd.dir/Scan/Kira/scan_loop.c.obj /controller/Scan/Kira/scan_loop.c: In function 'Scan_capslock': /controller/Scan/Kira/scan_loop.c:115:2: warning: implicit declaration of function 'Pixel_pixelSet' [-Wimplicit-function-declaration] Pixel_pixelSet(&Pixel_Mapping[127-1], val); ^~~~~~ [21/50] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/Storage/storage.c.obj [22/50] Building C object CMakeFiles/kiibohd.dir/Scan/Devices/ISSILed/led_scan.c.obj [23/50] Building C object CMakeFiles/kiibohd.dir/generatedPixelmap.c.obj FAILED: CMakeFiles/kiibohd.dir/generatedPixelmap.c.obj /usr/lib/ccache/arm-none-eabi-gcc -DBOARD=SAM4S_XPLAINED_PRO -DUDD_ENABLE -DSAM4S8C -I/controller -I. -I/controller/Lib/CMSIS/Include -I/controller/Lib/CMSIS/Lib/GCC -I/controller/Lib/ASF/config -I/controller/Lib/ASF/common/boards -I/controller/Lib/ASF/common/services/clock -I/controller/Lib/ASF/common/services/gpio -I/controller/Lib/ASF/common/services/ioport -I/controller/Lib/ASF/common/services/usb -I/controller/Lib/ASF/common/services/usb/class/cdc -I/controller/Lib/ASF/common/services/usb/class/cdc/device -I/controller/Lib/ASF/common/services/usb/class/hid -I/controller/Lib/ASF/common/services/usb/class/hid/device -I/controller/Lib/ASF/common/services/usb/class/hid/device/kbd -I/controller/Lib/ASF/common/services/usb/udc -I/controller/Lib/ASF/common/utils -I/controller/Lib/ASF/sam/boards -I/controller/Lib/ASF/sam/drivers/efc -I/controller/Lib/ASF/sam/drivers/pio -I/controller/Lib/ASF/sam/drivers/pmc -I/controller/Lib/ASF/sam/drivers/udp -I/controller/Lib/ASF/sam/services/flash_efc -I/controller/Lib/ASF/sam/utils -I/controller/Lib/ASF/sam/utils/cmsis/sam4s/include -I/controller/Lib/ASF/sam/utils/header_files -I/controller/Lib/ASF/sam/utils/preprocessor -mcpu=cortex-m4 -DF_CPU=120000000 -Dsam4s8b=1 -Os -mthumb -nostdlib -fdata-sections -ffunction-sections -fshort-wchar -fno-builtin -nostartfiles -fstack-protector-all -Wall -ggdb3 -std=gnu11 -fdiagnostics-color=always -I/controller/Scan/Devices/ISSILed -I/controller/Scan/Devices/MatrixARMPeriodic -I/controller/Scan/Devices/Storage -I/controller/Scan/Kira -I/controller/Macro/PartialMap -I/controller/Macro/PixelMap -I/controller/Output/HID-IO -I/controller/Output/Interface -I/controller/Output/USB -I/controller/Debug/cli -I/controller/Debug/latency -I/controller/Debug/led -I/controller/Debug/print -I/controller/Debug/full -MD -MT CMakeFiles/kiibohd.dir/generatedPixelmap.c.obj -MF CMakeFiles/kiibohd.dir/generatedPixelmap.c.obj.d -o CMakeFiles/kiibohd.dir/generatedPixelmap.c.obj -c generatedPixelmap.c generatedPixelmap.c:354:22: error: 'Animationkeys_only_rotation' undeclared here (not in a function) { (TriggerMacro*)0, Animationkeys_only_rotation, /0 Akeys_only_rotation/ ^~~~~~~~~ generatedPixelmap.c:396:22: error: 'Animationkira_wave' undeclared here (not in a function) { (TriggerMacro)0, Animation__kira_wave, /21 Akira_wave/ ^~~~~~~~ generatedPixelmap.c:398:22: error: 'Animation__miami_wave' undeclared here (not in a function) { (TriggerMacro)0, Animationmiami_wave, /22 Amiami_wave/ ^~~~~ generatedPixelmap.c:400:22: error: 'Animationorange_fade_in' undeclared here (not in a function) { (TriggerMacro*)0, Animationorange_fade_in, /23 Aorange_fade_in/ ^~~~~~~~~ generatedPixelmap.c:402:22: error: 'Animationpastel_wave' undeclared here (not in a function) { (TriggerMacro)0, Animation__pastel_wave, /24 Apastel_wave/ ^~~~~~ generatedPixelmap.c:404:22: error: 'Animation__rainbow_wave' undeclared here (not in a function) { (TriggerMacro)0, Animationrainbow_wave, /25 Arainbow_wave/ ^~~~~~~ generatedPixelmap.c:406:22: error: 'Animation__test_animation' undeclared here (not in a function) { (TriggerMacro)0, Animation__test_animation, /26 Atest_animation/ ^~~~~~~~~ generatedPixelmap.c:408:22: error: 'Animation__underlighting_only_rotation' undeclared here (not in a function) { (TriggerMacro)0, Animation__underlighting_only_rotation, /27 Aunderlighting_only_rotation/ ^~~~~~~~~~ [24/50] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/layer.c.obj [25/50] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/result.c.obj [26/50] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/trigger.c.obj [27/50] Building C object CMakeFiles/kiibohd.dir/Output/Interface/output_gen.c.obj [28/50] Building C object CMakeFiles/kiibohd.dir/Macro/PartialMap/macro.c.obj [29/50] Building C object CMakeFiles/kiibohd.dir/Output/HID-IO/hidio_com.c.obj [30/50] Building C object CMakeFiles/kiibohd.dir/Macro/PixelMap/pixel.c.obj ninja: build stopped: subcommand failed. Error in build. Exiting...

calfKillerRiver commented 5 years ago

I'm experiencing this also, on macos, although it's not for any change, just lots of them. (e.g. I was able to swap some alts/GUIs/CTRL keys on the base layer to match my laptop layout, but almost any change to layer 2 would result in a fail to compile.

romedtino commented 5 years ago

A bit of a work around that's worked for me so far if all you want to do is remove assigned key values.

  1. Switch to a compiling layout
  2. Grab the JSON file
  3. Paste in your favorite editor and for every key you want to remove the assignment
    1. Search for the key name by label e.g. FILES
    2. Remove it on the layer you don't want it on. For example:
      "layers": {
      "0": {
        "key": "F",
        "label": "F"
      },
      "1": {
        "key": "CONS:FILE BROWSER",
        "label": "FILES"
      }
      }

      becomes

      "layers": {
      "0": {
        "key": "F",
        "label": "F"
      }
      }

      The key is to not forget the , after the "0" key value

Rinse and repeat.

I think kiibohd is mainly GUI related? but I just got my Kira and was really confused why just removing the "WEB" media shortcut on my layer 1 would make it compile. There's a bug somewhere in the code and hopefully this helps people workaround it. GL!

jaredmixpanel commented 5 years ago

Download Firmware results in "Compilation Failed" 100% of the time for me. Even with no changes at all to the default standard layout. Also clicking the "SHOW LOG" button does nothing.

Kira firmware v0.5.4, macOS 10.14.2, Kiibohd 1.0

EDIT: Seems to be due to HTTP errors image