Difference between revisions of "Ubuntu/Debian installation prerequisites"

From ArmadeusWiki
Jump to: navigation, search
(Mandatory packages)
(Mandatory packages)
 
(9 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
  sudo apt-get install -y uuid-dev mercurial unzip
 
  sudo apt-get install -y uuid-dev mercurial unzip
 
  sudo apt-get install -y libftdi-dev
 
  sudo apt-get install -y libftdi-dev
  sudo apt-get install -y bc
+
  sudo apt-get install -y bc quilt
  sudo apt-get install -y lib32stdc++6 lib32z1                     (for Linaro external toolchain of APF6 on 64bits Host)
+
  sudo apt-get install -y python-serial python-usb libusb-1.0-0-dev (to use recover tool if board is bricked)
+
# 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>
  
 +
* you will need ''bash'' as system interpreter and '''NOT''' ''dash'':
 +
<pre class="host">
 +
$ sudo dpkg-reconfigure dash      (choose No)
 +
</pre>
 +
 +
===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:
 
* 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">
 
<pre class="host">
Line 25: Line 36:
 
</pre>
 
</pre>
  
 +
===64 bits Hosts===
 
* On Debian/Jessie, these packages seems to be required (on 64 bits Host):
 
* On Debian/Jessie, these packages seems to be required (on 64 bits Host):
<pre>
+
<pre class="host">
 
sudo apt-get install libx32stdc++6 libx32stdc++-4.9-dev lib64stdc++6
 
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>
  
Line 33: Line 73:
 
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 -y install libglib2.0-dev
+
  sudo apt-get -y install libglib2.0-dev  
  sudo apt-get -y install libnetpbm10-dev   (for fbtest)
+
# for fbtest
  sudo apt-get -y install python-xcbgen     (for Matchbox)
+
  sudo apt-get -y install libnetpbm10-dev
  sudo apt-get -y install xutils-dev       (for mesa)
+
# for Matchbox
  sudo apt-get -y install pkg-config       (for imx_usb)
+
  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>
  

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