From 1b01eacd64777c3c0446ce5adb2ac1157bd7b0b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Albert=20=20Bab=C3=AD=20Oller?=
 <albert.babi@savoirfairelinux.com>
Date: Fri, 26 Jun 2020 09:20:30 -0400
Subject: [PATCH] Update Build instructions (QML Client for GNU/Linux)

---
 technical/Build-instructions.md | 76 +++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/technical/Build-instructions.md b/technical/Build-instructions.md
index 76702175..2b1c6edc 100644
--- a/technical/Build-instructions.md
+++ b/technical/Build-instructions.md
@@ -938,3 +938,79 @@ cmake ../ -DCMAKE_INSTALL_PREFIX=<libringclient_install_path>
 make install -j
 cpack -G DragNDrop Ring
 ```
+
+QML Client for Jami
+-----------------------------------------------------
+
++ **Qt 5.15**: In order to use the QML Client it is necessary to install the Qt version 5.15 or higher. You can install it [from sources or download the binary installer](https://www.qt.io/download).
+
++ LibRing and LibRingClient
+must be installed first. If you have not already done so, go to the
+[\#How to Build LibRing (or
+Daemon)](#How_to_Build_LibRing_(or_Daemon) "wikilink") and [\#How to
+Build LibRingClient (or
+LRC)](#How_to_Build_LibRingClient_(or_LRC) "wikilink") sections.
+
+
+* **Note**: It is necessary to compile the *libringclient* with the installed Qt version 5.15. Before compiling you should remove all files in build folder and set the path to Qt libraries. For example, if Qt installation folder is in your home directory:
+
+```sh
+export CMAKE_PREFIX_PATH=~/Qt/5.15.0/gcc_64
+export LD_LIBRARY_PATH=~/Qt/5.15.0/gcc_64/lib
+```
+
+After build you can check that *libringclient* uses the correct path to Qt libraries:
+
+```sh
+ldd libringclient.so
+libQt5DBus.so.5 => /home/<username>/Qt/5.15.0/gcc_64/lib/libQt5DBus.so.5 (0x00007fad4599b000)
+(...)
+```
+
+#### Build Instructions
+Once LRC is built you can compile the QML Client:
+
+```sh
+cd ring-client-windows
+pandoc -f markdown -t html5 -o changelog.html changelog.md
+mkdir build
+cd build
+~/Qt/5.15.0/gcc_64/bin/qmake /jami-qt.pro
+make -j9
+```
+
+**Note**: If LRC has been built inside its project directory, you need to add the path in the jami-qt.pro:
+
+Change:
+
+```sh
+isEmpty(LRC) { LRC=../../install/lrc/ }
+INCLUDEPATH += $${LRC}/include/libringclient
+INCLUDEPATH += $${LRC}/include
+INCLUDEPATH += ../src
+```
+To:
+
+```sh
+LIBS += -L$$PWD/../lrc/build-local/ -lringclient
+INCLUDEPATH += $$PWD/../lrc/build-local
+INCLUDEPATH += $$PWD/../lrc/src
+```
+
+#### Linker issue
+
+ With Ubuntu 20.04, even if the build process finish with success, the linker might give you the following message:
+
+```sh
+/usr/bin/ld: /home/ababi/Qt/5.15.0/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 3 (>= sh_info of 3)
+(...)
+```
+This has been solved by switching to [gold linker](https://forum.qt.io/topic/109387/gammaray-build-error-on-ubuntu):
+
+```sh		
+sudo ln -sf /usr/bin/x86_64-linux-gnu-ld.gold /usr/bin/ld
+```
+
+
+
+
-- 
GitLab