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

[Bug] ergodox_stm32_default.elf | arm-none-eabi-gcc: error: .build/obj_ergodox_stm32_default/lib/printf/printf.o: No such file or directory #15125

Closed
3 tasks
mianqi2016 opened this issue Nov 11, 2021 · 12 comments

Comments

@mianqi2016
Copy link

Describe the Bug

I used "qmk compile" for ergodox_stm32, there was such error prompt:
https://ibb.co/WcdPNd6

Linking: .build/ergodox_stm32_default.elf [ERRORS]
|
| arm-none-eabi-gcc: error: .build/obj_ergodox_stm32_default/lib/printf/printf.o: No such file or directory
|
make[1]: *** [tmk_core/rules.mk:351: .build/ergodox_stm32_default.elf] Error 1

System Information

  • Keyboard: ergodox_stm32
    • Revision (if applicable):
  • Operating system: Ubuntu 20.04
  • AVR GCC version:
  • ARM GCC version:
  • arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
  • QMK Firmware version:
  • qmk --version
    1.0.0

git describe --abbrev=0 --tags
0.14.16

  • Any keyboard related software installed?
    • AutoHotKey
    • Karabiner
    • Other:

Additional Context

@drashna
Copy link
Member

drashna commented Nov 19, 2021

Compiles fine for me. You're probably missing submodules.

Run make git-submodule from the qmk_firmware directory and recompile.

@mianqi2016
Copy link
Author

mianqi2016 commented Dec 2, 2021

Since the net was too slow, so I download .zip from qmk@github, while:

`qmk compile -kb ergodox_stm32 -km default
Ψ Compiling keymap with make --jobs=1 ergodox_stm32:default

⚠ "git describe --abbrev=6 --dirty --always --tags" returned error code 128
Makefile:507: *** multiple target patterns. Stop.
`

make git-submodule make: *** No rule to make target 'git-submodule'. Stop.

@fauxpark
Copy link
Member

fauxpark commented Dec 2, 2021

Downloading the zip file from GitHub won't work, you need to follow the setup instructions.

@mianqi2016
Copy link
Author

mianqi2016 commented Dec 7, 2021

Now, there is a new error:
Linking: .build/ergodox_stm32_default.elf [ERRORS] | | arm-none-eabi-gcc: error: .build/obj_ergodox_stm32_default/lib/printf/printf.o: No such file or directory | make[1]: *** [tmk_core/rules.mk:365: .build/ergodox_stm32_default.elf] Error 1 Make finished with errors

I tested crkbd, it was OK, so qmk work correctly:
`Linking: .build/crkbd_rev1_default.elf [OK]
Creating load file for flashing: .build/crkbd_rev1_default.hex [OK]
Copying crkbd_rev1_default.hex to qmk_firmware folder [OK]
Checking file size of crkbd_rev1_default.hex [OK]

  • The firmware size is fine - 25036/28672 (87%, 3636 bytes free)
    `

@drashna
Copy link
Member

drashna commented Dec 13, 2021

qmk clean -a and/or make git-submodule again.

@mianqi2016
Copy link
Author

It still was there:
arm-none-eabi-gcc: error: .build/obj_ergodox_stm32_default/lib/printf/printf.o: No such file or directory

and I saw in the folder".build/obj_ergodox_stm32_default/lib/", there was only "chibios", no "printf".

@fauxpark
Copy link
Member

fauxpark commented Dec 14, 2021

What is the output of git status and ls lib?

@mianqi2016
Copy link
Author

mianqi2016 commented Dec 15, 2021

The output for "git status":

`
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)
modified: ../../../lib/printf (modified content)
modified: ../../../lib/vusb (modified content)

no changes added to commit (use "git add" and/or "git commit -a")
`

@mianqi2016
Copy link
Author

The output of "ls lib" under "qmk_firmware":

`
arm_atsam chibios-contrib lib8tion printf usbhost
chibios googletest lufa python vusb

`

@fauxpark
Copy link
Member

Delete the lib/printf and lib/vusb folders, then run make git-submodule again.

@mianqi2016
Copy link
Author

Now, it seems OK:
`
qmk compile -kb ergodox_stm32 -km default
Ψ Compiling keymap with make --jobs=1 ergodox_stm32:default

QMK Firmware 0.15.6
Making ergodox_stm32 with keymap default

arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
Copyright (C) 2019 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.

Compiling: lib/printf/printf.c [OK]
Linking: .build/ergodox_stm32_default.elf [OK]
Creating binary load file for flashing: .build/ergodox_stm32_default.bin [OK]
Creating load file for flashing: .build/ergodox_stm32_default.hex [OK]

Size after:
text data bss dec hex filename
0 46194 0 46194 b472 .build/ergodox_stm32_default.hex

Copying ergodox_stm32_default.bin to qmk_firmware folder [OK]
(Firmware size check does not yet support STM32F103; skipping)

`
While, what does the last sentence "(Firmware size check does not yet support STM32F103; skipping)" mean?

@fauxpark
Copy link
Member

fauxpark commented Dec 16, 2021

You can ignore that, it just means you won't get the % of flash space used by the firmware at the end of compilation:

 * The firmware size is fine - 18670/28672 (65%, 10002 bytes free)

@drashna drashna closed this as completed Dec 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants