FlightAware Discussions

Howto Install dump1090-fa on FEDORA and RHEL x86_64

How to install piaware data feeder on Fedora 31 x86_64

Will be posted when & if I succeeded to build piaware data feeder from source code on Fedora.

How to install Planefinder and Flightradar24 data feeders on Fedora 31 and RHEL 8.1 x86_64

(A) PLANEFINDER DATA FEEDER

NOTE:
Planefinder does NOT offer an x64 feeder. It offers only i386 feeder. We will therefore use the i386 feeder.
On fedora the “pfclient_4.1.1_i386.deb” package cannot be installed.
We will therefore use linux binary tarball “pfclient_4.1.1_i386.tar.gz”.
Since the tarball does not contain any configuration, init, or service files, we will create all this manually.

1 - Prepare x86_64 OS to accept i386 linux binary

Fedora

sudo dnf install glibc.i686  glibc.x86_64 audit.x86_64   

.
RHEL

sudo dnf install glibc.i686 libgcc.i686 libgcc.x86_64 audit.x86_64
 

.

2 - Download and uncompress tarball “pfclient_4.1.1_i386.tar.gz”

sudo dnf install wget  
sudo mkdir /usr/share/pfclient  
sudo wget -O /usr/share/pfclient/pfclient_4.1.1_i386.tar.gz "http://client.planefinder.net/pfclient_4.1.1_i386.tar.gz"  
sudo tar zxvf /usr/share/pfclient/pfclient_4.1.1_i386.tar.gz -C /usr/share/pfclient/  
sudo cp /usr/share/pfclient/pfclient /usr/bin/pfclient  

.

3 - Create configuration file

sudo touch /etc/pfclient-config.json  
sudo chmod 666 /etc/pfclient-config.json  
sudo echo "{}" > /etc/pfclient-config.json  

4 - Setup systemd service for auto-start at boot, and for start, stop & status.

4.1 - Create system user pfc to run the pfclient

sudo useradd --system pfc  


4.2 - Create a new blank file pfclient.service

sudo dnf install nano  
sudo nano /lib/systemd/system/pfclient.service  


4.3 - In file pfclient.service , copy-paste following code:

[Unit]
Description=Planefinder Feeder
After=network-online.target

[Service]
Type=simple
SyslogIdentifier=pfclient
RuntimeDirectory=pfclient
RuntimeDirectoryMode=0755
User=pfc
PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir -p /var/log/pfclient
ExecStartPre=-/bin/chown pfc /var/log/pfclient
ExecStart=/usr/bin/pfclient --config_path=/etc/pfclient-config.json --log_path=/var/log/pfclient $ 2>/var/log/pfclient/error.log
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target  

Save file (Ctrl+o) and close file (Ctrl+x)

5 - Enable the pfclient service by following command

sudo systemctl enable pfclient  
sudo systemctl restart pfclient  
sudo systemctl status pfclient  

.

6 - RHEL only: Configure firewall

This is necessary to enable display of Planefinder Configuration and Map page at IP:30053 in browser of another computer on same LAN

sudo firewall-cmd --zone=public --add-port=30053/tcp
firewall-cmd --runtime-to-permanent 
sudo firewall-cmd --reload

##Give following command to see that port 30053 is included in the list
sudo firewall-cmd --list-all --zone=public

7 - Configuring Planefinder Feeder:

In RHEL or Fedora computer, go to page localhost:30053 (or to IP:30053 from another computer) and add your sharing key, latitude, longitude.

.

8 - Useful Commands:

sudo systemctl status pfclient  
sudo systemctl restart pfclient  
sudo systemctl stop pfclient  

.

(B) FLIGHTRADAR24 DATAFEEDER

1 - Download and uncompress tarball “fr24feed_1.0.24-5_amd64.tgz”

