Host dependencies and checking them

Bas Mevissen abuse at basmevissen.nl
Sat Feb 20 17:52:10 EST 2021


Hi all,


When starting a clean build (21.02 branch) on a clean Fedora 33 machine, 
I ran into the small issue of tools/autoconf failing to build. This was 
due to perl-File-Compare missing. I apparently missed that prerequisite. 
After installing said package, everything built fine.

Looking at the instructions at 
https://openwrt.org/docs/guide-developer/build-system/install-buildsystem#prerequisites, 
listing all prerequisites, I at first did not find perl-File-Compare. It 
was only at the distribution specific instructions for CentOS/Fedora 
that it was mentioned.

The main list does specifically mention perl-ExtUtils-MakeMaker and 
perl-Thread-Queue, so I wonder whether perl-File-Compare should be added 
there as well?

Another question regarding prerequisites: is python2 still a requirement 
for master and openwrt-21.02?

Anyway, it made me wonder whether the prerequisites list and test for at 
least the core should be revised. I took a look at the current list and 
compared them to include/prereq-build.mk from current (2021-02-20) 
openwrt-21.02 branch:

PREREQ		prereq-build.mk		needed			result
======================================================================
asciidoc	no			no?			Q
bash		yes			yes			OK
binutils	no			yes			ADD
bzip2		yes			yes			OK
flex		no			hostbuild -> no		REMOVE
git		yes			yes			OK
g++		yes (no IB)		yes			OK
gcc		yes (no IB)		yes			OK
time		no			no?			Q
getopt		yes			yes			OK
gawk		yes			yes			OK
help2man	no			no?			Q
intltool-update	no			no?			Q
libelf-dev	no			yes			ADD
libz-dev	no			yes			ADD
make		yes			yes			OK
ncurses		yes			yes			OK
openssl		no			util&lib?		Q
patch		yes			yes			OK
perl ExtUtils-
   MakeMaker	no			?			Q
perl Thread-
   Queue		yes			?			Q
python2-dev	no			no >19.07?		Q
unzip		yes			yes			OK
wget		yes			yes			OK
xgettext	no			yes			ADD
xsltproc	no			no			REMOVE
zlib		no			yes			ADD


The file prereq-build.mk does check for a number of other utilities that 
are not in the list or only in the distribution specific requirements:

Perl Data::Dumper
tar
find
xargs
seq
grep
stat
perl (5.x)
python (>=3.5)
file
rsync

Looking at the distro specific instructions, I noticed a variation in 
the advised mandatoty and optional packages to install per distro.
For example, some install asciidoc, other ccache and so on.

I would like to help cleaning this up, both the code and the 
documentation. What I need is input on what are mandatory and what are 
optional prerequisites (and a login to the wiki).

Regards,

Bas.






More information about the openwrt-devel mailing list