This is mostly a memory helper, to remind me some steps in the setup of Svxlink on Orange Pi
- Load packages
-
sudo apt update
sudo apt install g++ cmake make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt20-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev doxygen groff alsa-utils vorbis-tools curl libcurl4-openssl-dev git rtl-sdr libcurl4-openssl-dev
-
- Create svxlink user and add to groups
-
sudo useradd -rG audio,plugdev,gpio svxlink
-
- Download the software from Github and compile
-
git clone http://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..
make -j4
make doc
sudo make install
sudo ldconfig
-
At step 3.iv you might encounter the following error:
— Could NOT find CURL (missing: CURL_INCLUDE_DIR CURL_LIBRARY) CMake Error at svxlink/svxlink/CMakeLists.txt:48 (message): Could not find the CURL library and development files.
In that case install libcurl4-openssl-dev
:
sudo apt-get install libcurl4-openssl-dev
A successful CMAKE should look like this:
tom@yo3iti-p:~/svxlink-maint/src/build$ cmake -DCMAKE_INSTALL_PREFIX=/opt/rolink -DSYSCONF_INSTALL_DIR=/opt/rolink/conf -DLOCAL_STATE_DIR=/opt/rolink/var ..
— Reading versions file…
— SvxLink user = svxlink
— SvxLink group = svxlink
— Found Qt5 version 5.5.1
— With Systemd = OFF
— Found CURL: /usr/include
— Found Doxygen: /usr/bin/doxygen (found version “1.8.11”)
— Found gzip: /bin/gzip
— Found groff: /usr/bin/groff
— Package Version = 19.09
— Configuring done
— Generating done
— Build files have been written to: /home/tom/svxlink-maint/src/build
Creating groups and adding users
Now it’s time to create a group. Let’s create the group editorial. To do this, you would issue the command:
sudo groupadd svxlink
Now we want to add our new user, olivia, to the group editorial. For this we will take advantage of the usermod command. This command is quite simple to use.
sudo usermod -a -G svxlink svxlink
The -a option tells usermod we are appending and the -G option tells usermod we are appending to the group name that follows the option.
How do you know which users are already a member of a group? You can do this the old-fashioned way like so:
grep svxlink /etc/group
Linking libraries for a custom install
https://blog.andrewbeacock.com/2007/10/how-to-add-shared-libraries-to-linuxs.html
Ubuntu
Create a new file in /etc/ld.so.conf.d/ called .conf
Edit the file and add a line per directory of shared libraries (*.so files), it will look something like:
/usr/lib/APPLICATION/lib
Reload the list of system-wide library paths:
sudo ldconfig
Debian
Edit /etc/ld.so.conf
Add a line per directory of shared libraries (*.so files) to the bottom of the file, it will look something like:
/usr/X11R6/lib
/usr/lib/APPLICATION/lib
Reload the list of system-wide library paths:
ldconfig
If you run your new application it should now work fine without you having to set any LD_LIBRARY_PATH environment variables.
If you still have problems you can obtain a list of the libraries that are on the system path by re-running the ldconfig command in verbose mode:
ldconfig -v
Add command to PATH
Enable syntaxhighlighting in nano
https://askubuntu.com/questions/90013/how-do-i-enable-syntax-highlighting-in-nano
Using find on Linux
https://www.tecmint.com/35-practical-examples-of-linux-find-command/
Use systemd to Start a Linux Service at Boot
https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/
Using WPA_Supplicant instead of NetworkManager
https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant
https://unix.stackexchange.com/questions/192671/what-is-a-hotplug-event-from-the-interface