sudo mkdir /usr/share/fr24 
sudo wget -O /usr/share/fr24/fr24feed_1.0.24-5_amd64.tgz "https://repo-feed.flightradar24.com/linux_x86_64_binaries/fr24feed_1.0.24-5_amd64.tgz"
sudo tar xvzf /usr/share/fr24/fr24feed_1.0.24-5_amd64.tgz -C /usr/share/fr24
sudo cp /usr/share/fr24/fr24feed_amd64/fr24feed /usr/bin/

.

2 - Create configuration file “fr24feed.ini”

sudo nano /etc/fr24feed.ini

.

3 - Copy-paste following code in the newly created blank file fr24feed.ini

receiver="beast-tcp"
host="127.0.0.1:30005"
fr24key=""

bs="no"
raw="no"
logmode="1"
logpath="/var/log/fr24feed/"
mlat="no"
mlat-without-gps="no"

use-http=yes
http-timeout=20

.

4 - Create user fr24 to run service

sudo useradd --system fr24

.

5 - Create Service file fr24feed.service

sudo nano /lib/systemd/system/fr24feed.service

.

6 - Copy-paste following code in newly created blank file fr24feed.service

[Unit]
Description=Flightradar24 Feeder
After=network-online.target
[Service]
Type=simple
Restart=always
LimitCORE=infinity
RuntimeDirectory=fr24feed
RuntimeDirectoryMode=0755
ExecStartPre=-/bin/mkdir -p /var/log/fr24feed
ExecStartPre=-/bin/chown fr24 /var/log/fr24feed
ExecStart=/usr/bin/fr24feed
User=fr24
PermissionsStartOnly=true
StandardOutput=null
[Install]
WantedBy=multi-user.target

.

7 - Enable and start fr24feed service

sudo systemctl enable fr24feed
sudo systemctl restart fr24feed

.

8 - Installation Completed, please SIGNUP as below:

Option-1
If you already have a feeder key, open file fr24feed.ini by following command and add fr24key:

sudo nano /etc/fr24feed.ini 

Save (Ctrl+o) and Close (Ctrl+x) file fr24feed.ini
Restart fr24feed by following command:

sudo systemctl restart fr24feed

Option-2
Alternatively signup using following command

sudo nano fr24feed --signup 

.

9 - RHEL only: Configure firewall

This is necessary to enable display of Flightradar24 Status & Configuration page at IP:8754 in browser of another computer on same LAN

sudo firewall-cmd --zone=public --add-port=8754/tcp
firewall-cmd --runtime-to-permanent 
sudo firewall-cmd --reload

##Give following command to see that port 8754 is included in the list
sudo firewall-cmd --list-all --zone=public

10 - Checks:

In your RHEL/Fedora computer’s browser, go to web interface at
localhost:8754

In another computer on same LAN, go to web interface at
http://ip-of-fedora:8754

To see status:
sudo systemctl status fr24feed

To restart:
sudo systemctl restart fr24feed

To stop:
sudo systemctl stop fr24feed

Update:

“How to” for dump1090-fa updated to include steps for RHEL (Red Hat Enterpise Linux)

1 Like

Failed attempt to build piaware linux binary from source-code on Red Hat (RHEL)

What have I done wrong?

git clone https://github.com/flightaware/piaware.git
cd piaware 
mkdir build && cd build 
sudo cmake ../

CMake Error: The source directory "/home/abcd/piaware" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

EDIT:
Search failed

sudo find / -name CMakeLists.txt
[sudo] password for abcd:
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/share/cmake/Modules/FortranCInterface/Verify/CMakeLists.txt
/usr/share/cmake/Modules/FortranCInterface/CMakeLists.txt
/usr/share/cmake/Modules/IntelVSImplicitPath/CMakeLists.txt
/home/abcd/librtlsdr/CMakeLists.txt
/home/abcd/librtlsdr/include/CMakeLists.txt
/home/abcd/librtlsdr/src/CMakeLists.txt
/home/abcd/rtl-sdr/CMakeLists.txt
/home/abcd/rtl-sdr/include/CMakeLists.txt
/home/abcd/rtl-sdr/src/CMakeLists.txt

