Feeding FlightAware from a Macintosh?

For about a week I’ve been feeding FlightAware with PiAware running on a Raspberry Pi, and I’m planning on upgrading this set-up. I’m hoping to use the old parts to set up another receiver in a second location, using a Mac instead of a Raspberry Pi. It’s running MacOS Sierra and always on, with a wired ethernet connection.

I found directions for building the tools from source at:
github.com/flightaware/piaware/ … rom-source
but I have a few questions.

  1. Does anyone have any tips for compiling the rtl-sdr libraries on a Mac?

  2. The link for installing the FlightAware version of dump1090 (github.com/flightaware/dump1090 … d#building ) gives me a 404 error. I don’t know if the page is really missing or if it’s a permissions issue. Is there somewhere else that I should look for the FlightAware version of dump1090? Or should I install the mutability version? If so, do I need faup1090 (and where would I find that)?

  3. Once I get dump1090 running on the Mac, how would I feed the data to FlightAware?

I fully understand that the least effort involved would be to order another Raspberry Pi. But if I can save $50+ (Pi + case + power supply + SD card + Wi-Fi dongle [second location does not have extra ethernet ports]) by downloading a few things, setting up some config files, and typing make a handful of times, I’ll take it.

These instructions are out of date.

For current instructions see:

github.com/flightaware/piaware
github.com/flightaware/piaware_builder
and github.com/flightaware/dump1090

These are aimed at building Debian packages, but they do have Makefiles or you can look at debian/rules for how they do the package build.

There are several moving parts:

  • dump1090 is the receiver
  • piaware handles communication with FlightAware and spins off a couple of helpers:
  1. faup1090 (built from the same source tree as dump1090) decodes messages collected by dump1090 and turns them into the summary form that FlightAware needs
  2. fa-mlat-client (built from mutability/mlat-client) handles mlat; the Debian packaging of this uses cxfreeze to produce a standalone install that’s independent of the system-wide Python install

Thanks.

I’m having trouble getting the Flight Aware version of dump1090.c to compile on the Mac (using gcc 6.2.0). The problem is with the header files and the #includes, and I’m not sure what to try next.

Instead of doing the entire build via the Makefile, I’m starting with: gcc-6 -c dump1090.c

At first I was getting errors about clock_nanosleep and TIMER_ABSTIME being undeclared. After reading dump1090.h, it seemed like they should have been declared by compat/compat.h, so I added #include “compat/clock_nanosleep/clock_nanosleep.h” and #include “compat/clock_gettime/clock_gettime.h” to dump1090.h, just to see what would happen. As I suspected, this just changed the errors that I was getting. Now the compiler is complaining about redeclarations and previous definitions and such.

Anyone have any success getting the FlightAware version of dump1090 to compile on a Mac?

(The version at github.com/antirez/dump1090.git compiles just fine – I just had to set an environment variable and type make, and everything was good to go.)

You will probably have to steal some of the makefile from upstream (github.com/mutability/dump1090), the Mac-specific defines that turn on the compatibility headers probably didn’t make it in since dump1090-fa isn’t usually built on OS X.

That helped a lot – I used the Makefile from the other repo and made a lot more progress. This time it didn’t get stuck until it tried to compile cpr.c, and googling suggests that the error (suffix or operands invalid for `movq’) is caused by incompatibilities between the tools I’m using to set up dump1090 and the ones that this machine relies on for doing its real job.

As the terrain in this location happens to also be very poor for radio reception of all sorts, I’m going to put aside my plans to get this version of dump1090 running on this Mac. I might give it another try on a different Mac that has less “baggage” and where I can be a bit more selective about which libraries, compilers, and package managers are installed.

Quick update in case anyone is trying something similar: I was able to get the mutability version of dump1090 to compile on OS X Sierra by switching from gcc to clang. That didn’t work for the FlightAware version.

I also had to set a few environment variables with paths to assorted things because there appear to be default assumptions that various components are built in specific places, and my file system has been organized by mice.

While dump1090 is working, I’m still figuring out how to get the nifty map on localhost and to set up the various helpers for feeding the data to FlightAware.