Difference between revisions of "Ubuntu/Debian installation prerequisites"

From ArmadeusWiki
Jump to: navigation, search
(New page: ==Mandatory packages== * you can use the following command to get them (assuming your userid is allowed to use sudo (execution of commands as root)): <pre class="host"> sudo apt-get insta...)
 
(Mandatory packages)
 
(35 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
==Mandatory packages==
 
==Mandatory packages==
* you can use the following command to get them (assuming your userid is allowed to use sudo (execution of commands as root)):
+
* you can use the following commands (one at a time) to get them (assuming your userid is allowed to use ''sudo'' (execution of commands as root)):
 
<pre class="host">
 
<pre class="host">
  sudo apt-get install build-essential gcc g++ autoconf automake libtool bison flex gettext  
+
  sudo apt-get install -y build-essential gcc g++ autoconf automake libtool bison flex gettext
  sudo apt-get install patch subversion texinfo wget git-core
+
  sudo apt-get install -y patch subversion texinfo wget git-core
  sudo apt-get install libncurses5 libncurses5-dev
+
  sudo apt-get install -y libncurses5 libncurses5-dev
  sudo apt-get install zlib1g-dev liblzo2-2 liblzo2-dev
+
  sudo apt-get install -y zlib1g-dev liblzo2-2 liblzo2-dev
  sudo apt-get install libacl1 libacl1-dev gawk cvs curl lzma  
+
  sudo apt-get install -y libacl1 libacl1-dev gawk cvs curl lzma
  sudo apt-get install uuid-dev
+
  sudo apt-get install -y uuid-dev mercurial unzip
 +
sudo apt-get install -y libftdi-dev
 +
sudo apt-get install -y bc quilt
 +
 +
# for Linaro external toolchain of APF6 on 64bits Host:
 +
sudo apt-get install -y lib32stdc++6 lib32z1
 +
 +
# to use recover tool if board is bricked:
 +
#            python 2 :                                              /                python 3 :
 +
sudo apt-get install -y python-serial python-usb libusb-1.0-0-dev    /    sudo apt-get install -y python3-serial python3-usb libusb-dev
 
</pre>
 
</pre>
  
{{Warning|For recent Ubuntu and Debian based systems, the following is now required if your ''/bin/sh'' is '''not''' pointing to ''/bin/bash'':
+
* you will need ''bash'' as system interpreter and '''NOT''' ''dash'':
 
<pre class="host">
 
<pre class="host">
$ ls -al /bin/sh
+
$ sudo dpkg-reconfigure dash      (choose No)
lrwxrwxrwx 1 root root 4 2007-12-08 18:33 /bin/sh -> dash
+
</pre>
  
  $ sudo dpkg-reconfigure dash
+
===Localization===
    and select no
+
* if your distribution is localized in a language different of English, you will need to install "en_US" locale in order to compile the toolchain (by default our toolchain (uClibc) is configured to only support English). If not, you will get compilation errors like this one:
 +
<pre class="host">
 +
...
 +
extra/locale/locale_mmap.h:46: error: '__LOCALE_DATA_WCctype_II_LEN' undeclared here (not in a function)
 +
...
 +
</pre>
 +
To solve this, install en_US.UTF-8 locale with the following:
 +
<pre class="host">
 +
  $ sudo dpkg-reconfigure locales
 +
</pre>
 +
 
 +
===64 bits Hosts===
 +
* On Debian/Jessie, these packages seems to be required (on 64 bits Host):
 +
<pre class="host">
 +
sudo apt-get install libx32stdc++6 libx32stdc++-4.9-dev lib64stdc++6
 +
</pre>
 +
* On Debian 9 the following seems also recommended:
 +
<pre class="host">
 +
sudo apt-get install libssl1.0-dev
 +
</pre>
 +
On LUbuntu 16.04 it is:
 +
<pre class="host">
 +
sudo apt-get install libssl-dev
 +
</pre>
 +
otherwise you will get:
 +
<pre class="host">
 +
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
 +
compilation terminated.
 +
scripts/Makefile.host:90: recipe for target 'scripts/extract-cert' failed
 +
</pre>
 +
 
 +
* On *Ubuntu 16.04, the following is required:
 +
<pre class=host>
 +
sudo apt-get install gcc-multilib
 +
</pre>
 +
 
 +
otherwise you may get:
 +
<pre class="host">
 +
In file included from ../../../libgcc/libgcc2.c:27:0:
 +
../../../libgcc/../gcc/tsystem.h:87:19: fatal error: stdio.h: No such file or directory
 +
#include <stdio.h>
 +
                  ^
 +
compilation terminated.
 
</pre>
 
</pre>
Indeed dash do not support all the capabilities needed by Buildroot (our build system).
 
}}
 
  
 
==Optional packages==
 
==Optional packages==
 
Not mandatory but useful to add for compiling some Buildroot packages:
 
Not mandatory but useful to add for compiling some Buildroot packages:
 
<pre class="host">
 
<pre class="host">
  sudo apt-get install libglib2.0-dev
+
  sudo apt-get -y install libglib2.0-dev  
  sudo apt-get install libnetpbm10-dev   (for fbtest)
+
# for fbtest
  sudo apt-get install python-xcbgen (for Matchbox)
+
  sudo apt-get -y install libnetpbm10-dev
 +
# for Matchbox
 +
  sudo apt-get -y install python-xcbgen
 +
# for mesa
 +
sudo apt-get -y install xutils-dev
 +
# for imx_usb
 +
sudo apt-get -y install pkg-config
 
</pre>
 
</pre>
  
 
===Java devt===
 
===Java devt===
 +
{| cellspacing="20"
 +
|
 
====Ubuntu====
 
====Ubuntu====
 
 
* To compile java jamvm and gnu-classpath:
 
* To compile java jamvm and gnu-classpath:
 
<pre class="host">
 
<pre class="host">
  sudo apt-get install gcj-jdk  
+
  sudo apt-get -y install gcj-jdk  
 
</pre>
 
</pre>
 
+
||
 
====Debian====
 
====Debian====
To compile java jamvm and gnu-classpath:
+
* To compile java jamvm and gnu-classpath:
 
<pre class="host">
 
<pre class="host">
  sudo apt-get install java-gcj-compat-dev default-jdk
+
  sudo apt-get -y install java-gcj-compat-dev default-jdk
 
</pre>
 
</pre>
 +
|}

Latest revision as of 10:27, 29 March 2021

Mandatory packages

  • you can use the following commands (one at a time) to get them (assuming your userid is allowed to use sudo (execution of commands as root)):
 sudo apt-get install -y build-essential gcc g++ autoconf automake libtool bison flex gettext
 sudo apt-get install -y patch subversion texinfo wget git-core
 sudo apt-get install -y libncurses5 libncurses5-dev
 sudo apt-get install -y zlib1g-dev liblzo2-2 liblzo2-dev
 sudo apt-get install -y libacl1 libacl1-dev gawk cvs curl lzma
 sudo apt-get install -y uuid-dev mercurial unzip
 sudo apt-get install -y libftdi-dev
 sudo apt-get install -y bc quilt
 
 # for Linaro external toolchain of APF6 on 64bits Host:
 sudo apt-get install -y lib32stdc++6 lib32z1
 
 # to use recover tool if board is bricked:
 #            python 2 :                                               /                 python 3 :
 sudo apt-get install -y python-serial python-usb libusb-1.0-0-dev     /    sudo apt-get install -y python3-serial python3-usb libusb-dev
  • you will need bash as system interpreter and NOT dash:
$ sudo dpkg-reconfigure dash      (choose No)

Localization

  • if your distribution is localized in a language different of English, you will need to install "en_US" locale in order to compile the toolchain (by default our toolchain (uClibc) is configured to only support English). If not, you will get compilation errors like this one:
 ...
 extra/locale/locale_mmap.h:46: error: '__LOCALE_DATA_WCctype_II_LEN' undeclared here (not in a function)
 ...

To solve this, install en_US.UTF-8 locale with the following:

 $ sudo dpkg-reconfigure locales

64 bits Hosts

  • On Debian/Jessie, these packages seems to be required (on 64 bits Host):
sudo apt-get install libx32stdc++6 libx32stdc++-4.9-dev lib64stdc++6
  • On Debian 9 the following seems also recommended:
 sudo apt-get install libssl1.0-dev

On LUbuntu 16.04 it is:

 sudo apt-get install libssl-dev

otherwise you will get:

scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
compilation terminated.
scripts/Makefile.host:90: recipe for target 'scripts/extract-cert' failed
  • On *Ubuntu 16.04, the following is required:
sudo apt-get install gcc-multilib

otherwise you may get:

In file included from ../../../libgcc/libgcc2.c:27:0:
../../../libgcc/../gcc/tsystem.h:87:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.

Optional packages

Not mandatory but useful to add for compiling some Buildroot packages:

 sudo apt-get -y install libglib2.0-dev 
 # for fbtest
 sudo apt-get -y install libnetpbm10-dev
 # for Matchbox
 sudo apt-get -y install python-xcbgen
 # for mesa
 sudo apt-get -y install xutils-dev
 # for imx_usb
 sudo apt-get -y install pkg-config

Java devt

Ubuntu

  • To compile java jamvm and gnu-classpath:
 sudo apt-get -y install gcj-jdk 

Debian

  • To compile java jamvm and gnu-classpath:
 sudo apt-get -y install java-gcj-compat-dev default-jdk