idf.py build progress showing percentage instead of line numbers

User avatar
mbratch
Posts: 317
Joined: Fri Jun 11, 2021 1:51 pm

idf.py build progress showing percentage instead of line numbers

Postby mbratch » Tue Apr 14, 2026 4:19 pm

I have esp-idf 5.5.3 installed on two different machines. I might have installed them using the same procedure, I don't recall. But I did not set any special options or anything.

I've been through a lot of esp-idf upgrades and installs, and when I do an "idf.py build" it has always shown the progress as line number ([current-line / total-lines]). However, one of my two current installations has a different looking output. It's a bit more verbose but not nearly as verbose as using the -v option. Also, it shows progress as [XX %] instead of line numbers.

This is no big deal but I have a soft preference for the line numbers. Anyone know how to control what this output looks like? I read through the doc page for idf.py but didn't see anything about it.

nopnop2002
Posts: 347
Joined: Thu Oct 03, 2019 10:52 pm
Contact:

Re: idf.py build progress showing percentage instead of line numbers

Postby nopnop2002 » Wed Apr 15, 2026 12:02 pm

Is it possible that the versions of ESP-IDF installed on the two PCs are different?
You can check the ESP-IDF version with this command.

Code: Select all

$ idf.py --version
ESP-IDF v5.5.3-dirty

User avatar
mbratch
Posts: 317
Joined: Fri Jun 11, 2021 1:51 pm

Re: idf.py build progress showing percentage instead of line numbers

Postby mbratch » Thu Apr 16, 2026 1:14 pm

Is it possible that the versions of ESP-IDF installed on the two PCs are different?
You can check the ESP-IDF version with this command.

Code: Select all

$ idf.py --version
ESP-IDF v5.5.3-dirty
Good question! They both show ESP-IDF v5.5.3.
It seems like there must be some kind of option or something that drives this format of output. I've been through many ESP-IDF versions over the last few years and have never seen this particular build output format;

Code: Select all

[ 31%] Building C object esp-idf/vfs/CMakeFiles/__idf_vfs.dir/vfs_eventfd.c.obj
[ 31%] Building C object esp-idf/vfs/CMakeFiles/__idf_vfs.dir/vfs_semihost.c.obj
[ 32%] Building C object esp-idf/vfs/CMakeFiles/__idf_vfs.dir/nullfs.c.obj
[ 32%] Linking C static library libvfs.a

nopnop2002
Posts: 347
Joined: Thu Oct 03, 2019 10:52 pm
Contact:

Re: idf.py build progress showing percentage instead of line numbers

Postby nopnop2002 » Thu Apr 16, 2026 1:40 pm

I don't know what caused it, but it's very interesting.
Is it possible that the versions of ninja installed on the two PCs are different?

Code: Select all

$ ninja --version
1.11.1

User avatar
mbratch
Posts: 317
Joined: Fri Jun 11, 2021 1:51 pm

Re: idf.py build progress showing percentage instead of line numbers

Postby mbratch » Thu Apr 16, 2026 4:43 pm

I don't know what caused it, but it's very interesting.
Is it possible that the versions of ninja installed on the two PCs are different?

Code: Select all

$ ninja --version
1.11.1
Is it possible that my environment uses an alternative to ninja? It is not in one of my .espressif installations. This is the one that does percentages. This environment is Ubuntu running in a VirtualBox.

My other environment, which shows line numbers, is running ninja 1.12.1. It's native Ubuntu.

nopnop2002
Posts: 347
Joined: Thu Oct 03, 2019 10:52 pm
Contact:

Re: idf.py build progress showing percentage instead of line numbers

Postby nopnop2002 » Fri Apr 17, 2026 3:59 am

Is it possible that my environment uses an alternative to ninja?
Maybe so.

In environments where ninja is installed, idf.py use ninja.
`idf.py build` will display this:

Code: Select all

Executing "ninja all"...
[4/1085] Generating ../../partition_table/partition-table.bin
In environments where ninja is not installed, idf.py use make.
`idf.py build` will display this:

Code: Select all

Executing "make -j 6 all"...
[  0%] Generating ../../partition_table/partition-table.bin
[  1%] Generating project_elf_src_esp32.c
[  1%] Generating /home/nop/rtos/version/build/esp-idf/esp_system/ld/sections.ld.in linker script...
[  1%] Generating /home/nop/rtos/version/build/esp-idf/esp_system/ld/memory.ld linker script...
[  1%] Built target custom_bundle
[  1%] Built target _project_elf_src
[  1%] Built target sections.ld.in
My other environment, which shows line numbers, is running ninja 1.12.1. It's native Ubuntu.
Try this on native Ubuntu.

Code: Select all

$ sudo apt remove --purge ninja-build
$ idf.py fullclean
$ idf.py build

Executing "make -j 6 all"...

$ sudo apt install ninja-build
$ idf.py fullclean
$ idf.py build

Executing "ninja all"...

User avatar
mbratch
Posts: 317
Joined: Fri Jun 11, 2021 1:51 pm

Re: idf.py build progress showing percentage instead of line numbers

Postby mbratch » Sat Apr 18, 2026 1:56 am

Thanks @nopnop2002. What you describe explains what I'm seeing. I don't recall doing anything but a "default" procedure installing ESP-IDF on either platform, but on the virtual box, it must have gone down the "make" path. It's functioning properly, so I may leave it be ("let a sleeping dog lie..." "if it ain't broke, don't fix it..." etc :))

Who is online

Users browsing this forum: No registered users and 13 guests