Continue cleanup
[carla.git] / INSTALL.md
blobf2f592b9e052dc23d2674c85cde929734ade7ebc
1 # INSTALL for Carla
3 NOTE: when using MSYS2 on Windows, an additional step is necessary in order
4 to solve an issue with symbolic links to some dependency folders before build:
5 ```
6 $ make msys2fix
7 ```
9 To install Carla, simply run as usual:
10 ```
11 $ make
12 $ [sudo] make install
13 ```
15 You can run it without installing, by using instead:
16 ```
17 $ make
18 $ ./source/frontend/carla
19 ```
21 Packagers can make use of the `PREFIX` and `DESTDIR` variable during install, like this:
22 ```
23 $ make install PREFIX=/usr DESTDIR=./test-dir
24 ```
26 ## BUILD DEPENDENCIES
28 There are no required build dependencies. The default build is probably not what you want though.
30 If you want the frontend (which is likely), you will need PyQt5 (python3 version).
32 You likely will also want:
34  - libmagic/file (for auto-detection of binary types, needed for plugin-bridges)
35  - liblo         (for OSC support, also a requirement for DSSI UIs)
37 Optional for extra Linux-only engine features:
39  - ALSA
40  - PulseAudio
41  - X11 (CLAP/LV2/VST2/VST3 X11 UI support)
43 Optional for extended LV2 UIs support: (Linux only)
45  - Qt4
46  - Qt5
48 NOTE: Gtk2 and Gtk3 support is always on, as Carla uses dlopen + dlsym to support them
50 Optional for extra samplers support:
52  - FluidSynth (SF2/3)
54 Optional for extra LADSPA plugin information:
56  - python3-rdflib
59 You can use:
60 ```
61 $ make features
62 ```
63 To find out which dependencies are missing.
66 Under Debian based systems, you can use this command to install everything:
67 ```
68 sudo apt install python3-pyqt5.qtsvg python3-rdflib pyqt5-dev-tools \
69   libmagic-dev liblo-dev libasound2-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev \
70   qtbase5-dev libfluidsynth-dev
71 ```
73 Under Fedora, you can use the following command instead:
74 ```
75 sudo dnf install python3-qt5-devel python3-rdflib \
76   file-devel liblo-devel alsa-lib-devel pulseaudio-libs-devel libX11-devel
77   qt5-devel fluidsynth-devel libsndfile-devel
78 ```
80 ## BUILD BRIDGES (Experimental)
82 Carla can make use of plugin bridges to load additional plugin types.
84 ### 32bit plugins on 64bit systems
86 Simply run `make posix32` after a regular Carla build, and install or run Carla locally.<br/>
87 This feature requires a compiler capable of building 32bit binaries.
89 ### JACK Applications inside Carla
91 This is built by default on Linux systems.<br/>
92 Requires LD_PRELOAD support by the OS and the GCC compiler.<br/>
93 Does not work with clang. (if you discover why, please let me know!)
95 ### Windows plugins (via Wine)
97 Requires a mingw compiler, and winegcc.
99 First, we build the Windows bridges using mingw, like this: (adjust as needed)
101 make win32 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++
102 make win64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++
105 To finalize, we build the wine<->native bridges using winegcc:
107 make wine32
108 make wine64
111 Then install or run Carla locally as usual.<br/>
112 Don't forget to enable experimental options and plugin bridges in Carla settings to actually be able to use them.