User Tools

Site Tools


compiling_on_linux

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
Next revision Both sides next revision
compiling_on_linux [2019/10/27 13:00]
tapir [Developer build options]
compiling_on_linux [2020/02/25 18:00]
ehendrikd
Line 6: Line 6:
 Mixxx relies on several external libraries for various features. Mixxx relies on several external libraries for various features.
  
-==== Debian / Ubuntu ====+==== Debian / Ubuntu ​/ Raspbian ​====
  
 If your distribution is Debian based (such as Ubuntu), you can install them by running: If your distribution is Debian based (such as Ubuntu), you can install them by running:
Line 37: Line 37:
 sudo apt-get install libqt4-dev libqt4-sql-sqlite libqt4-opengl-dev libqt4-svg libqt4-xmlpatterns libqt4-sql sudo apt-get install libqt4-dev libqt4-sql-sqlite libqt4-opengl-dev libqt4-svg libqt4-xmlpatterns libqt4-sql
 </​code>​ </​code>​
-==== Raspberry Pi (Raspian) ==== 
- 
-If your distribution is Raspian, you can install them by running: 
- 
-<code bash> 
-sudo apt-get remove libtag1-vanilla 
-sudo apt-get install g++ git scons libqt4-dev libqt4-sql-sqlite libportmidi-dev \ 
-  libopusfile-dev libshout3-dev libtag1-dev libprotobuf-dev protobuf-compiler \ 
-  libusb-1.0-0-dev libfftw3-dev libmad0-dev \ 
-  portaudio19-dev libchromaprint-dev librubberband-dev libsqlite3-dev \ 
-  libid3tag0-dev libflac-dev libsndfile1-dev libupower-glib-dev liblilv-dev 
-sudo apt-get install libjack-dev libjack0 portaudio19-dev # because of Bug #1464120 
-sudo apt-get install libfaad-dev libmp4v2-dev # required for M4A support 
-sudo apt-get install libmp3lame-dev 
-</​code>​ 
- 
-If the libopusfile-dev is not avaliable for you, download, build and install: 
- 
-[[https://​archive.mozilla.org/​pub/​opus/​opus-1.2.1.tar.gz|opus-1.2.1]] 
- 
-[[https://​archive.mozilla.org/​pub/​opus/​opusfile-0.9.tar.gz|opusfile-0.9]] 
- 
-<code bash> 
-sudo apt-get remove g++ g++-4.7 
-sudo apt-get autoremove 
-sudo apt-get install g++-5 
-ln  /​usr/​bin/​g++-5 ​ /​usr/​bin/​g++ 
-scons -c && scons -j 2 opengles=1 staticlibs=1 optimize=portable 
-</​code>​ 
- 
-**Important** 
- 
-You must build in Raspberry pi 3. 
- 
-Raspberry pi 2 i had the error: 
- 
-//Error: open CFI at the end of file; missing .cfi_endproc directive// 
- 
-It seems a memory limitation. 
- 
-Tested on: 2017-11-29-raspbian-stretch.img 
  
 ==== Fedora ==== ==== Fedora ====
Line 190: Line 149:
 If you want to be able to run Mixxx on different types of CPUs, change ''​optimize=native''​ to ''​optimize=portable''​. If you want to contribute code to Mixxx and use a debugger, use ''​optimize=off''​. If you want to be able to run Mixxx on different types of CPUs, change ''​optimize=native''​ to ''​optimize=portable''​. If you want to contribute code to Mixxx and use a debugger, use ''​optimize=off''​.
  
-To compile on a Raspberry Pi, use the arguments:​ +To compile on a Raspberry Pi (only compatible on Rapsberry Pi 3 and later), use the arguments:​ 
-''​optimize=native ​opengles=1 ​machine=armhf''​+''​optimize=native machine=armhf''​
 with scons. with scons.
  
Line 224: Line 183:
   * Better tools for analyzing problems in your program ([[http://​clang.llvm.org/​docs/​AddressSanitizer.html|Address Sanitizer]],​ [[http://​clang.llvm.org/​docs/​ThreadSanitizer.html|Thread Sanitizer]],​ [[http://​clang.llvm.org/​docs/​MemorySanitizer.html|MemorySanitizer]],​ etc.)   * Better tools for analyzing problems in your program ([[http://​clang.llvm.org/​docs/​AddressSanitizer.html|Address Sanitizer]],​ [[http://​clang.llvm.org/​docs/​ThreadSanitizer.html|Thread Sanitizer]],​ [[http://​clang.llvm.org/​docs/​MemorySanitizer.html|MemorySanitizer]],​ etc.)
  
-On Debian, Clang is provided as a package with a version number attached. Using 3.6 as an example, install it like this:+On Debian, Clang is provided as a package with a version number attached. Using 6.0 as an example, install it like this:
 <​code>​ <​code>​
-sudo apt-get install clang-3.6+sudo apt-get install clang-6.0
 </​code>​ </​code>​
  
-To compile Mixxx using Clang 3.6, before running ''​scons'':​+To compile Mixxx using Clang 6.0, before running ''​scons'':​
  
 <​code>​ <​code>​
-export CC=clang-3.+export CC=clang-6.0 
-export CXX=clang++-3.6+export CXX=clang++-6.0
 </​code>​ </​code>​
  
compiling_on_linux.txt · Last modified: 2020/03/31 13:56 by ywwg