User Tools

Site Tools

Joomla says you aren't logged in

Setting Up the Deviation Build Environment

NOTE: It is now strongly recommended that you use Docker images to build Deviation. Instructions for building can be found here

Building for ARM (on Linux)

  1. download and install the pre-compiled Linux compiler from here:
  2. Add the path to the 'bin' directory to your PATH

Building for ARM (on Windows)

  1. Download and install the precompiled windows compiler from here:
  2. Add path to 'bin' directory to your PATH (I like to put this into ~/.profile so it is there each time I start msys): export PATH=/mingw/stm32/bin:$PATH
  3. Ensure python is installed. If not install it from here:
  4. Add python to your msys path: export PATH=“/c/<path to python>”:$PATH
    • For example: export PATH=“/c/Program Files/Python27”:$PATH)

Building the Windows binary on Linux

First install fltk:

apt-get install mingw32 mingw32-binutils mingw32-runtime
<Download and unpack fltk source code>
./configure --disable-largefile --enable-localjpeg \
         --enable-localzlib --enable-localpng \
         --disable-gl --host=i586-mingw32msvc \
sudo make install

Next install portaudio:

<Download and unpack portaudio source code>
./configure --prefix=/opt/portaudio-w32
sudo make install

Building the Windows binary on Windows

First install MingW:

Next, install fltk:

Then, install portaudio:

  • Start msys (you should have an icon, but otherwise run C:\MingW\msys\1.0\msys.bat
  • cd src
  • Untar portaudio: tar -xzf <path to portaudio download> (you can get to your C: drive in mingw using /c/Users/<user>/Downloads for example)
  • cd portaudio
  • ./configure
  • make
  • make install

Finally, install Deviation:

  • Download the source code for deviation. You'll need mercurial to keep track of changes (which will require installing python), but you can manually download a zip of the source from
  • cd ~/src
  • cp -pf <path to deviation src code> deviation
  • cd deviation/src

Building Deviation

  • The default build target is the devo8 transmitter. If you type make in the deviation/src directory this is what you will get.
  • Other transmitters can be specified on the make cmdline: make devo10 devo7e
  • Creating packaged zip files can be done by pre-pending 'zip_': make zip_devo10
  • Building the emulator is done by pre-pending 'emu_': make emu_devo8 or make zip_emu_devo8
  • Building the windows version of the emulator can be done vie: make win_emu_devo8 or make zip_win_emu_devo8
development/setting_up_build_env.txt (22970 views) · Last modified: 2019/03/04 20:06 by csujun