uh… why are you trying to use cmake? piaware doesn’t use cmake.

(cmake is entirely different to regular make)

$ sudo dnf install tcl  

$ ls -l /bin/tclsh
lrwxrwxrwx. 1 root root 8 Aug 12  2018 /bin/tclsh -> tclsh8.6

.

$ git clone https://github.com/flightaware/piaware.git
$ cd piaware

$ sudo make
'make install' as root to install client package and program

$ sudo make install
make -C package install
make[1]: Entering directory '/home/abcd/piaware/package'
echo 'pkg_mkIndex .' | /bin/tclsh
install -d /usr/lib/piaware_packages /usr/lib/piaware_packages/ca
install fa_piaware_config.tcl fa_adept_client.tcl fa_sudo.tcl fa_services.tcl fa_sysinfo.tcl fa_gps.tcl piaware.tcl tryfinallyshim.tcl egm96.tcl egm96geoid.tcl pkgIndex.tcl /usr/lib/piaware_packages  
install ca/*.pem /usr/lib/piaware_packages/ca
c_rehash /usr/lib/piaware_packages/ca
make[1]: c_rehash: Command not found
make[1]: *** [Makefile:17: install] Error 127
make[1]: Leaving directory '/home/abcd/piaware/package'
make: *** [Makefile:18: install] Error 2

EDIT-1

Done this:

$ sudo find /usr -iname c_rehash
## Above command outputs nothing

$ sudo dnf install openssl 
Package openssl-1:1.1.1c-2.el8.x86_64 is already installed.

$ sudo dnf install openssl-perl 

$ sudo find /usr -iname c_rehash
/usr/bin/c_rehash

Tried make install again
FAILED due to mising tcllauncher (not available in RHEL repository)

$ sudo make install
make -C package install
make[1]: Entering directory '/home/abcd/piaware/package'
install -d /usr/lib/piaware_packages /usr/lib/piaware_packages/ca
install fa_piaware_config.tcl fa_adept_client.tcl fa_sudo.tcl fa_services.tcl fa_sysinfo.tcl fa_gps.tcl piaware.tcl tryfinallyshim.tcl egm96.tcl egm96geoid.tcl pkgIndex.tcl /usr/lib/piaware_packages
install ca/*.pem /usr/lib/piaware_packages/ca
c_rehash /usr/lib/piaware_packages/ca
Doing /usr/lib/piaware_packages/ca
make -C helpers install
make[2]: Entering directory '/home/abcd/piaware/package/helpers'
cc  -Wall -Werror -O  -o droproot droproot.c
install -d /usr/lib/piaware_packages/helpers
install -m 0755 update-piaware-config droproot /usr/lib/piaware_packages/helpers
make[2]: Leaving directory '/home/abcd/piaware/package/helpers'
make -C fa_adept_codec install
make[2]: Entering directory '/home/abcd/piaware/package/fa_adept_codec'
echo 'pkg_mkIndex . fa_adept_codec.tcl fa_adept_schema.tcl none.codec adept_1.x.codec adept_2.1.codec adept_2.2.codec' | /bin/tclsh
install -d /usr/lib/fa_adept_codec
install fa_adept_codec.tcl fa_adept_schema.tcl none.codec adept_1.x.codec adept_2.1.codec adept_2.2.codec pkgIndex.tcl /usr/lib/fa_adept_codec
make[2]: Leaving directory '/home/abcd/piaware/package/fa_adept_codec'
make[1]: Leaving directory '/home/abcd/piaware/package'
make -C programs/piaware install
make[1]: Entering directory '/home/abcd/piaware/programs/piaware'
which: no tcllauncher in (/sbin:/bin:/usr/sbin:/usr/bin)
install -d /usr/bin /usr/lib/piaware
install -m 0755  /usr/bin/piaware
install: missing destination file operand after '/usr/bin/piaware'
Try 'install --help' for more information.
make[1]: *** [Makefile:15: install] Error 1
make[1]: Leaving directory '/home/abcd/piaware/programs/piaware'
make: *** [Makefile:19: install] Error 2

.

$ sudo dnf install tcllauncher

Updating Subscription Management repositories.
Last metadata expiration check: 0:08:47 ago on Sun 02 Feb 2020 02:17:22 PM EST.
No match for argument: tcllauncher
Error: Unable to find a match: tcllauncher

EDIT-2

Built and installed tcllauncher

# I have installed tcl already
$ sudo dnf install tcl-devel autoconf

$ git clone https://github.com/flightaware/tcllauncher.git  
$ cd tcllauncher 
$ autoconf -f 
$ ./configure  
$ make  
$ sudo make install  

$ sudo find / -name tcllauncher
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/bin/tcllauncher
/home/abcd/tcllauncher
/home/abcd/tcllauncher/tcllauncher

.

Tried make install again

$ cd piaware
$ sudo make install  

make -C package install
make[1]: Entering directory '/home/abcd/piaware/package'
install -d /usr/lib/piaware_packages /usr/lib/piaware_packages/ca
install fa_piaware_config.tcl fa_adept_client.tcl fa_sudo.tcl fa_services.tcl fa_sysinfo.tcl fa_gps.tcl piaware.tcl tryfinallyshim.tcl egm96.tcl egm96geoid.tcl pkgIndex.tcl /usr/lib/piaware_packages
install ca/*.pem /usr/lib/piaware_packages/ca
c_rehash /usr/lib/piaware_packages/ca
Doing /usr/lib/piaware_packages/ca
make -C helpers install
make[2]: Entering directory '/home/abcd/piaware/package/helpers'
install -d /usr/lib/piaware_packages/helpers
install -m 0755 update-piaware-config droproot /usr/lib/piaware_packages/helpers
make[2]: Leaving directory '/home/abcd/piaware/package/helpers'
make -C fa_adept_codec install
make[2]: Entering directory '/home/abcd/piaware/package/fa_adept_codec'
install -d /usr/lib/fa_adept_codec
install fa_adept_codec.tcl fa_adept_schema.tcl none.codec adept_1.x.codec adept_2.1.codec adept_2.2.codec pkgIndex.tcl /usr/lib/fa_adept_codec
make[2]: Leaving directory '/home/abcd/piaware/package/fa_adept_codec'
make[1]: Leaving directory '/home/abcd/piaware/package'
make -C programs/piaware install
make[1]: Entering directory '/home/abcd/piaware/programs/piaware'
install -d /usr/bin /usr/lib/piaware
install -m 0755 /bin/tcllauncher /usr/bin/piaware
install *.tcl /usr/lib/piaware
make -C helpers install
make[2]: Entering directory '/home/abcd/piaware/programs/piaware/helpers'
install -d /usr/lib/piaware/helpers
install -m 0755 run-apt-get /usr/lib/piaware/helpers
install -m 0644 flightaware-archive-keyring.gpg /usr/lib/piaware/helpers
make[2]: Leaving directory '/home/abcd/piaware/programs/piaware/helpers'
make[1]: Leaving directory '/home/abcd/piaware/programs/piaware'
make -C programs/piaware-config install
make[1]: Entering directory '/home/abcd/piaware/programs/piaware-config'
install -d /usr/bin /usr/lib/piaware-config
install -m 0755 /bin/tcllauncher /usr/bin/piaware-config
install *.tcl /usr/lib/piaware-config
make[1]: Leaving directory '/home/abcd/piaware/programs/piaware-config'
make -C programs/piaware-status install
make[1]: Entering directory '/home/abcd/piaware/programs/piaware-status'
install -d /usr/bin /usr/lib/piaware-status
install -m 0755 /bin/tcllauncher /usr/bin/piaware-status
install *.tcl /usr/lib/piaware-status
make[1]: Leaving directory '/home/abcd/piaware/programs/piaware-status'
make -C programs/pirehose install
make[1]: Entering directory '/home/abcd/piaware/programs/pirehose'
install -d /usr/bin /usr/lib/pirehose
install -m 0755 /bin/tcllauncher /usr/bin/pirehose
install *.tcl /usr/lib/pirehose
install -m 0755 *.sh /usr/lib/pirehose
make[1]: Leaving directory '/home/abcd/piaware/programs/pirehose'
make -C doc install
make[1]: Entering directory '/home/abcd/piaware/doc'
install -d /usr/share/man/man1
install faup1090.1 piaware.1 piaware-config.1 piaware-status.1 /usr/share/man/man1
make[1]: Leaving directory '/home/abcd/piaware/doc'
make -C scripts install
make[1]: Entering directory '/home/abcd/piaware/scripts'
install -d /etc/init.d
install -m 0755 piaware-rc-script /etc/init.d/piaware
install -d /etc/systemd/system
install piaware.service /etc/systemd/system/piaware.service
install generate-pirehose-cert.service /etc/systemd/system/generate-pirehose-cert.service
make[1]: Leaving directory '/home/abcd/piaware/scripts'
make -C etc install
make[1]: Entering directory '/home/abcd/piaware/etc'
Not installing sudoers file (set INSTALL_SUDOERS=1 to enable)
make[1]: Leaving directory '/home/abcd/piaware/etc'

.

Checked

$ sudo find / -name piaware 

find: ‘/run/user/1000/gvfs’: Permission denied
/etc/rc.d/init.d/piaware
/usr/bin/piaware
/usr/lib/piaware
/home/abcd/piaware
/home/abcd/piaware/programs/piaware

.

$ piaware
application-specific initialization failed: can't find package Tcllauncher exactly 1.10
can't find package Tclx
    while executing
"package require Tclx"
    (file "/usr/lib/Tcllauncher1.10/tcllauncher.tcl" line 5)


EDIT-3

Built & Installed tclx

$ git clone https://github.com/flightaware/tclx.git
$ cd tclx  
$ ./configure  
$ sudo make  
$ sudo make install  

## Checked
$ sudo find / -name  tclx* 

find: ‘/run/user/1000/gvfs’: Permission denied
/usr/lib/tclx8.6
/usr/lib/tclx8.6/tclx.tcl
/home/abcd/tclx
/home/abcd/tclx/library/tclx.tcl
/home/abcd/tclx/win/tclx.rc 

Piaware still fails, wants Tcllauncher1.10

.

Next I re-built and re-installed tcllauncher after giving this command

$ cd tcllauncher 
$ git checkout v1.10

Piaware still FAILS, wants Tcllauncher1.10 :angry:

FWIW, the standard build of piaware uses tcllauncher 1.8 (I wouldn’t expect any problems with 1.10, though, piaware_builder just hasn’t been updated to use a newer tag). The “can’t find package Tcllauncher” error means you have a build/install problem with tcllauncher somewhere; that package is part of tcllauncher (look for tcllauncher-support.tcl)

$ sudo find / -name tcllauncher-support.tcl 

find: ‘/run/user/1000/gvfs’: Permission denied
/usr/lib/Tcllauncher1.10/tcllauncher-support.tcl
/home/abcd/tcllauncher/tcllauncher-support.tcl

.

$ piaware 

application-specific initialization failed: can't find package Tcllauncher exactly 1.10
can't find package Tclx
    while executing
"package require Tclx"
    (file "/usr/lib/Tcllauncher1.10/tcllauncher.tcl" line 5)

.

$ sudo dnf install tcl
Updating Subscription Management repositories.
Last metadata expiration check: 0:02:05 ago on Mon 03 Feb 2020 11:52:01 AM EST.
Package tcl-1:8.6.8-2.el8.x86_64 is already installed.

$ sudo dnf install tclx
Updating Subscription Management repositories.
Last metadata expiration check: 0:03:22 ago on Mon 03 Feb 2020 11:52:01 AM EST.
No match for argument: tclx
Error: Unable to find a match: tclx

Well, you have a tclx installation problem then…

Rebuilt & reinstalled tclx

$ sudo rm -rf tclx

$ git clone https://github.com/flightaware/tclx.git
$ cd tclx  
$ ./configure 
checking for correct TEA configuration... ok (TEA 3.9)
configure: configuring tclx 8.6
checking for Tcl configuration... found /usr/lib64/tclConfig.sh
checking for gcc... gcc
checking whether the C compiler works... yes
.... .... ....
.... .... ....
checking for tclsh... /usr/bin/tclsh8.6
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting

$ make 

$ sudo make install
 /bin/sh ./tclconfig/install-sh -c libtclx8.6.so /usr/lib/tclx8.6/libtclx8.6.so
 : /usr/lib/tclx8.6/libtclx8.6.so
 Install tclx.tcl /usr/lib/tclx8.6/tclx.tcl
 Install autoload.tcl /usr/lib/tclx8.6/autoload.tcl
 Install arrayprocs.tcl /usr/lib/tclx8.6/arrayprocs.tcl
 Install compat.tcl /usr/lib/tclx8.6/compat.tcl
 Install convlib.tcl /usr/lib/tclx8.6/convlib.tcl
 Install edprocs.tcl /usr/lib/tclx8.6/edprocs.tcl
 Install events.tcl /usr/lib/tclx8.6/events.tcl
 Install forfile.tcl /usr/lib/tclx8.6/forfile.tcl
 Install globrecur.tcl /usr/lib/tclx8.6/globrecur.tcl
 Install help.tcl /usr/lib/tclx8.6/help.tcl
 Install profrep.tcl /usr/lib/tclx8.6/profrep.tcl
 Install pushd.tcl /usr/lib/tclx8.6/pushd.tcl
 Install setfuncs.tcl /usr/lib/tclx8.6/setfuncs.tcl
 Install showproc.tcl /usr/lib/tclx8.6/showproc.tcl
 Install stringfile.tcl /usr/lib/tclx8.6/stringfile.tcl
 Install tcllib.tcl /usr/lib/tclx8.6/tcllib.tcl
 Install fmath.tcl /usr/lib/tclx8.6/fmath.tcl
 Install buildhelp.tcl /usr/lib/tclx8.6/buildhelp.tcl
 Install pkgIndex.tcl /usr/lib/tclx8.6
Installing header files in /usr/include
Installing ./generic/tclExtend.h
Installing documentation in /usr/share/man
Installing ./doc/TclX.n

Tested, no luck

$ piaware
application-specific initialization failed: can't find package Tcllauncher exactly 1.10
can't find package Tclx
    while executing
"package require Tclx"
    (file "/usr/lib/Tcllauncher1.10/tcllauncher.tcl" line 5)

Noted the tclx files are installed in /usr/lib.
Tried to rebuild and reinstall in /usr/lib64 by using modified ./configure command
./configure --prefix=/usr/lib64
The command sudo make install again installed everything in /usr/lib. :angry:

Red Hat Enterprise Linux

[abcd@localhost ~]$ tclsh
% package require Tclx
can't find package Tclx
% exit

[abcd@localhost ~]$ sudo find / -name tclx8.6
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/lib/tclx8.6
/usr/lib64/tclx8.6

Piaware SD Card image 3.8.0

pi@piaware:~ $ tclsh
% package require Tclx
8.4
% exit

pi@piaware:~ $ sudo find / -name tclx8.4
/usr/lib/tclx8.4
/usr/share/doc/tclx8.4

Piaware Package Install (Built from piaware_builder)

pi@orangepipc:~$ tclsh
% package require Tclx
8.4
% exit

pi@orangepipc:~$ sudo find / -name tclx8.4
find: ‘/proc/2931’: No such file or directory
/usr/lib/tclx8.4
/usr/share/doc/tclx8.4
1 Like

I am having the same problem as you. Building on CentOS 7

$ piaware
application-specific initialization failed: can’t find package Tcllauncher exactly 1.10
can’t find package piaware
while executing
“package require piaware”
(file “/lib/piaware/main.tcl” line 10)
invoked from within
“source /lib/piaware/main.tcl”
(“uplevel” body line 1)
invoked from within
“uplevel #0 source $path”
from tcllauncher running “piaware”

currently stucked here too.

1 Like

Although dump1090-fa is working OK and SkyView map is live and normally updating, this warning keeps popping up every 20~30 seconds. Anybody any thoughts?

lighttpd stat caching is the issue most likely.

1 Like

Anyway, it is irritating, but not a big issue.

By the way, I think I have succeeded (almost) in running piaware, which was failing due to piaware / tclsh not finding tclx.

I was about to complete when in order to remove old copy of tcllauncher, by mistake I issued command
sudo rm -rf /usr/lib64
instead of
sudo rm -rf /usr/lib64/Tcllauncher1.10

After this any command I issue, I started getting
bash: sudo: command not found
bash: su: command not found
and RHEL wont login to root or abcd. :frowning:

I have now deleted its hard drive in VM (RHEL 8.1.vdi), created new HD and reinstalling it from DVD :cry:

Yep. This is why that the setting to disable the cache is there, unfortunately.

(The problem is that the file changes frequently and with the stat cache enabled, lighttpd will sometimes cache a file size that is smaller than the current actual file size, and end up sending only part of the file)

Oops…

OK, reinstalled RHEL, but now new problem.
While building & installing tclx, got error when issued make command.
This did not happen on previous install.
 

$ git clone https://github.com/flightaware/tclx.git
$ cd tclx
$ ./configure
$ make

gcc -DPACKAGE_NAME=\"tclx\" -DPACKAGE_TARNAME=\"tclx\" -DPACKAGE_VERSION=\"8.6\" -DPACKAGE_STRING=\"tclx\ 8.6\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DFULL_VERSION=\"8.6.0\" -DBUILD_tclx=/\*\*/ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DHAVE_SYS_SELECT_H=1 -DRETSIGTYPE=void -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DNO_UNION_WAIT=1  -I"./generic" -I"./unix" -I"/home/abcd/tcl/generic" -I"/home/abcd/tcl/unix"    -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC  -c `echo ./generic/tclXbsearch.c` -o tclXbsearch.o
In file included from ./generic/tclExtdInt.h:22,
                 from ./generic/tclXbsearch.c:19:
