Build SvxLink on Orange Pi — aide-mémoire


            

This is mostly a memory helper, to remind me some steps in the setup of Svxlink on Orange Pi

  1. Load packages
      1. sudo apt update
      2. 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
  2. Create svxlink user and add to groups
      1. sudo useradd -rG audio,plugdev,gpio svxlink
  3. Download the software from Github and compile
      1. git clone http://github.com/sm0svx/svxlink.git
      2. mkdir svxlink/src/build
      3. cd svxlink/src/build
      4. cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..
      5. make -j4
      6. make doc
      7. sudo make install
      8. 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/128439/good-detailed-explanation-of-etc-network-interfaces-syntax

https://unix.stackexchange.com/questions/192671/what-is-a-hotplug-event-from-the-interface

Short Assembly test in Fusion 360: RoLink + Raspberry

A very short clip with assembly test in Autodesk Fusion360: Raspberry Pi and a hat I designed for mobile radio. This type of simulation is extremely useful to pin point issues in mechanical design and assemblies (see at 0:35), that can be avoided early in the manufacturing process. I will create a more detailed tutorial […]

Build SvxLink on Raspberry — aide-mémoire

This is not really a post, but mostly a reminder with some information to help me remember the steps. Meanwhile I wrote a much more extensive documentation here, on my wiki (in romanian). And I think I also made a video tutorial but I have to upload it to YouTube. Load packages sudo apt update […]

Comments are closed.