Checking 'python3-setuptools'... failed - but it is installed

I'm running a NAS based on openmediavault which again is based on Debian 12.
I have successfully build Openwrt for my MT6000 device in the past.
After a recent "git pull" the build fails with:

ts@omv:/home/ts/openwrt$ make -j5
make[2]: Entering directory '/home/ts/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/ts/openwrt/scripts/config'
Checking 'python3-dev'... ok.
Checking 'python3-setuptools'... failed.
Checking 'swig'... ok.

u-boot: Please install the Python3 setuptools module

make[3]: *** [/home/ts/openwrt/include/prereq.mk:9: prereq] Error 1
Package prerequisite check failed.
make[2]: *** [Makefile:83: tmp/.prereq_packages] Error 1
make[1]: *** [/home/ts/openwrt/include/toplevel.mk:210: prereq] Error 2
make: *** [/home/ts/openwrt/include/toplevel.mk:230: world] Error 2

Checking for python3-setuptools

ts@omv:/home/ts/openwrt$ dpkg -l python3-setuptools
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name               Version      Architecture Description
+++-==================-============-============-=================================
ii  python3-setuptools 66.1.1-1     all          Python3 Distutils Enhancements

The same setup in a VM is working fine.

Any hints ?

Thanks,
Thomas

could be a PATH issue, could be a user issue, have you updated debian packages or kernel recently, have you tried a make clean, have you tried a make -v for a verbose output, have you rebooted the device after the new kernel or packages?

The PATH doesn't seem to be the issue

ts@omv:/root$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

root@omv:~# ls -l /*bin
lrwxrwxrwx 1 root root 7 May  5  2022 /bin -> usr/bin
lrwxrwxrwx 1 root root 8 May  5  2022 /sbin -> usr/sbin

I tried a make clean, didn't help.
I even removed the sources and did a new git clone, didn't help.
Even though it is linux and not windows, I even tried a reboot, didn't help.
While make -v just prints the version of gnu make, make V=s doesn't produce more output.
Any further hint welcome.

I have this exactly same error, how to solve it? thanks.

As my openmediavault installtion dates back to 2014 and has gone through
several debian inplace upgrades, I decided to do a fresh install.
I used omv-regen to backup the configuration, did a new install of
openmediavault and used omv-regen to restore the configuration.
Hope this helps

why bother with infamously messy python dev when you have a debian which supports docker and there is owrt builder docker available which includes all the necessary tools preinstalled nicely, isolated from your host OS/configuration/toolset?

Check

python3 -m pip freeze

If module is listed.

Thanks, I'll check it.

Thanks. This not work, bcs my ubuntu 24.04 is new installed, no PIP in it, and build openwrt was/is ok.

@brada4 and @tomtom, I have new findings:

My ubuntu 24.04 builds v23.05.3 release / snapshot old cloned (a week ago?), all ok.

Once I use snapshot new updated code, and run make menuconfig, the error comes out.

So, this error / issues, related openwrt-snapshot new code updates.

I fixed that error with pip install pyelftools

1 Like

Thanks, I installed using sudo apt install python3-pyelftools and still has the error.
pip install not work on my ubuntu.

Finally, I create a new clean openwrt building system in a new folder, no such error.

It means my ubuntu is ok, but cannot use the old backup snapshot folder from other ubuntu system for the new build, some "python tools pointers" failed in the old files. This is the openwrt makefiles probelm, thay cannot re-config the pointers according to the new ubuntu system.

often times i compile openwrt from different architectures but keep the same folder, usually what I do is just:

rm -rf feeds
scripts/feeds update -a
scripts/feeds install -a
git branch temporary
rm -rf scripts
git commit -a
(insert then some random garbage and then ctrl-c :wq)
git checkout temporary
git branch -D main
git branch main
git checkout main
git branch -D temporary

technically there's only a few binaries made for luci that stick in the feeds folder I think so instead of wiping the whole directory you might just be able to rm -rf feeds/luci instead of the whole feeds folder

1 Like

Thanks.
My error is because copy the all openwrt folders to my new ubuntu 24.04 pc from the old ubuntu pc, I donot know which step is really related the "python3-setuptools" pointers, I'll try the steps later.