./generic/tclExtend.h:100:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘TCL_VARARGS_DEF’
 EXTERN void TclX_AppendObjResult TCL_VARARGS_DEF(Tcl_Interp *, interpArg);
                                  ^~~~~~~~~~~~~~~
./generic/tclExtend.h:102:48: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
 EXTERN char * TclX_DownShift (char *targetStr, CONST char *sourceStr);
                                                ^~~~~
                                                CONST86
./generic/tclExtend.h:104:27: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
 EXTERN int TclX_StrToInt (CONST char *string, int base, int *intPtr);
                           ^~~~~
                           CONST86
./generic/tclExtend.h:106:32: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
 EXTERN int TclX_StrToUnsigned (CONST char *string,
                                ^~~~~
                                CONST86
./generic/tclExtend.h:111:31: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
                               CONST char *sourceStr);
                               ^~~~~
                               CONST86
./generic/tclExtend.h:146:36: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
 EXTERN void_pt TclX_HandleTblInit (CONST char *handleBase,
                                    ^~~~~
                                    CONST86
./generic/tclExtend.h:164:35: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
                                   CONST  char *handle);
                                   ^~~~~
                                   CONST86
In file included from ./generic/tclXbsearch.c:19:
./generic/tclExtdInt.h:247:19: error: unknown type name ‘CONST’; did you mean ‘CONST86’?
 TclX_StrToOffset (CONST char *string,
                   ^~~~~
                   CONST86
./generic/tclXbsearch.c:55:36: error: expected ‘;’, ‘,’ or ‘)’ before ‘objv’
                     Tcl_Obj *CONST objv[]);
                                    ^~~~
