Host dependencies and checking them
abuse at basmevissen.nl
Sat Feb 20 17:52:10 EST 2021
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
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)
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
MakeMaker no ? Q
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:
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).
More information about the openwrt-devel