[OUTDATED] How to Install Piaware v 3.7.2 on Ubuntu 18.04 (Bionic) & Ubuntu 19.04 (Disco) amd64 / Intel PC

What’ the locking issue you see? The C++ standard library makes some of the common errors harder to make, at least.

edit: this is how wait_for / wait_until work:

while (!pred()) {
    if (wait_until(lock, timeout_time) == std::cv_status::timeout) {
        return pred();
    }
}
return true;

so if we see _buf_count == 0 but the increment in the other thread wins the race with us acquiring the lock, wait_until just returns immediately (because the predicate is true on entry) without ever waiting.

(that said, touching _buf_count with no lock is a bit hairy)

Yeah the predicate is checked on entering the wait, so it’s not an issue.

Don’t think it’s an issue as this thread is the only one decrementing that variable.
And seeing 0 instead of >0 is not an issue for the logic, while it should never see >0 if it’s actually 0.

So no i don’t see anything, i suppose it’s more likely the rx_callback is not firing for some build or other reason.

This happens not only on Debian 10 amd64 on VM, but also on Armbian Buster on armv7 (Orangepipc)

.

After getting failures of dump978-fa, I did do a reimage & fresh install, both in VM and on OrangePiPC, and got same result.

In addition, as dump1090 was working OK, I swapped device serial numbers in /etc/default/dump1090-mutability and /etc/default/dump978-fa, and rebooted the machine/pi. The dump1090 continued working OK and dump978-fa again failed. This shows that the problem is not in the dongle, or usb port or the machine.

apt-cache policy soapysdr0.6-module-rtlsdr soapysdr0.7-module-rtlsdr libsoapysdr-dev librtlsdr0

Let’s see if i can manage to get the exact same versions you are using.

@wiedehopf
Right now I am away from home, cannot access Desktop & Pi, will check when back home.

I cannot reproduce the dump978-fa timeout error with:

  • virtualbox 6.1.0-135406 on a Ubuntu 18.04.3 host, KVM / VT-x
  • using the Debian 10 “standard” live CD (debian-live-10.2.0-amd64-standard.iso) from Index of /debian-cd/current-live/amd64/iso-hybrid
  • using the debian-provided binary packages for librtlsdr, soapysdr, and other build dependencies
  • building dump978-fa 3.8.0~dev (dev branch) as a package, then installing the package

(nb: rtl_test drops a bunch of samples with this configuration - the usual USB-in-a-VM problem)

abcd@debian-10:~$ apt-cache policy soapysdr0.6-module-rtlsdr soapysdr0.7-module-rtlsdr libsoapysdr-dev librtlsdr0
soapysdr0.6-module-rtlsdr:
  Installed: 0.2.5-1
  Candidate: 0.2.5-1
  Version table:
 *** 0.2.5-1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
libsoapysdr-dev:
  Installed: 0.6.1-4+b1
  Candidate: 0.6.1-4+b1
  Version table:
 *** 0.6.1-4+b1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
librtlsdr0:
  Installed: 0.6-1
  Candidate: 0.6-1
  Version table:
 *** 0.6-1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
N: Unable to locate package soapysdr0.7-module-rtlsdr
N: Couldn't find any package by glob 'soapysdr0.7-module-rtlsdr'
N: Couldn't find any package by regex 'soapysdr0.7-module-rtlsdr'


@obj

Good News

On 3rd re-imaging of Debian 10, the dump978-fa 3.7.2 is working OK
https://flightaware.com/adsb/stats/user/abcd567#stats-114692

abcd@debian-10:~$ uname -a
Linux debian-10 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux

abcd@debian-10:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

abcd@debian-10:~$ apt-cache policy dump978-fa
dump978-fa:
  Installed: 3.7.2
  Candidate: 3.7.2
  Version table:
 *** 3.7.2 100
        100 /var/lib/dpkg/status

.

(1) Deleted the Debian 10 from VM, and reinstalled using (as before):
debian-10.2.0-amd64-netinst.iso

(2) Build and installed piaware 3.8.0~dev from source code
(3) Build & installed dump978-fa ver 3.7.2 from source code
(4) Installed dump1090-mutability using pre-build package dump1090-mutability_1.15.dev_amd64.deb

sudo apt install -y librtlsdr0 lighttpd 
sudo wget -O https://github.com/abcd567a/dump1090/releases/download/v1/dump1090-mutability_1.15.dev_amd64.deb
sudo dpkg -i dump1090-mutability_1.15.dev_amd64.deb
sudo wget -O /etc/udev/rules.d/rtl-sdr.rules "https://raw.githubusercontent.com/osmocom/rtl-sdr/master/rtl-sdr.rules" 
sudo dpkg-reconfigure dump1090-mutability

sudo reboot

