- How to install LAN Messenger in Ubuntu 16.04 and higher?
- 1 Answer 1
- Saved searches
- Use saved searches to filter your results more quickly
- lanmessenger/lanmessenger
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
How to install LAN Messenger in Ubuntu 16.04 and higher?
I want to install LAN Messenger in Ubuntu 16.04 OS. I have referred following link but didn’t get LAN Messenger install in my OS : How to Launch Lan Messenger in Ubuntu 14.04 Can you please help me to solve this problem? Thank you in advance. The Messenger was successfully installed but I am unable to open it. If I write command in terminal like lmc & , I am getting following error : This is not a Canonical «designed» product. /usr/lib/lmc/lan-messenger: error while loading shared libraries: libgstapp-0.10.so.0: cannot open shared object file: No such file or directory Also, I am not able to find LAN in my ubuntu.. as that link describes
Instructions and installation file are exactly the same for 16.04. What was the problem? Please edit and describe what happened, otherwise I’m afraid this question will be pure and simply ignored.
Try installing libgstreamer-plugins-base0.10-0 -> sudo apt install libgstreamer-plugins-base0.10-0 . If it works I can then make it into an answer and elaborate.
I have installed suggested plugins successfully, but still I am getting same error as I have describe in my edit.
Oh well, it seemed promising. Apparently the software itself needs a serious update so it no longer depends on deprecated libraries.
1 Answer 1
Instructions for installing LAN Messenger—a serverless text chat application—on Ubuntu/Mint 18.x.
Notes: If anyone would like to install this app on a 19.x O/S release, note that the procedure is somewhat different and it requires a bit of «hacking». I’ll update this post with that procedure when I’m able. The LAN Messenger software has only been built for install on 64-bit Linux. If you require a 32-bit version, you’ll need to build the app from the source code which is available at the web address shown below. Be aware that I’ve only tested the app’s basic features, i.e. chatting and sending files between two computers and these functions appear to work quite well.
As the first step in the process, boot into a live instance of the chosen Ubuntu/Mint 18.x distro. In my case, I had a live USB copy of Linux Mint 18.1 to work with. I recommend this step be done because it allows you to investigate LAN Messenger without altering anything in your computer’s installed O/S.
Having booted into the live session, download the LAN Messenger .deb file from the app’s website (https://lanmessenger.github.io/) and install it using GDebi by right-clicking on the .deb file and choosing «Open with GDebi Package Installer».
Once installed, try to run the app («lmc») in the terminal. You’ll likely get the following error:
mint@mint ~ $ lmc /usr/lib/lmc/lan-messenger: error while loading shared libraries: libQt5Multimedia.so.5: cannot open shared object file: No such file or directory mint@mint ~ $
If so, then from the terminal update the package cache and then install the libqt5multimedia5 package:
sudo apt-get update sudo apt-get install libqt5multimedia5
Again, try running the app in the terminal. If there are no fatal errors reported and the software’s icon now exists in the system tray, left-click on it to access its menu options. Before continuing you may want to first «exit» the app in the system tray and confirm that it can be restarted from the system menu.
If everything works as expected, you can repeat the above process on a second computer on your home network (booting from a second live USB or DVD) and test the communication between both systems. When you first run the app on the second computer, you should be greeted with a notification message saying that the user on the first computer is available for chat.
Welcome to using LAN Messenger!
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
LAN Messenger for Windows, Mac, Linux
lanmessenger/lanmessenger
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
How to compile LAN Messenger
You need Qt (https://www.qt.io/) to compile. I built LAN Messenger using Qt 5.11, so you probably need that or a later version.
You also need OpenSSL (http://www.openssl.org/) I used version 1.0.2q, so you know what to get. Please read the OpenSSL section for more information.
The application consists of two projects — lmc and lmcapp. lmcapp is just an extension of the qtsingleapplication project released by the Qt people. I have added a few functions to support multilanguage UI.
The main project is lmc which contains the entire application. I have included the project files for both projects.
Extract both folders. Make sure the directory hierarchy is maintained. «lmc» and «lmcapp» should be folders at same level. Make sure the dependency paths of lmc are set to the correct locations. It depends on lmcapp and openssl, in addition to the standard Qt libraries.
The code is identical for all platforms, but there are a few differences in the way application is built and run on each platform. Please read the platform specific notes to know more.
Note: I used Qt Creator IDE with gcc compiler on all platforms. If you are using any other IDE and/or compiler and run into any issue, I can only provide generic help.
Important: Its better if your project paths do not contain any white spaces. Some tools do not work properly with paths containing spaces. Use paths that do not have spaces to avoid headaches down the lane. Saving project files to your dektop is a BAD idea.
If precompiled binary distribution of OpenSSL is available for your platform, you can use it instead of building from source.
The steps for compiling OpenSSL varies depending on your platform. The package that you get from OpenSSL website gives detailed instructions on how to compile on all supported platforms. OpenSSL itself may need additional software packages to compile depending on your system.
Make sure that OpenSSL is built as a shared library.
Get the precompiled binary distribution of OpenSSL from http://www.slproweb.com/products/Win32OpenSSL.html
This version of LAN Messenger was built with the package named «Win32 OpenSSL v1.0.2q». Download the package and install to a folder called «openssl» which should be at the same level as the folder «lmc». While installing, make sure that the option to copy DLLs to the OpenSSL binaries directory is selected in the Additional Tasks page.
Many Linux distributions come with pre-compiled OpenSSL packages. If your system has one, you may be able to link the project to it. If your system lacks the package, or if you are unable to link with it, you need to build OpenSSL from source.
Specify the «shared» switch to ensure that OpenSSL is built as a shared library.
Mac OS X ships with a binary package of OpenSSL, so there is not need to compile. You can link the project with this package even if it is an older version than the one found on OpenSSl web site.
Some custom scripts are used for automating part of the compilation and setup of LAN Messenger. These scripts rely on an environment variable called QTDIR that should contain the path where Qt libraries are installed. More specifically, it should point to the parent folder of the bin and lib folders where Qt binaries reside. Eg: C:\Qt\4.8.0 on Windows.
Refer PLATFORM_SPECIFIC.TXT for additional details about setting up the build environment on respective platforms.
Compiling LAN Messenger on Windows
Its possible to compile using other build chains/IDEs, but its better to stick to Qt Creator and gcc tool chain.
OpenSSL should be built/installed first. I recommend using a folder at the same level as «lmc» folder as the OpenSSL folder.
Next build «lmcapp» project. All the files needed are present inside lmcapp\src folder. This project should be built as a shared library. The outputs of this project are lmcapp.dll and lmcapp.a, which will be created in lmcapp\lib folder. The .dll file should be moved to lmcapp\bin and the .a file should be left in lmcapp\lib. In case of debug build, the output files will be lmcappd.dll and lmcappd.a
Finally build «lmc» project. This project references both OpenSSL and lmcapp, so the correct paths to headers and libraries should be set first. The headers of lmcapp should be in lmcapp\include The libraries of lmcapp should be in lmcapp\lib The headers of OpenSSL should be in openssl\include The libraries of OpenSSL should be in openssl\lib Note: OpenSSL paths may be different depending on how it was built/installed in your system.
Once you have built lmc, run the «buildwin32.bat» batch file found in the src\scripts folder. This script compiles the translation files, builds the resources into a separate binary file and copies the application dependencies to the output folder. The path of output directory should be passed as a parameter for this script. The script depends on the QTDIR environment variable, so make sure it is set correctly. You can probably add the execution of this script as a custom build step in your IDE. That way it will be automatically called every time you build the project.
Compiling LAN Messenger on X11/Linux
OpenSSL should be built first. I recommend using a folder at the same level as «lmc» folder as the OpenSSL folder.
Next build «lmcapp» project. All the files needed are present inside lmcapp/src folder. This project should be built as a shared library. The outputs of this project is liblmcapp.1.0.0.so, which will be created in lmcapp/lib folder.
Finally build «lmc» project. This project references both OpenSSL and lmcapp, so the correct paths to headers and libraries should be set first. The headers of lmcapp should be in lmcapp/include The libraries of lmcapp should be in lmcapp/lib The headers of OpenSSL should be in openssl/include The libraries of OpenSSL should be in openssl/lib Note: OpenSSL paths may be different depending on how it was built/installed in your system.
Once you have built lmc, run the «buildx11» shell script found in the src/scripts folder. This script performs the same actions as its Windows counterpart. The QTDIR variable defined in the script should contain the correct path to Qt libraries. You can add the execution of this script as a custom build step to automate the whole process. If you get an error while executing the script, edit the script to make sure that the Qt plugins path in the script is correct.
Compiling LAN Messenger on Mac OS X
Build «lmcapp» project. All the files needed are present inside lmcapp/src folder. This project should be built as a shared library. The outputs of this project is liblmcapp.1.0.0.dylib, which will be created in lmcapp/lib folder.
Finally build «lmc» project. This project references lmcapp, so the correct paths to headers and libraries should be set first. The headers of lmcapp should be in lmcapp/include The libraries of lmcapp should be in lmcapp/lib
Note: There is no need to link to OpenSSL since it is present as a system library on Mac OS X.
Once you have built lmc, run the «buildmacos» shell script found in the src/scripts folder. This script performs the same actions as its Windows counterpart. The script depends on the QTDIR environment variable, so make sure it is set correctly. You can add the execution of this script as a custom build step to automate the whole process. If you get an error while executing the script, edit the script to make sure that the Qt plugins path in the script is correct.
Note: On Mac OS X, option to start LAN Messenger on startup will not work. This is a platform dependent function and I have not implemented it.
LAN Messenger can play sounds to accompany certain events. This behaviour is customizable in the Preferences dialog. Sound functions are provided by Qt which in turn depend on different subsystem on each platform. This should not be a problem in Windows and Mac. However on Linux, Qt needs the Network Audio System for sound functions. If NAS is not available the application will not play sounds. Sound options will be grayed out in the Preferences dialog.
On desktops that do not have a system tray, the system tray options will be grayed out in the Preferences dialog.