I am currently using a program which called " Write " created by Stylus Labs. It is a single file application which uses the QT5.7 libs.
It running on my Laptop with Ubuntu 16.04 x64 Bit.
Actually this program targets Ubuntu 17 and doesn't run natively on Ubuntu 16.04 because of missing QT5.7 libraries.
After changing and renaming manually all required libraries in /usr/lib/x86_64-linux-gnu the program works fine.
But because of this mishmash qt based programs like Teamviewer stop working due to confusion.
I would like to change the target of this program so I can leave the systems libs as they are and paste the required libs into the folder of the application.
I have already tried pasting the required files into the same folder in which the application is and it didn't work. I Have also installed QT 5.7.1 and set the newer folders as default system wide, but with no luck. Write is still looking at /usr/lib/x86.. .
I hope my question is clear, and if it's not, please tell me how I can clarify.
Following libraries were copied and pasted from
/Qt5.7.1/5.7/gcc_64/lib/xxx.so.5.7.1
to
/usr/lib/x86_64-linux-gnu/xxx.so.5
to make Write work on ubuntu 16.04:
libicudata.so.56
libicudata.so.56.1
libicui18n.so.56
libicui18n.so.56.1
libicuuc.so.56
libicuuc.so.56.1
libQt5Core.so.5
libQt5Gui.so.5
libQt5Network.so.5
libQt5Svg.so.5
libQt5Widgets.so.5
Solve:
- Install at least QT 5.7.1 onto your system.
- Open a Terminal and type
export LD_LIBRARY_PATH=/Path/to/QT/Qt5.7.1/5.7/gcc_64/lib/
- Open Write through this Terminal
/path/to/writeExecutable/Write
Done
After closing this Terminal or using another Terminal window, you have to repeat this process.
rpath
/runpath
options used to build the executable) but you could tryLD_LIBRARY_PATH=path/to/Qt5.7/libs name_of_program
PATH
(either~/bin
or - if others need to use it -/usr/local/bin
in which you set + exportLD_LIBRARY_PATH
and then run the program with its full path. You can't really mess up much since the variable assignment will only apply in that shell + its children.