.

@obj

I have a wild guess.

In 1st Debian-10 install, I installed dump1090-fa

In 2nd Debian-10 (reimage), I installed dump1090-mutability EB_VERSION by sudo apt install dump1090-mutability

In 3rd (current) Debian-10 install, I installed dump1090-mutability ver 1.15~dev.

Only in current install, I have installed librtlsdr0 as dependency of dump1090-mutability ver 1.15~dev. Has librtlsdr0 stopped the failure of dump978-fa?

I will tomorrow make 4th reimage of Debian 10, and this time wont install dump1090-mutability ver 1.15~dev and librtlsdr0. Instead will built & install dump1090-fa which does not require librtlsdr0, and see what happens.

1 Like
ackage: soapysdr0.6-module-rtlsdr
Source: soapyrtlsdr
Version: 0.2.5-1
Installed-Size: 112
Maintainer: Debian Hamradio Maintainers <debian-hams@lists.debian.org>
Architecture: amd64
Provides: soapysdr0.6-module
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), librtlsdr0, libsoapysdr0.6, libstdc++6 (>= 6)

Maybe you were missing the soapysdr module for rtl-sdr?
Because with that module you get librtlsdr0 as dependency.

You wouldn’t see any of the rtl-specific device discovery messages (tuner type, etc) if the rtlsdr module was missing

@abcd567 maybe it’s time to update this thread with the process for the 3.8.0 version?

Apt-get update yields:

N: Skipping acquire of configured file ‘piaware/binary-amd64/Packages’ as repository ‘http://flightaware.com/adsb/piaware/files/packages buster InRelease’ doesn’t support architecture ‘amd64’
N: Skipping acquire of configured file ‘piaware/binary-i386/Packages’ as repository ‘http://flightaware.com/adsb/piaware/files/packages buster InRelease’ doesn’t support architecture ‘i386’

Well I have to first build & install the newly released ver 3.8.0 on following 4 distros, then only I will be able to post the how-to:

  1. Ubuntu 18.04 (Bionic) amd64
  2. Ubuntu 19.10 (Disco) amd64
  3. Debian 10.2 (Buster) amd64
  4. Armbian Buster / OrangePiPC
1 Like

I am in the #2 category :slight_smile:

You need to just follow the guide again with the compilation stuff.

The repository package you installed isn’t useful on amd64, might as well remove it.

sudo apt purge piaware-repository

As i said just follow the whole guide here, nothing should have changed.

1 Like

I have performed first

$ cd piaware_builder
$ git reset --hard origin/master
HEAD is now at 8cdcb9e Release 3.8.0

After that I deleted the folders created by the installation git commands for dump1080-fa and piaware.
Then I have run only the portion after git clone procedures to download the new files.
The Bionic builds the FreezeCx 6.0 so the “patch” of 5.1.1 is not required anymore.
I had to change in the build instructions the 3.7.2 with 3.8.0 and everything worked well, I am feeding now from the 3.8.0 (instead of the branch 3.8.0 dev) and all seems to be OK.

1 Like

It fails for me at this stage. Any advice?

dpkg-deb: building package ‘dump1090-fa-dbgsym’ in ‘debian/.debhelper/scratch-space/build-dump1090-fa/dump1090-fa-dbgsym_3.8.1_amd64.deb’.
Renaming dump1090-fa-dbgsym_3.8.1_amd64.deb to dump1090-fa-dbgsym_3.8.1_amd64.ddeb
mv debian/.debhelper/scratch-space/build-dump1090-fa/dump1090-fa-dbgsym_3.8.1_amd64.deb …/dump1090-fa-dbgsym_3.8.1_amd64.ddeb
dpkg-genbuildinfo --build=binary
dpkg-genchanges --build=binary >…/dump1090-fa_3.8.1_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
signfile dump1090-fa_3.8.1_amd64.buildinfo
gpg: WARNING: unsafe ownership on homedir ‘/home/me/.gnupg’
gpg: skipped “Eric Tran eric.tran@flightaware.com”: No secret key
gpg: dpkg-sign.ydLJqE32/dump1090-fa_3.8.1_amd64.buildinfo: clear-sign failed: No secret key

dpkg-buildpackage: error: failed to sign .buildinfo file
me@VirtualBox-Linux-Development:~/dump1090-fa$

That’s not really a failure, it’s just not signed as you’re not Eric Tran.
But as you can usually trust yourself, the package not being signed is not an issue.

You can add --no-sign to the buildpackage command, that will remove the error.
But really it doesn’t matter.

@jamawg
You are using an old thread (3.7.2)
Use a bit newer thread (3.8.0)
Actually a howto for (3.8.1) is required

Note that the --no-sign was included in howto for (3.8.0) as quoted above

1 Like