Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:guide-developer:toolchain:install-buildsystem [2022/12/09 11:42] – add notice about python2 dependency on Alpine Linux paper42docs:guide-developer:toolchain:install-buildsystem [2024/09/30 18:39] (current) – [Void] Remove Python 2 and add missing packages from the requirements table harpia
Line 11: Line 11:
  
 <sortable> <sortable>
-^ Prerequisite ^ Debian ^ SUSE ^ Red Hat ^ macOS (via MacPorts) ^ Fedora ^ Arch ^ Gentoo ^ +^ Prerequisite                       ^ Debian                    ^ SUSE                     ^ Red Hat                  ^ macOS (via MacPorts)   ^ Fedora                   ^ Arch                     ^ Gentoo                           
-| asciidoc | asciidoc | asciidoc | asciidoc | asciidoc | asciidoc | asciidoc | app-text/asciidoc | +| asciidoc                           | asciidoc                  | asciidoc                 | asciidoc                 | asciidoc               | asciidoc                 | asciidoc                 | app-text/asciidoc                
-| [[wp>Bash (Unix shell)|GNU Bash]] | bash |bash| bash | bash | bash| bash| app-shells/bash | +| [[wp>Bash (Unix shell)|GNU Bash]]  | bash                      | bash                     | bash                     | bash                   | bash                     | bash                     | app-shells/bash                  
-| [[wp>GNU Binutils]] | binutils | binutils| binutils| binutils| binutils| binutils| sys-devel/binutils | +| [[wp>GNU Binutils]]                | binutils                  | binutils                 | binutils                 | binutils               | binutils                 | binutils                 | sys-devel/binutils               
-| [[wp>bzip2]] | bzip2 | bzip2| bzip2| bzip2| bzip2| bzip2| app-arch/bzip2 | +| [[wp>bzip2]]                       | bzip2                     | bzip2                    | bzip2                    | bzip2                  | bzip2                    | bzip2                    | app-arch/bzip2                   
-| [[wp>flex lexical analyser|flex]] | flex|flex| flex | flex| flex| flex| sys-devel/flex | +| [[wp>flex lexical analyser|flex]]  | flex                      | flex                     | flex                     | flex                   | flex                     | flex                     | sys-devel/flex                   
-| [[wp>Git (software)|git]] | git-core| git-core| git | git-core | git | git| dev-vcs/git | +| [[wp>Git (software)|git]]          | git                       | git-core                 | git                      | git-core               | git                      | git                      | dev-vcs/git                      
-| [[wp>GNU C++ Compiler]] | %%g++%% | %%gcc-c++%% | %%gcc-c++%% | ? | %%gcc-c++%% | gcc | sys-devel/gcc | +| [[wp>GNU C++ Compiler]]            | %%g++%%                   | %%gcc-c++%%              | %%gcc-c++%%              | ?                      | %%gcc-c++%%              | gcc                      | sys-devel/gcc                    
-| [[wp>GNU C Compiler]] | gcc| gcc| gcc| ?| gcc| gcc| sys-devel/gcc | +| [[wp>GNU C Compiler]]              | gcc                       | gcc                      | gcc                      | ?                      | gcc                      | gcc                      | sys-devel/gcc                    
-| GNU Time | | ? | ? | gtime | ? | time | sys-process/time | +| GNU Time                           time                      | ?                        | ?                        | gtime                  | ?                        | time                     | sys-process/time                 
-| getopt | util-linux | util-linux | util-linux | getopt| util-linux | util-linux | sys-apps/util-linux | +| getopt                             | util-linux                | util-linux               | util-linux               | getopt                 | util-linux               | util-linux               | sys-apps/util-linux              
-| [[wp>GNU awk]] | gawk| gawk| gawk| gawk| gawk| gawk| sys-apps/gawk | +| [[wp>GNU awk]]                     | gawk                      | gawk                     | gawk                     | gawk                   | gawk                     | gawk                     | sys-apps/gawk                    | 
-| help2man | help2man | ? | ? | help2man | help2man | help2man | sys-apps/help2man | +| [[wp>gzip]]                        | gzip                      | gzip                     | gzip                     | gzip                   | gzip                     | gzip                     | app-arch/gzip                    
-| intltool-update | intltool| intltool| intltool| intltool| intltool| intltool | dev-util/intltool | +| help2man                           | help2man                  | ?                        | ?                        | help2man               | help2man                 | help2man                 | sys-apps/help2man                
-| libelf-dev | libelf-dev | ? | ? | libelf | elfutils-libelf-devel | libelf | virtual/libelf | +| intltool-update                    | intltool                  | intltool                 | intltool                 | intltool               | intltool                 | intltool                 | dev-util/intltool                
-| libz, libz-dev | zlib1g-dev | zlib-devel| zlib-devel| zlib, libzip, libzzip | zlib-devel| zlib | sys-libs/zlib | +| libelf-dev                         | libelf-dev                | ?                        | ?                        | libelf                 | elfutils-libelf-devel    | libelf                   | virtual/libelf                   
-| [[wp>make (software) | GNU make]] | make | make| make | gmake| make| make | sys-devel/make | +| libz, libz-dev                     | zlib1g-dev                | zlib-devel               | zlib-devel               | zlib, libzip, libzzip  | zlib-devel               | zlib                     | sys-libs/zlib                    
-| [[wp>ncurses]] | libncurses5-dev| ncurses-devel| ncurses-devel| ncurses| ncurses-devel| ncurses | sys-libs/ncurses | +| [[wp>make (software)| GNU make]]   | make                      | make                     | make                     | gmake                  | make                     | make                     | sys-devel/make                   
-| openssl/ssl.h | libssl-dev| libopenssl-devel| openssl-devel| openssl| openssl-devel| openssl | dev-libs/openssl | +| [[wp>ncurses]]                     libncurses-dev            | ncurses-devel            | ncurses-devel            | ncurses                | ncurses-devel            | ncurses                  | sys-libs/ncurses                 
-| patch| patch | patch | patch | patchutils| patch| patch | sys-devel/patch | +| openssl/ssl.h                      | libssl-dev                | libopenssl-devel         | openssl-devel            | openssl                | openssl-devel            | openssl                  | dev-libs/openssl                 
-| perl-ExtUtils-MakeMaker| perl-modules | perl-ExtUtils-MakeMaker| perl-ExtUtils-MakeMaker| p5-extutils-makemaker| perl-ExtUtils-MakeMaker| perl-extutils-makemaker | virtual/perl-ExtUtils-MakeMaker | +| patch                              | patch                     | patch                    | patch                    | patchutils             | patch                    | patch                    | sys-devel/patch                  
-| perl-Thread-Queue | | ? | ? | ? | perl-Thread-Queue | ? | virtual/perl-Thread-Queue | +| perl-ExtUtils-MakeMaker            | perl-modules              | perl-ExtUtils-MakeMaker  | perl-ExtUtils-MakeMaker  | p5-extutils-makemaker  | perl-ExtUtils-MakeMaker  | perl-extutils-makemaker  | virtual/perl-ExtUtils-MakeMaker  
-| python2-dev | python2-dev | python-devel | ?| python27 | ? | python2 | dev-lang/python:2 | +| perl-Thread-Queue                  libthread-queue-any-perl  | ?                        | ?                        | ?                      | perl-Thread-Queue        | ?                        | virtual/perl-Thread-Queue        
-| ? | python3-dev | ? | ? | python310 | ? | ? | ? | +| python2-dev                        | python2-dev               | python-devel             | ?                        | python27               | ?                        | python2                  | dev-lang/python:               
-| unzip | unzip| unzip| unzip| unzip| unzip| unzip | app-arch/unzip | +| ?                                  | python3-dev               | ?                        | ?                        | python310              | ?                        | ?                        | ?                                | 
-| [[wp>GNU Wget]] | wget | wget| wget| wget| wget| wget | net-misc/wget | +| [[wp>SWIG]]                        | swig                      | swig                     | swig                     | swig                   | swig                     | swig                     | dev-lang/swig                    
-| xgettext | gettext| gettext-tools| gettext | gettext| gettext| gettext | sys-devel/gettext | +| unzip                              | unzip                     | unzip                    | unzip                    | unzip                  | unzip                    | unzip                    | app-arch/unzip                   
-| xsltproc | xsltproc| libxslt-tools| ?| libxslt| libxslt| libxslt | dev-libs/libxslt | +| [[wp>GNU Wget]]                    | wget                      | wget                     | wget                     | wget                   | wget                     | wget                     | net-misc/wget                    
-| zlib, zlib-static| zlib1g-dev| zlib-devel-static | zlib-devel | zlib | zlib-devel,zlib-static | zlib | sys-libs/zlib (USE=static-libs)|+| xgettext                           | gettext                   | gettext-tools            | gettext                  | gettext                | gettext                  | gettext                  | sys-devel/gettext                
 +| xsltproc                           | xsltproc                  | libxslt-tools            | ?                        | libxslt                | libxslt                  | libxslt                  | dev-libs/libxslt                 
 +| zlib, zlib-static                  | zlib1g-dev                | zlib-devel-static        | zlib-devel               | zlib                   | zlib-devel,zlib-static   | zlib                     | sys-libs/zlib (USE=static-libs)  |
 </sortable> </sortable>
  
