-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
I'm attempting to build an OCI container of ghostscript-printer-app using podman/buildah and am stuck at trying to build libppd.
I have:
- installed libcups2-dev from Debian bookworm, which includes CUPS 2.4.2 devel files (including cups-config).
- using this, checked out and installed libcupsfilters 2.0.0 from the GitHub repo.
- attempted to build libppd 2.0.0 from the GitHub repo:
What have I done wrong? I've largely been following the snap definition for the build, except that I've picked Debian bookworm's prebuilt libcups2-dev and ghostscript packages rather than rebuilding them myself.
$ podman build --platform=linux/arm/v7 -t gurdasani.com/ghostscript-printer-application/ghostscript-printer-application-splix:latest .
[1/4] STEP 1/2: FROM docker.io/library/debian:12-slim AS base_build
[1/4] STEP 2/2: RUN set -eux; DEBIAN_FRONTEND=noninteractive; export DEBIAN_FRONTEND; apt -y update; apt -y install apt-transport-https ca-certificates; echo 'deb-src https://cdn-aws.deb.debian.org/debian stable main contrib non-free' > /etc/apt/sources.list.d/stable-sources.list; apt -y update; apt -y install build-essential g++ sed quilt
--> Using cache 61d1779678e34149d0fa66f37bb0a31e8f28ef44937673cdfac28a2c9a35add9
--> 61d1779678e
[3/4] STEP 1/2: FROM 61d1779678e34149d0fa66f37bb0a31e8f28ef44937673cdfac28a2c9a35add9 AS libcupsfilters_build
[3/4] STEP 2/2: RUN set -eux; DEBIAN_FRONTEND=noninteractive; export DEBIAN_FRONTEND; apt -y update; apt -y install git autoconf automake autopoint libtool autotools-dev pkg-config gettext g++ sharutils liblcms2-dev libpoppler-cpp-dev libpng-dev libjpeg-dev libtiff5-dev zlib1g-dev libfontconfig1-dev libdbus-1-dev libexif-dev ghostscript fonts-dejavu-core libcups2-dev libqpdf-dev; mkdir -p /root/libcupsfilters-build; cd /root/libcupsfilters-build; git clone https://github.com/OpenPrinting/libcupsfilters --depth 1 -b 2.0.0; cd libcupsfilters; ./autogen.sh; ./configure --prefix=/usr --disable-avahi --disable-mutool; make -j$(nproc); mkdir -p /root/libcupsfilters; make install DESTDIR=/root/libcupsfilters; cd /root; rm -rf /root/libcupsfilters-build /var/lib/apt/lists/* /var/cache/apt/archives/*
--> Using cache b7b942c0e6d5e7046bba9cf6a37ac64eb69df93e7be29cd89bfa7de6c25fbf15
--> b7b942c0e6d
[4/4] STEP 1/3: FROM 61d1779678e34149d0fa66f37bb0a31e8f28ef44937673cdfac28a2c9a35add9 AS libppd_build
[4/4] STEP 2/3: COPY --from=libcupsfilters_build /root/libcupsfilters/. /
--> Using cache 164965bef8f16bd5efb335d4984604b62f6dbc571d862791ef35ef2fa2a320aa
--> 164965bef8f
[4/4] STEP 3/3: RUN set -eux; DEBIAN_FRONTEND=noninteractive; export DEBIAN_FRONTEND; apt -y update; apt -y install git autoconf automake autopoint libtool autotools-dev pkg-config g++ sharutils poppler-utils ghostscript libcups2-dev libqpdf-dev; mkdir -p /root/libppd-build; cd /root/libppd-build; git clone https://github.com/OpenPrinting/libppd --depth 1 -b 2.0.0; cd libppd; ./autogen.sh; ./configure --prefix=/usr --disable-mutool --disable-pdftocairo --disable-acroread --enable-ppdc-utils; make -j$(nproc); make install DESTDIR=/root/libppd; rm -rf /root/libppd-build /var/lib/apt/lists/* /var/cache/apt/archives/*
+ DEBIAN_FRONTEND=noninteractive
+ export DEBIAN_FRONTEND
+ apt -y update
[... snip ...]
+ apt -y install git autoconf automake autopoint libtool autotools-dev pkg-config g++ sharutils poppler-utils ghostscript libcups2-dev libqpdf-dev
[... snip ...]
The following NEW packages will be installed:
autoconf automake autopoint autotools-dev dbus dbus-bin dbus-daemon
dbus-session-bus-common dbus-system-bus-common file fonts-droid-fallback
fonts-noto-mono fonts-urw-base35 ghostscript git git-man libapparmor1
libavahi-client3 libavahi-common-data libavahi-common3 libcairo2 libcbor0.8
libcups2 libcups2-dev libcupsfilters-dev libcupsfilters1 libcupsimage2
libcupsimage2-dev libcurl3-gnutls libdbus-1-3 libdeflate-dev libedit2
liberror-perl libexif12 libfido2-1 libfontenc1 libgs-common libgs10
libgs10-common libice6 libidn12 libijs-0.35 libjbig-dev libjbig2dec0
libjpeg-dev libjpeg62-turbo-dev liblcms2-2 liblerc-dev libltdl-dev libltdl7
liblzma-dev libmagic-mgc libmagic1 libnspr4 libnss3 libopenjp2-7
libpaper-utils libpaper1 libpixman-1-0 libpkgconf3 libpng-dev libpng-tools
libpoppler126 libqpdf-dev libqpdf29 libsm6 libtiff-dev libtiffxx6 libtool
libwebp-dev libwebpdemux2 libwebpmux3 libxcb-render0 libxcb-shm0 libxext6
libxmuu1 libxrender1 libxt6 libzstd-dev m4 openssh-client pkg-config pkgconf
pkgconf-bin poppler-data poppler-utils sharutils ucf x11-common xauth
xfonts-encodings xfonts-utils zlib1g-dev
0 upgraded, 93 newly installed, 0 to remove and 0 not upgraded.
[... snip ...]
+ mkdir -p /root/libppd-build
+ cd /root/libppd-build
+ git clone https://github.com/OpenPrinting/libppd --depth 1 -b 2.0.0
Cloning into 'libppd'...
Note: switching to '62666f01b167bdf5975b08fbab5c2f34d9277db3'.
[... snip ...]
+ cd libppd
+ ./autogen.sh
[... snip ...]
+ ./configure --prefix=/usr --disable-mutool --disable-pdftocairo --disable-acroread --enable-ppdc-utils
[... snip ...]
checking for cups-config... /usr/bin/cups-config
checking for libcupsfilters... yes
[... snip ...]
configure: creating ./config.status
config.status: creating libppd.pc
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
configure:
==============================================================================
Environment settings:
CFLAGS: -g -O2 -Wall -std=gnu11 -D_GNU_SOURCE
CXXFLAGS: -g -O2 -Wall -D_GNU_SOURCE
LDFLAGS:
Build configuration:
cups-config: system
ghostscript: yes
gs-path: system
gs ps2write: yes
mutool: no
mutool-path:
pdftocairo: no
pdftocairo-path:
acroread: no
acroread-path:
pdftops: HYBRID
Poppler's pdftops: yes
pdftops-path: system
testppdfile: no
ppdc utilities: yes
genstrings: no
werror: no
==============================================================================
+ nproc
+ make -j4
make all-recursive
make[1]: Entering directory '/root/libppd-build/libppd'
make[2]: Entering directory '/root/libppd-build/libppd'
CXX ppd/ppdc.o
CC ppd/libppd_la-ppd-attr.lo
CC ppd/libppd_la-ppd.lo
CC ppd/libppd_la-ppd-cache.lo
In file included from ppd/ppd-cache.c:18:
ppd/ppd.h:102:14: error: redeclaration of 'enum ppd_ui_e'
102 | typedef enum ppd_ui_e // **** UI Types ****
| ^~~~~~~~
In file included from ppd/ppd-attr.c:16:
ppd/ppd.h:102:14: error: redeclaration of 'enum ppd_ui_e'
102 | typedef enum ppd_ui_e // **** UI Types ****
| ^~~~~~~~
In file included from ppd/ppd.c:20:
ppd/ppd.h:102:14: error: redeclaration of 'enum ppd_ui_e'
102 | typedef enum ppd_ui_e // **** UI Types ****
| ^~~~~~~~
In file included from /usr/include/cupsfilters/driver.h:28,
from ppd/ppd.h:27:
/usr/include/cups/ppd.h:73:14: note: originally defined here
73 | typedef enum ppd_ui_e /**** UI Types @deprecated@ ****/
| ^~~~~~~~
ppd/ppd.h:104:3: error: redeclaration of enumerator 'PPD_UI_BOOLEAN'
104 | PPD_UI_BOOLEAN, // True or False option
| ^~~~~~~~~~~~~~
/usr/include/cups/ppd.h:75:3: note: previous definition of 'PPD_UI_BOOLEAN' with type 'enum ppd_ui_e'
75 | PPD_UI_BOOLEAN, /* True or False option */
| ^~~~~~~~~~~~~~
In file included from /usr/include/cupsfilters/driver.h:28,
from ppd/ppd.h:27:
/usr/include/cups/ppd.h:73:14: note: originally defined here
73 | typedef enum ppd_ui_e /**** UI Types @deprecated@ ****/
| ^~~~~~~~
ppd/ppd.h:105:3: error: redeclaration of enumerator 'PPD_UI_PICKONE'
105 | PPD_UI_PICKONE, // Pick one from a list
| ^~~~~~~~~~~~~~
/usr/include/cups/ppd.h:76:3: note: previous definition of 'PPD_UI_PICKONE' with type 'enum ppd_ui_e'
76 | PPD_UI_PICKONE, /* Pick one from a list */
| ^~~~~~~~~~~~~~
ppd/ppd.h:104:3: error: redeclaration of enumerator 'PPD_UI_BOOLEAN'
104 | PPD_UI_BOOLEAN, // True or False option
| ^~~~~~~~~~~~~~
ppd/ppd.h:106:3: error: redeclaration of enumerator 'PPD_UI_PICKMANY'
106 | PPD_UI_PICKMANY // Pick zero or more from a list
| ^~~~~~~~~~~~~~~
/usr/include/cups/ppd.h:77:3: note: previous definition of 'PPD_UI_PICKMANY' with type 'enum ppd_ui_e'
77 | PPD_UI_PICKMANY /* Pick zero or more from a list */
| ^~~~~~~~~~~~~~~
/usr/include/cups/ppd.h:75:3: note: previous definition of 'PPD_UI_BOOLEAN' with type 'enum ppd_ui_e'
75 | PPD_UI_BOOLEAN, /* True or False option */
| ^~~~~~~~~~~~~~
[... and loads more ...]
Metadata
Metadata
Assignees
Labels
No labels