Mictronics / readsb-protobuf

Readsb is a Mode-S/ADSB/TIS decoder for RTLSDR, BladeRF, Modes-Beast and GNS5894 devices. Future development version with protocol buffer storage.
Other
86 stars 24 forks source link

Have to build w/ make -j1 to prevent compile error #9

Closed fryfrog closed 3 years ago

fryfrog commented 3 years ago

I maintain the readsb AUR package for this and wondered if there was something Makefile that could be done?

From just make BLADERF=yes RTLSDR=yes PLUTOSDR=yes

rm -f readsb.pb-c.c readsb.pb-c.h
protoc-c --c_out=. readsb.proto
protoc-c --c_out=. readsb.proto
make: *** No rule to make target 'readsb.pb-c.h', needed by 'geomag.o'.  Stop.
make: *** Waiting for unfinished jobs....
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c readsb.pb-c.c -o readsb.pb-c.o

Using make -j1 BLADERF=yes RTLSDR=yes PLUTOSDR=yes

rm -f readsb.pb-c.c readsb.pb-c.h                                                                                                                                                                                                                                                       protoc-c --c_out=. readsb.proto                                                                                                                                                                                                                                                         protoc-c --c_out=. readsb.proto                                                                                                                                                                                                                                                         cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c readsb.pb-c.c -o readsb.pb-c.o                                                                                                                                                                                                 cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c geomag.c -o geomag.o                                                                                                                                                                                                           cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c readsb.c -o readsb.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c anet.c -o anet.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c interactive.c -o interactive.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c mode_ac.c -o mode_ac.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c mode_s.c -o mode_s.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c comm_b.c -o comm_b.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c net_io.c -o net_io.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c crc.c -o crc.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c demod_2400.c -o demod_2400.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c stats.c -o stats.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c cpr.c -o cpr.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c icao_filter.c -o icao_filter.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c track.c -o track.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c util.c -o util.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c convert.c -o convert.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_ifile.c -o sdr_ifile.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_beast.c -o sdr_beast.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr.c -o sdr.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c ais_charset.c -o ais_charset.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_rtlsdr.c -o sdr_rtlsdr.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_bladerf.c -o sdr_bladerf.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_ubladerf.c -o sdr_ubladerf.o
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c sdr_plutosdr.c -o sdr_plutosdr.o
cc -g -o readsb readsb.pb-c.o geomag.o readsb.o anet.o interactive.o mode_ac.o mode_s.o comm_b.o net_io.o crc.o demod_2400.o stats.o cpr.o icao_filter.o track.o util.o convert.o sdr_ifile.o sdr_beast.o sdr.o ais_charset.o sdr_rtlsdr.o sdr_bladerf.o sdr_ubladerf.o sdr_plutosdr.o  -pthread -lpthread -lm -lrt -lncurses -lprotobuf-c -lrrd -lrtlsdr -lusb-1.0 -L/usr/lib/ -lbladeRF  -liio -lad9361
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c readsbrrd.c -o readsbrrd.o
cc -g -o readsbrrd readsb.pb-c.o readsbrrd.o  -pthread -lpthread -lm -lrt -lncurses -lprotobuf-c -lrrd
cc -D_FORTIFY_SOURCE=2 -DMODES_READSB_VERSION=\"'v4.0.0'\" -DMODES_READSB_VARIANT=\"Mictronics\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -fno-common -I/usr/include/ -I/usr/include/libusb-1.0  -I/usr/include/   -c viewadsb.c -o viewadsb.o
cc -g -o viewadsb readsb.pb-c.o geomag.o viewadsb.o anet.o interactive.o mode_ac.o mode_s.o comm_b.o net_io.o crc.o stats.o cpr.o icao_filter.o track.o util.o ais_charset.o  -pthread -lpthread -lm -lrt -lncurses -lprotobuf-c -lrrd
Mictronics commented 3 years ago

I see this problem on my Raspi when using make -j4. It seems some jobs take more time then others and thus dependencies fail/are not ready. Especially protobuf files are generated by a different compiler.

Mictronics commented 3 years ago

See https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html

Occasionally, however, you have a situation where you want to impose a specific ordering on the rules to be invoked without forcing the target to be updated if one of those rules is executed. In that case, you want to define order-only prerequisites.

So you may try: all: | protoc readsb readsbrrd viewadsb

Mictronics commented 3 years ago

Staled.