Installation/Manual

From PaparazziUAV
Revision as of 14:53, 10 September 2014 by Lluchiari (talk | contribs) (→‎Fedora 19)
Jump to navigation Jump to search

Users of recent Debian/Ubuntu distributions are advised to use the binary packages as described in Installation/Linux.

Intro

Users of other Linux flavors or anyone needing manual control of each individual package can install them independently.
The list of dependencies of the Debian package is located in the debian/control file and may help users of other distributions.

Some corresponding source tarballs can be downloaded from paparazzi-uav ppa on launchpad. (maybe building the packages from source is more reliable in view of dependencies)

For distributions using RPM packaging, the alien tool can be used to convert a .deb package into a .rpm package.

Using 32Bit on 64Bit

If you want to run the 32bit versions on a 64bit machine for whatever reason...

In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur). Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot The command you use for the bootstrap needs to reflect your architecture - I used

 sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/

The format for schroot config files has changed as of lucid however - here is mine:

 $ cat /etc/schroot/chroot.d/lucid-i386 
 [lucid]
 description=Ubuntu 10.04 Lucid for i386
 directory=/var/chroot/lucid
 personality=linux32
 root-users=my_user
 type=directory
 users=my_user

Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst). Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:

 export DISPLAY=:0.0

Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.

Fedora 8

For Fedora (Core8) users, you can install the following packages from standard repository:

  • ocaml.i386
  • ocaml-camlimages-devel.i386
  • ocaml-lablgtk-devel.i386
  • ocaml-xml-light-devel.i386
  • boa.i386
  • libgnomecanvas-devel.i386
  • libusb-devel.i386
  • pcre-devel.i386
  • arm-gp2x-linux-gcc.i386
  • arm-gp2x-linux-binutils.i386
  • glade2.i386
  • and gcc, make, subversion, gnuplot, imagemagik...

Note that ocaml-xml-light version 2.2 in its official source release and in some distribution packages requires a patch in order to function properly with paparazzi. Find patch here.

Then you need alien tool to convert packages from the paparazzi repository:

  • ivy-c
  • ivy-c-dev
  • ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)
  • lpc21isp

These Ivy binary packages will only work with the corresponding version of ocaml. Ivy repository is located here.

Fedora 19

To build paparazzi-uav on Fedora 19, you must install the next packages from the official repository:

  • ocaml
  • ocaml-findlib
  • ocaml-xml-light
  • ocaml-ocamlnet
  • ocaml-lablgtk-devel
  • libxml2-devel
  • SDL-devel
  • libusb-devel

Paparazzi-uav needs to include some ocaml headers when it compiles the simulator, then please be sure that they are included. If not, edit sw/simulator/Makefile and add:

 CAML_CFLAGS = -I/usr/lib64/ocaml

The following packages must be built from source code (they are not included in the official repository):

  • ivy-c
  • ivy-ocaml

Paparazzi-uav was successfully compiled using ivy-c 3.14 (downloaded from SVN repository, revision #3602) and ivy-ocaml 1.2. Please note that the ivy-c version is an unstable version!

Additionally, you need install the next RPMs to build ivy-c:

  • pcre-devel
  • libXt-devel
  • tcl-devel
  • glib2-devel

Don't forget to set the environment variable PKG_CONFIG before building ivy-ocaml, e.g:

 $ export PKG_CONFIG=/usr/local/lib/pkgconfig

Finally, install the cross compiler as described at Installation/FromScratch.