flightaware / dump978

FlightAware's 978MHz UAT demodulator
BSD 2-Clause "Simplified" License
40 stars 16 forks source link

Support for bookworm #13

Open ispmarin opened 2 years ago

ispmarin commented 2 years ago

Right now, it's not possible to compile it for bookworm. Any hints on how to move this forward? Thanks.

mutability commented 2 years ago

How did you try to build, and what was the failure that you saw?

ispmarin commented 2 years ago

I'm compiling inside a Docker container with the following Dockerfile:

ARG ARCH=amd64
ARG DEBIANVERSION=bullseye
FROM --platform=linux/${ARCH} debian:${DEBIANVERSION}-slim
ARG DEBIANVERSION
LABEL maintainer="ivan@tunguska.cc"
LABEL org.opencontainers.image.source="https://github.com/tunguskacc/airdump"
ARG DEBIAN_FRONTEND="noninteractive"

RUN apt update && apt upgrade -y \
    && apt install -y --no-install-recommends ca-certificates curl build-essential fakeroot debhelper librtlsdr-dev \
    pkg-config debhelper libboost-system-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev \
    libsoapysdr-dev \
    && apt clean \
    && rm -rf /var/lib/apt/lists/* \
    && curl -sSL https://github.com/flightaware/dump978/archive/refs/tags/v7.1.tar.gz| tar -v -C /usr/local/src/ -xz

WORKDIR /usr/local/src/dump978-7.1
RUN make clean && ./prepare-build.sh ${DEBIANVERSION} && dpkg-buildpackage -b && make clean && dpkg-buildpackage -rfakeroot -Tclean

and the process starts with the following docker-compose.yml:

---
version: '3.5'

networks:
  default:
    driver: bridge

services:

  dump978-fa-bookworm-amd64:
    build:
      context: ./dump978/build/
      dockerfile: Dockerfile
      args:
        ARCH: amd64
        DEBIANVERSION: bookworm
    image: registry.tunguska.cc/dump978-fa:bookworm-multiarch-amd64
    container_name: dump978-fa-bookworm-amd64

The error is

Step 9/10 : WORKDIR /usr/local/src/dump978-7.1
 ---> Running in d383fdc3ad14
Removing intermediate container d383fdc3ad14
 ---> b6ef977ecd61
Step 10/10 : RUN make clean && ./prepare-build.sh ${DEBIANVERSION} && dpkg-buildpackage -b && make clean && dpkg-buildpackage -rfakeroot -Tclean
 ---> Running in 9930f0d73698
rm -f *.o libs/fec/*.o dump978-fa faup978 skyaware978 fec_tests
make: git: No such file or directory
Don't know how to build for a distribution named bookworm
ERROR: Service 'dump978-fa-bookworm-amd64' failed to build: The command '/bin/sh -c make clean && ./prepare-build.sh ${DEBIANVERSION} && dpkg-buildpackage -b && make clean && dpkg-buildpackage -rfakeroot -Tclean' returned a non-zero code: 1
mutability commented 2 years ago

Well, you need to teach prepare-build.sh how to build for bookworm, as the error implies.

Try building a bullseye package in your bookworm environment as a starting point.

ispmarin commented 2 years ago

I managed to build it on a bookworm system but with bullseye debhelper version, so it seems that there is no conflict of libraries.