1 # Quick and dirty guide for compiling remmina on ubuntu 16.04
3 These are instructions for people or software developers who want to contribute to the latest version of Remmina on Ubuntu 16.04.
5 If you are an end user and you want to install the latest version of remmina, please use the "Remmina Team Ubuntu PPA - next branch", as explained on the [homepage of the wiki](https://github.com/FreeRDP/Remmina/wiki).
7 By following these instructions, you will get Remmina and FreeRDP compiled under the /opt/remmina_devel/ subdir, so they will not mess up your system too much. This is ideal for testing remmina.
9 You will also find the uninstall instructions at the bottom of this page.
12 **1.** Install all packages required to build freerdp and remmina:
14 sudo apt-get install build-essential git-core cmake libssl-dev libx11-dev libxext-dev libxinerama-dev \
15 libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \
16 libxrandr-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \
17 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \
18 libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev libssh-dev libpulse-dev \
19 libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \
20 libgnutls-dev libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
21 libappindicator3-dev intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev \
22 libsoup2.4-dev libjson-glib-dev libavresample-dev libusb-1.0-0-dev libpcre2-dev
24 **2.** Remove freerdp-x11 package and all packages containing the string remmina in the package name.
26 sudo apt-get --purge remove freerdp-x11 \
27 remmina remmina-common remmina-plugin-rdp remmina-plugin-vnc remmina-plugin-gnome \
28 remmina-plugin-nx remmina-plugin-telepathy remmina-plugin-xdmcp
29 sudo apt-get --purge remove libfreerdp-dev libfreerdp-plugins-standard libfreerdp1 \
30 libfreerdp-utils1.1 libfreerdp-primitives1.1 libfreerdp-locale1.1 \
31 libfreerdp-gdi1.1 libfreerdp-crypto1.1 libfreerdp-core1.1 libfreerdp-common1.1.0 \
32 libfreerdp-codec1.1 libfreerdp-client1.1 libfreerdp-cache1.1
33 sudo apt-get --purge remove \
34 libfreerdp-rail1.1 libwinpr-asn1-0.1 libwinpr-bcrypt0.1 libwinpr-credentials0.1 libwinpr-credui0.1 \
35 libwinpr-crt0.1 libwinpr-crypto0.1 libwinpr-dev libwinpr-dsparse0.1 libwinpr-environment0.1 \
36 libwinpr-error0.1 libwinpr-file0.1 libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1 \
37 libwinpr-interlocked0.1 libwinpr-io0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pipe0.1 \
38 libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-sspicli0.1 \
39 libwinpr-synch0.1 libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-timezone0.1 libwinpr-utils0.1 \
40 libwinpr-winhttp0.1 libwinpr-winsock0.1 freerdp2-x11 "libfreerdp2*" "libwinpr2*"
43 **3.** Create a new directory for development in your home directory, and cd into it
48 **4.** Download the latest source code of FreeRDP from its master branch
50 git clone --branch 2.0.0 https://github.com/FreeRDP/FreeRDP.git
53 **5.** Configure FreeRDP for compilation (don't forget to include -DWITH_PULSE=ON)
55 cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_CUPS=on -DWITH_WAYLAND=off -DWITH_PULSE=on -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/freerdp .
57 Please note that the above line will make FreeRDP install in /opt/remmina_devel/freerdp
59 **6.** Compile FreeRDP and install
61 make && sudo make install
63 **7.** Make your system dynamic loader aware of the new libraries you installed. For Ubuntu x64:
65 echo /opt/remmina_devel/freerdp/lib | sudo tee /etc/ld.so.conf.d/freerdp_devel.conf > /dev/null
69 **8.** Create a symbolik link to the executable in /usr/local/bin
71 sudo ln -s /opt/remmina_devel/freerdp/bin/xfreerdp /usr/local/bin/
73 **9.** Test the new freerdp by connecting to a RDP host
75 xfreerdp +clipboard /sound:rate:44100,channel:2 /v:hostname /u:username
78 **10.** Now clone remmina repository to your devel dir:
81 git clone https://gitlab.com/Remmina/Remmina.git
84 **11.** Configure Remmina for compilation
87 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/remmina -DCMAKE_PREFIX_PATH=/opt/remmina_devel/freerdp --build=build .
89 **12.** Compile remmina and install it
91 make && sudo make install
93 **13.** Create a symbolik link to the the executable
95 sudo ln -s /opt/remmina_devel/remmina/bin/remmina /usr/local/bin/
101 Please note that icons and launcher files are not installed, so don't search for remmina using Unity Dash.
103 ## Uninstall everything
104 **1.** Remove the devel directory
106 rm -rf ~/remmina_devel/
108 **2.** Remove the binary directory
110 sudo rm -rf /opt/remmina_devel/
112 **3.** Cleanup symlinks and dynamic loader
114 sudo rm /etc/ld.so.conf.d/freerdp_devel.conf /usr/local/bin/remmina /usr/local/bin/xfreerdp