Line 58: Line 60:
 | lilo | bcc<sup>[[http://v3.sk/~lkundrak/dev86/|1]]</sup> | bcc | | | | dev86 | [[https://aur.archlinux.org/packages/bcc/|aur/bcc]] | sys-devel/dev86 | | lilo | bcc<sup>[[http://v3.sk/~lkundrak/dev86/|1]]</sup> | bcc | | | | dev86 | [[https://aur.archlinux.org/packages/bcc/|aur/bcc]] | sys-devel/dev86 |
 | lilo | uudecode | sharutils | | | sharutils | sharutils | sharutils | app-arch/sharutils | | lilo | uudecode | sharutils | | | sharutils | sharutils | sharutils | app-arch/sharutils |
-| luajit | x86 %%g++%% libs on amd64 hosts| %%gcc-multilib%% | | | | | | | +| luajit,xdp-tools | x86 %%g++%% libs on amd64 hosts| %%gcc-multilib%% | | | | | | | 
-| classpath (aka: gnu-classpath) <sup>[[wp>GNU_Classpath|1]]</sup> | javac, gcj | openjdk-7-jdk | | | openjdk7-zulu | java-1.8.0-openjdk-devel | jdk7-openjdk | dev-java/oracle-jdk-bin, sys-devel/gcc[gcj], and one (or both) of dev-java/icedtea-bin:7 and dev-java/icedtea:7 | +| classpath (aka: gnu-classpath) <sup>[[wp>GNU_Classpath|1]]</sup> | javac, gcj | openjdk-7-jdk-headless | | | openjdk7-zulu | java-1.8.0-openjdk-devel | jdk7-openjdk | dev-java/oracle-jdk-bin, sys-devel/gcc[gcj], and one (or both) of dev-java/icedtea-bin:7 and dev-java/icedtea:7 | 
-| mac80211 | b43-fwcutter<sup>[[https://wireless.wiki.kernel.org/en/users/drivers/b43|1]]</sup> (Broadcom/BCM) | | | | | b43-fwcutter | b43-fwcutter | net-wireless/b43-fwcutter | +| mac80211 | b43-fwcutter<sup>[[https://wireless.wiki.kernel.org/en/users/drivers/b43|1]]</sup> (Broadcom/BCM) | b43-fwcutter | | | | b43-fwcutter | b43-fwcutter | net-wireless/b43-fwcutter | 
-| jamvm<sup>[[wp>JamVM|1]]</sup> | zip | | | | zip | zip | | app-arch/zip |+| jamvm<sup>[[wp>JamVM|1]]</sup> | zip | zip | | | zip | zip | | app-arch/zip |
 </sortable> </sortable>
  
Line 73: Line 75:
 apk add argp-standalone asciidoc bash bc binutils bzip2 cdrkit coreutils \ apk add argp-standalone asciidoc bash bc binutils bzip2 cdrkit coreutils \
   diffutils elfutils-dev findutils flex musl-fts-dev g++ gawk gcc gettext git \   diffutils elfutils-dev findutils flex musl-fts-dev g++ gawk gcc gettext git \
-  grep intltool libxslt linux-headers make musl-libintl musl-obstack-dev \+  grep gzip intltool libxslt linux-headers make musl-libintl musl-obstack-dev \
   ncurses-dev openssl-dev patch perl python3-dev rsync tar \   ncurses-dev openssl-dev patch perl python3-dev rsync tar \
   unzip util-linux wget zlib-dev   unzip util-linux wget zlib-dev
Line 85: Line 87:
 </code> </code>
  
-==== Arch / Manjaro ====+==== Arch / Manjaro / EndeavourOS ====
 Arch users may install the [[https://aur.archlinux.org/packages/openwrt-devel/|openwrt-devel]] meta-package from the [[https://wiki.archlinux.org/index.php/Arch_User_Repository|AUR]] or alternatively, manually install the build dependencies as follows: Arch users may install the [[https://aur.archlinux.org/packages/openwrt-devel/|openwrt-devel]] meta-package from the [[https://wiki.archlinux.org/index.php/Arch_User_Repository|AUR]] or alternatively, manually install the build dependencies as follows:
  
Line 93: Line 95:
 bzip2 fakeroot file findutils flex gawk gcc gettext git grep groff \ bzip2 fakeroot file findutils flex gawk gcc gettext git grep groff \
 gzip libelf libtool libxslt m4 make ncurses openssl patch pkgconf \ gzip libelf libtool libxslt m4 make ncurses openssl patch pkgconf \
-python rsync sed texinfo time unzip util-linux wget which zlib+python python-distutils-extra rsync sed texinfo time unzip util-linux wget which zlib
  
 # Optional prerequisites, depend on the package selection # Optional prerequisites, depend on the package selection
Line 99: Line 101:
 </code> </code>
  
-==== CentOS / Fedora ====+==== Fedora / Nobara ====
 <code bash> <code bash>
 sudo dnf --setopt install_weak_deps=False --skip-broken install \ sudo dnf --setopt install_weak_deps=False --skip-broken install \
Line 105: Line 107:
 rsync tar unzip wget which diffutils python2 python3 perl-base \ rsync tar unzip wget which diffutils python2 python3 perl-base \
 perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin \ perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin \
-perl-Thread-Queue+perl-IPC-Cmd perl-JSON-PP perl-Thread-Queue perl-Time-Piece
 </code> </code>
  
-==== Debian / Ubuntu ==== +==== Debian / Ubuntu / Mint ==== 
-Modernized set for Ubuntu 22.04 for OpenWrt master, 22.03 and 21.02 branches that do not need python2.7 any more. Python3 is installed by default in Ubuntu22.04.+ 
 + 
 +Modernized set for Ubuntu 24.04 that has Python 3.12 without python3-distutils: 
 +(OpenWrt main/master in Apr 2024) 
 <code bash> <code bash>
 sudo apt update sudo apt update
-sudo apt install build-essential clang flex g++ gawk gcc-multilib gettext +sudo apt install build-essential clang flex bison g++ gawk 
-git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev+gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev 
 +python3-setuptools rsync swig unzip zlib1g-dev file wget
 </code> </code>
-Older advice:+ 
 + 
 +set for Ubuntu 22.04 (that has older Python 3.xx): 
 + 
 +<code bash> 
 +sudo apt update 
 +sudo apt install build-essential clang flex bison g++ gawk \ 
 +gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ 
 +python3-distutils python3-setuptools rsync swig unzip zlib1g-dev file wget 
 +</code> 
 + 
 +Older advice (for 19.07 and earlier that need python2.7): 
 <code bash> <code bash>
 sudo apt update sudo apt update
Line 154: Line 173:
 coreutils diffutils findutils flex gawk gcc gettext git grep intltool \ coreutils diffutils findutils flex gawk gcc gettext git grep intltool \
 libxslt linux-headers make ncurses-devel openssl-devel patch perl \ libxslt linux-headers make ncurses-devel openssl-devel patch perl \
-pkg-config python-devel python3-devel rsync tar unzip util-linux \ +pkg-config python3-devel rsync tar unzip util-linux wget 
-wget zlib-devel+zlib-devel time libelf perl-ExtUtils-MakeMaker-CPANfile \ 
 +help2man swig 
 + 
 +# for musl version, also install: argp-standalone musl-fts-devel musl-obstack-devel
 </code> </code>
  
  • Last modified: 2022/12/09 11:42
  • by paper42