./generic/tclXbsearch.c: In function ‘TclProcKeyCompare’:
./generic/tclXbsearch.c:128:9: warning: implicit declaration of function ‘TclX_AppendObjResult’; did you mean ‘Tcl_AppendResult’? [-Wimplicit-function-declaration]
         TclX_AppendObjResult (searchCBPtr->interp, "invalid integer \"",
         ^~~~~~~~~~~~~~~~~~~~
         Tcl_AppendResult
./generic/tclXbsearch.c: At top level:
./generic/tclXbsearch.c:299:36: error: expected ‘;’, ‘,’ or ‘)’ before ‘objv’
                     Tcl_Obj *CONST objv[])
                                    ^~~~
./generic/tclXbsearch.c: In function ‘TclX_BsearchInit’:
./generic/tclXbsearch.c:372:27: error: ‘TclX_BsearchObjCmd’ undeclared (first use in this function); did you mean ‘Tcl_LsearchObjCmd’?
                           TclX_BsearchObjCmd,
                           ^~~~~~~~~~~~~~~~~~
                           Tcl_LsearchObjCmd
./generic/tclXbsearch.c:372:27: note: each undeclared identifier is reported only once for each function it appears in
At top level:
./generic/tclXbsearch.c:247:1: warning: ‘BinSearch’ defined but not used [-Wunused-function]
 BinSearch (binSearchCB_t *searchCBPtr)
 ^~~~~~~~~
