Thanks so much for such a comprehensive upgrade instruction. Worked perfectly. FA now back up and running under Bookworm.
Hello,
I installed piaware via
get https://de.flightaware.com/adsb/piaware/files/packages/pool/piaware/f/flightaware-apt-repository/flightaware-apt-repository_1.2_all.deb
sudo dpkg -i flightaware-apt-repository_1.2_all.deb
sudo apt-get install piaware
sudo apt-get install dunmp1090-fa
sudo apt-get install piaware-web
But now I have this error
/usr/bin/dump1090-fa: error while loading shared libraries: librtlsdr.so.0: cannot open shared object file: No such file or directory
sudo find -iname "librtlsdr.so"
/usr/lib/aarch64-linux-gnu/librtlsdr.so
librtlsdr0 is already the newest version (2.0.1)
What is wrong??
I am un rpi4 with bookworm
What are outputs of following commands?
uname -a
lsb_release -a
dpkg --print-architecture
dpkg --print-foreign-architectures
apt-cache policy dump1090-fa
$ uname -a
Linux smarthome 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
openhabian@smarthome:~ $ dpkg --print-architecture
arm64
$ dpkg --print-foreign-architectures
armhf
$ apt-cache policy dump1090-fa
dump1090-fa:
Installed: 9.0
Candidate: 9.0
Version table:
*** 9.0 500
500 http://flightaware.com/adsb/piaware/files/packages bookworm/piaware arm64 Packages
100 /var/lib/dpkg/status
Try this:
sudo apt update
sudo apt install --reinstall librtlsdr-dev
sudo reboot
Not solved
/usr/bin/dump1090-fa: error while loading shared libraries: librtlsdr.so.0: cannot open shared object file: No such file or directory
Try this;
cd /usr/lib/aarch64-linux-gnu/
sudo ln -sf librtlsdr.so.0.6.0 librtlsdr.so.0
sudo reboot
Used this sudo ln -sf librtlsdr.so.2.0.1 librtlsdr.so.0
After creating above symlink, did dump1090-fa start working?
.
Yes Up and running …
On my two RPi Model 4, I have Raspberry Pi OS Bookworm. I ran sudo apt update and sudo apt upgrade on both only yesterday. Both have librtlsdr.so.0.6.0.
How come you have librtlsdr.so.2.0.1 ?
OK, never mind.
Found that if librtlsdr-dev
is built from source-code, the vesion is 2.0.1
git clone https://github.com/steve-m/librtlsdr
cd librtlsdr
git describe --tags | sed 's/-.*//'
v2.0.1
sudo dpkg-buildpackage -b --no-sign
cd ../
ls librtlsdr*
librtlsdr0_2.0.1_arm64.deb
librtlsdr0-dbgsym_2.0.1_arm64.deb
librtlsdr-dev_2.0.1_arm64.deb
Dont understand why you built librtlsdr-dev
from source code, when it is readily available in Debian / Raspberrypi repository, and can very easily be installed by command sudo apt install librtlsdr-dev
.
I was not aware of the package therefore installed it from scratch…how can I remove it?
Purge it, then install the package from apt.
(1) Purge package ver 2.0.1
sudo dpkg --purge librtlsdr-dev
sudo dpkg --purge librtlsdr0
(2) Delete symlink you creted manually.
sudo rm /usr/lib/aarch64-linux-gnu/librtlsdr.so.0
(3) Install package librtlsdr-dev
ver 0.6.0 from Debian / Raspberrypi repository
sudo apt update
sudo apt install librtlsdr-dev
Still the same
ls: cannot access 'librtlsdr.so.0.6.0': No such file or directory
What is outout of folowing command:
apt-cache policy librtlsdr-dev
This is what I get:
pi@raspberrypi:~ $ apt-cache policy librtlsdr-dev
librtlsdr-dev:
Installed: 0.6.0-4
Candidate: 0.6.0-4
Version table:
*** 0.6.0-4 500
500 http://deb.debian.org/debian bookworm/main arm64 Packages
100 /var/lib/dpkg/status
librtlsdr-dev:
Installed: 2.0.1
Candidate: 2.0.1
Version table:
*** 2.0.1 500
500 https://downloads.osmocom.org/packages/osmocom:/latest/Debian_12 ./ Packages
100 /var/lib/dpkg/status
0.6.0-4 500
500 http://deb.debian.org/debian bookworm/main arm64 Packages
removed it from source list
now it’s the same
librtlsdr-dev:
Installed: 0.6.0-4
Candidate: 0.6.0-4
Version table:
*** 0.6.0-4 500
500 http://deb.debian.org/debian bookworm/main arm64 Packages
100 /var/lib/dpkg/status
also starting without the link
Great!
The librtlsdr-dev
package from Debian Repository creates all the necessary Symlinks automatically when it is installed
ls -l /usr/lib/aarch64-linux-gnu/librtlsd*
-rw-r--r-- 1 root root 101882 Jan 15 2022 /usr/lib/aarch64-linux-gnu/librtlsdr.a
lrwxrwxrwx 1 root root 14 Jan 15 2022 /usr/lib/aarch64-linux-gnu/librtlsdr.so -> librtlsdr.so.0
lrwxrwxrwx 1 root root 18 Jan 15 2022 /usr/lib/aarch64-linux-gnu/librtlsdr.so.0 -> librtlsdr.so.0.6.0
-rw-r--r-- 1 root root 69136 Jan 15 2022 /usr/lib/aarch64-linux-gnu/librtlsdr.so.0.6.0
From above few posts, we came to know the frustrating fact that librtlsdr-dev
from above two sources provides version 2.0.1 instead of version 0.6.0-4 provided by Debian Repository. On top of that the installation of librtlsdr-dev
using packages from above two sources also lack following Symlink, which causes dump1090-fa to fail.
/usr/lib/aarch64-linux-gnu/librtlsdr.so.0 -> librtlsdr.so.2.0.1