make: *** [Makefile:288: tclXbsearch.o] Error 1

I imagined you had seen both lighttpd configuration files for dump1090-fa, one of them disables stat caching.
If you use that option the error should stop.

Got stuck with piaware again :frowning: :cry:

(1) Successfully build and installed following from source-code:

  • tcl
  • tclx
  • tcllauncher

(2) Build piaware from source code.

(3) Tested piaware, found it requires tls .
Checked, found tcl is already installed.
What a mess :frowning:

[abcd@localhost ~]$ piaware
can't find package tls
    while executing
"package require tls"
    (file "/usr/lib/piaware_packages/piaware.tcl" line 9)
    invoked from within
"source /usr/lib/piaware_packages/piaware.tcl"
    ("package ifneeded piaware 1.0" script)
    invoked from within
"package require piaware"
    (file "/usr/lib/piaware/main.tcl" line 10)
    invoked from within
"source /usr/lib/piaware/main.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source $path"
    from tcllauncher running "piaware"

 

[abcd@localhost ~]$ sudo dnf install tcl
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - BaseOS  6.5 kB/s | 4.1 kB     00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStre 8.4 kB/s | 4.5 kB     00:00
Package tcl-1:8.6.8-2.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

 

[abcd@localhost ~]$ sudo dnf install tls
[sudo] password for abcd:
Updating Subscription Management repositories.
Last metadata expiration check: 0:28:35 ago on Mon 17 Feb 2020 03:35:01 PM EST.
No match for argument: tls
Error: Unable to find a match: tls

Tried to build tcltls from source-code, failed, wants openssl:

$ wget https://core.tcl-lang.org/tcltls/uv/tcltls-1.7.20.tar.gz 
$ sudo tar zxvf tcltls-1.7.20.tar.gz  
$ cd tcltls-1.7.20  
$ sudo ./configure  
... ... ...
... ... ...
checking which TLS library to use... openssl
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl', required by 'virtual:world', not found
configure: error: Unable to get OpenSSL Configuration
[abcd@localhost tcltls-1.7.20]$ sudo make
make: *** No targets specified and no makefile found.  Stop.

 

Checked openssl, found it is already installed:

[abcd@localhost ~]$ sudo dnf install openssl

Updating Subscription Management repositories.
Last metadata expiration check: 0:27:46 ago on Mon 17 Feb 2020 03:05:51 PM EST.
Package openssl-1:1.1.1c-2.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

:cry: :angry: :rage: