Creating OpenWRT ipk package for gutenprint failed to compile (problem with Makefile?)

Hello,

I am trying to create an ipk package using gutenprint for OpenWRT. More specifically for use with the GL-iNet AR750. I am running Ubuntu 20.04 and have set up an OpenWRT build environment (using the instructions at https://openwrt.org/docs/guide-developer/helloworld/start)

Here is what I did to create the ipk package for gutenprint:

  • Downloaded the gutenprint-5.3.3.tar.xz package and extracted it using file explorer (in the locationo /home/ubuntu20/gutenprint-5.3.3)
  • Opened terminal in extracted folder and configured gutenprint using "./configure --enable-cups-ppds" and installed "libusb" (sudo apt-get install libusb-1.0-0-dev) to enable dyesub USB backend
  • Then ran "make" and "sudo make install"
  • I created a Makefile (will attach in comment if possible) which is stored in the directory "/home/ubuntu20/mypackages/printing/gutenprint-5.3.3" and also installed (or save their respective Makefile's in "mypackages") some required dependencies (libcups2-dev, libpam, net-snmp and xz).
  • The SOURCE_DIR in the Makefile is /home/ubuntu20/gutenprint-5.3.3
  • in the OpenWRT build environment I ran "./scripts/feeds update mypackages" and "./scripts/feeds install -a -p mypackages" both of which run successfully (ending with the message "Installing all packages from feed mypackages"). Note I have created the feeds.conf file as indicated here (https://openwrt.org/docs/guide-developer/helloworld/chapter4) and specified mypackages feed.
  • I then run "make menuconfig" and able to find my device (Target system: "Atheros ATH79", Subtarget="Generic", Target Progile="GL-iNet GL-AR750"). I am also able to include the gutenprint package in the configuration (in printing > the highlight "gutenprint" and press "y") --> everything runs as expected up to this point

---- Here is where I'm running into problems :

ubuntu20@ubuntu20-VirtualBox:~/source$ make package/gutenprint-5.3.3/compile -j1 V=s
time: target/linux/prereq#2.62#0.27#2.93
make[1]: Entering directory '/home/ubuntu20/source'
make[2]: Entering directory '/home/ubuntu20/source/package/libs/toolchain'
echo "libc" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libgcc" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libpthread" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/ubuntu20/source/package/libs/toolchain'
time: package/libs/toolchain/compile#0.49#0.32#1.11
make[2]: Entering directory '/home/ubuntu20/mypackages/printing/gutenprint-5.3.3'
touch /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_7b29810b33ee9ab2d85df493c3ea3d4c_6664517399ebbbc92a37c5bb081b5c53_check
mkdir -p /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
cp /home/ubuntu20/gutenprint-5.3.3/* /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/doc'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/include'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/m4'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/m4extra'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/m4local'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/man'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/po'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/samples'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/scripts'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/src'
cp: -r not specified; omitting directory '/home/ubuntu20/gutenprint-5.3.3/test'
make[2]: *** [Makefile:53: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_7b29810b33ee9ab2d85df493c3ea3d4c_6664517399ebbbc92a37c5bb081b5c53] Error 1
make[2]: Leaving directory '/home/ubuntu20/mypackages/printing/gutenprint-5.3.3'
time: package/feeds/mypackages/gutenprint-5.3.3/compile#0.24#0.21#0.46
    ERROR: package/feeds/mypackages/gutenprint-5.3.3 failed to build.
make[1]: *** [package/Makefile:114: package/feeds/mypackages/gutenprint-5.3.3/compile] Error 1
make[1]: Leaving directory '/home/ubuntu20/source'
make: *** [/home/ubuntu20/source/include/toplevel.mk:230: package/gutenprint-5.3.3/compile] Error 2

How can I resolve this?

I am thinking something is not right with the Makefile or it might be missing something. Here is the Makefile:

include $(TOPDIR)/rules.mk

# Gutenprint, 5.3.3
# The name and version of your package are used to define the variable to point to the build directory of your package: $(PKG_BUILD_DIR)
PKG_NAME:=gutenprint
PKG_VERSION:=5.3.3
PKG_RELEASE:=1

# Source settings (i.e. where to find the source codes)
# This is a custom variable, used below
SOURCE_DIR:=/home/ubuntu20/gutenprint-5.3.3

include $(INCLUDE_DIR)/package.mk

# Package definition; instructs on how and where our package will appear in the overall configuration menu ('make menuconfig')
define Package/gutenprint
  SECTION:=mypackages
  CATEGORY:=printing
  TITLE:=gutenprint
endef

# Package description; a more verbose description on what our package does
define Package/gutenprint/description
	Gutenprint is a suite of print drivers.
endef

# Package preparation instructions; create the build directory and copy the source code. 
# The last command is necessary to ensure our preparation instructions remain compatible with the patching system.
define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	cp $(SOURCE_DIR)/* $(PKG_BUILD_DIR)
	$(Build/Patch)
endef

# Package build instructions; invoke the target-specific compiler to first compile the source file, and then to link the file into the final executable
define Build/Compile
	$(TARGET_CC) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/gutenprint.o -c $(PKG_BUILD_DIR)/gutenprint.c
	$(TARGET_CC) $(TARGET_LDFLAGS) -o $(PKG_BUILD_DIR)/$1 $(PKG_BUILD_DIR)/gutenprint.o
endef

# Package install instructions; create a directory inside the package to hold our executable, and then copy the executable we built previously into the folder
define Package/gutenprint/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/gutenprint $(1)/usr/bin
endef

# This command is always the last, it uses the definitions and variables we give above in order to get the job done
$(error $(call BuildPackage,gutenprint))

Any help would be appreciated. Thank you

(I have also opened a ticket for this question at a gutenprint forum: https://sourceforge.net/p/gimp-print/support-requests/597/)

I'm quite new to all of this, so I'm not exactly sure how to debug "make" from within OpenWRT. But replacing $(eval $(call BuildPackage,...)) with $(error $(call BuildPackage,...)) seems to output a lot more details

ubuntu20@ubuntu20-VirtualBox:~/source$ make package/gutenprint-5.3.3/compile -j1 V=s
make[1]: Entering directory '/home/ubuntu20/source'
make[2]: Entering directory '/home/ubuntu20/source/package/libs/toolchain'
echo "libc" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libgcc" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libpthread" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/ubuntu20/source/package/libs/toolchain'
time: package/libs/toolchain/compile#0.28#0.08#0.34
make[2]: Entering directory '/home/ubuntu20/mypackages/printing/gutenprint-5.3.3'
Makefile:48: ***   
  

ifdef DESCRIPTION
$(error DESCRIPTION:= is obsolete, use Package/PKG_NAME/description)
endif

ifndef Package/gutenprint/description
define Package/gutenprint/description
	gutenprint
endef
endif

  BUILD_PACKAGES += gutenprint
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53: $(if ,,/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/libgcc.version)

  
    ifeq (gutenprint,)
      $(error Package/gutenprint is missing the TITLE field)
    endif
   
    ifeq (printing,)
      $(error Package/gutenprint is missing the CATEGORY field)
    endif
   
    ifeq (mypackages,)
      $(error Package/gutenprint is missing the SECTION field)
    endif
   
    ifeq (5.3.3-1,)
      $(error Package/gutenprint is missing the VERSION field)
    endif
  

        ABIV_gutenprint:=
    PDIR_gutenprint:=/home/ubuntu20/source/bin/packages/mips_24kc/mypackages
    IPKG_gutenprint:=$(PDIR_gutenprint)/gutenprint$(ABIV_gutenprint)_5.3.3-1_mips_24kc.ipk
    IDIR_gutenprint:=/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/ipkg-mips_24kc/gutenprint
    KEEP_gutenprint:=

    ifeq (,$(if $(VARIANT),$(VARIANT),))
    do_install=
    ifdef Package/gutenprint/install
      do_install=yes
    endif
    ifdef Package/gutenprint/install-overlay
      do_install=yes
    endif
    ifdef do_install
      ifneq (y,)
        IPKGS += gutenprint
        .compile: $(IPKG_gutenprint) /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.provides /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint.installed
        prepare-package-install: $(IPKG_gutenprint)
        compile: /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/root-ath79/stamp/.gutenprint_installed
      else
        $(info WARNING: skipping gutenprint -- package not selected)
      endif

      .PHONY: /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint-5.3.3.default.install.gutenprint
      ifeq (y,y)
        compile: /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint-5.3.3.default.install.gutenprint
      endif
      /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint-5.3.3.default.install.gutenprint: prepare-package-install
		echo "gutenprint" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint-5.3.3.default.install
    else
      $(warning WARNING: skipping gutenprint -- package has no install section)
    endif
    endif

    DEPENDS:=+libc +USE_GLIBC:librt +USE_GLIBC:libpthread 
    IDEPEND_gutenprint:=$(call filter_deps,$(DEPENDS))
    IDEPEND += $(patsubst %,gutenprint:%,$(IDEPEND_gutenprint))
      DEPS := $(filter gutenprint:%,$(IDEPEND))
  DEPS := $(patsubst gutenprint:%,%,$(DEPS))
  DEPS := $(filter $(DEPS),$(IPKGS))
    $(if gutenprint,$(if $(DEPS),$(foreach pkg,gutenprint,$(IPKG_$(pkg))): $(foreach pkg,$(DEPS),$(IPKG_$(pkg)))))
      DEPS := $(filter %:gutenprint,$(IDEPEND))
  DEPS := $(patsubst %:gutenprint,%,$(DEPS))
  DEPS := $(filter $(DEPS),$(IPKGS))
    $(if $(DEPS),$(if gutenprint,$(foreach pkg,$(DEPS),$(IPKG_$(pkg))): $(foreach pkg,gutenprint,$(IPKG_$(pkg)))))

    
    
    
    
    

    /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint.installed : export PATH=$(TARGET_PATH_PKG)
    /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint.installed: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built
	rm -rf $@ /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint
	mkdir -p /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint
		install -d -m0755 /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint/usr/bin
	install -m0755 /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint/usr/bin
	
	touch $@

    /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/root-ath79/stamp/.gutenprint_installed: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint.installed
	mkdir -p /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/root-ath79/stamp
	
		SHELL= flock /home/ubuntu20/source/tmp/.root-copy.flock -c 'cp -fpR /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.pkgdir/gutenprint/. /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/root-ath79/'
	touch $@

    Package/gutenprint/DEPENDS := $(call mergelist,$(foreach dep,$(filter-out @%,$(IDEPEND_gutenprint)),$(dep)$(call GetABISuffix,$(dep))))
    ifneq ($(EXTRA_DEPENDS),)
      Package/gutenprint/DEPENDS := $(EXTRA_DEPENDS)$(if $(Package/gutenprint/DEPENDS),$(comma) $(Package/gutenprint/DEPENDS))
    endif

define Package/gutenprint/CONTROL
Package: gutenprint$(ABIV_gutenprint)
Version: 5.3.3-1
$(call addfield,Depends,$(Package/gutenprint/DEPENDS)
)$(call addfield,Conflicts,$(call mergelist,)
)$(call addfield,Provides,$(call mergelist,$(filter-out gutenprint$(ABIV_gutenprint),$(if $(ABIV_gutenprint), gutenprint )))
)$(call addfield,Alternatives,$(call mergelist,)
)$(call addfield,Source,/home/ubuntu20/mypackages/printing/gutenprint-5.3.3
)$(call addfield,SourceName,gutenprint
)$(call addfield,License,
)$(call addfield,LicenseFiles,
)$(call addfield,Section,mypackages
)$(call addfield,Require-User,
)$(call addfield,SourceDateEpoch,1631742708
)$(if $(ABIV_gutenprint),ABIVersion: $(ABIV_gutenprint)
)Architecture: mips_24kc
Installed-Size: 0
endef

    $(IPKG_gutenprint) : export CONTROL=$(Package/gutenprint/CONTROL)
    $(IPKG_gutenprint) : export DESCRIPTION=$(Package/gutenprint/description)
    $(IPKG_gutenprint) : export PATH=$(TARGET_PATH_PKG)
    $(IPKG_gutenprint) : export PKG_SOURCE_DATE_EPOCH:=1631742708
    /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.provides $(IPKG_gutenprint): /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built /home/ubuntu20/source/include/package-ipkg.mk
	@rm -rf $(IDIR_gutenprint); $(call remove_ipkg_files,gutenprint,$(call opkg_package_files,  gutenprint$(if $(filter -%,$(ABIV_gutenprint)),,[^a-z-])*))
	mkdir -p /home/ubuntu20/source/bin/targets/ath79/generic/packages $(IDIR_gutenprint)/CONTROL /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo
		install -d -m0755 $(IDIR_gutenprint)/usr/bin
	install -m0755 /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint $(IDIR_gutenprint)/usr/bin
	
	
	-find $(IDIR_gutenprint) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
	@( find $(IDIR_gutenprint) -name lib\*.so\* -or -name \*.ko | awk -F/ '{ print $$NF }'; for file in $(patsubst %,/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/%.provides,$(IDEPEND_gutenprint)); do if [ -f "$$file" ]; then cat $$file; fi; done;  ) | sort -u > /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.provides
	
		@( rm -f /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.missing; ( export READELF=mips-openwrt-linux-musl-readelf OBJCOPY=mips-openwrt-linux-musl-objcopy XARGS="xargs -r"; /home/ubuntu20/source/scripts/gen-dependencies.sh "$(IDIR_gutenprint)"; ) | while read FILE; do grep -qxF "$$FILE" /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.provides || echo "$$FILE" >> /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.missing; done; if [ -f "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.missing" ]; then echo "Package gutenprint is missing dependencies for the following libraries:" >&2; cat "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/pkginfo/gutenprint.missing" >&2; false; fi; )

	export CROSS="mips-openwrt-linux-musl-"  NO_RENAME=1 ; NM="mips-openwrt-linux-musl-nm" STRIP="/home/ubuntu20/source/staging_dir/host/bin/sstrip -z" STRIP_KMOD="/home/ubuntu20/source/scripts/strip-kmod.sh" PATCHELF="/home/ubuntu20/source/staging_dir/host/bin/patchelf" /home/ubuntu20/source/scripts/rstrip.sh $(IDIR_gutenprint)

    ifneq ($(CONFIG_IPK_FILES_CHECKSUMS),)
	(cd $(IDIR_gutenprint); ( find . -type f \! -path ./CONTROL/\* -exec mkhash sha256 -n \{\} \; 2> /dev/null | sed 's|\([[:blank:]]\)\./| \1/|' > $(IDIR_gutenprint)/CONTROL/files-sha256sum ) || true )
    endif
	(cd $(IDIR_gutenprint)/CONTROL; ( echo "$$CONTROL"; printf "Description: "; echo "$$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo "[ -s "\$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \$${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$$0 \$$@"; ) > postinst; ( echo "#!/bin/sh"; echo "[ -s "\$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \$${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$$0 \$$@"; ) > prerm; chmod 0755 postinst prerm;  )

    ifneq ($(KEEP_gutenprint),)
		@( keepfiles=""; for x in $(KEEP_gutenprint); do [ -f "$(IDIR_gutenprint)/$$x" ] || keepfiles="$${keepfiles:+$$keepfiles }$$x"; done; [ -z "$$keepfiles" ] || { mkdir -p $(IDIR_gutenprint)/lib/upgrade/keep.d; for x in $$keepfiles; do echo $$x >> $(IDIR_gutenprint)/lib/upgrade/keep.d/gutenprint; done; }; )
    endif

	install -d -m0755 $(PDIR_gutenprint)
	/home/ubuntu20/source/staging_dir/host/bin/fakeroot /home/ubuntu20/source/scripts/ipkg-build -m "" $(IDIR_gutenprint) $(PDIR_gutenprint)
	@[ -f $(IPKG_gutenprint) ]

    gutenprint-clean:
	$(call remove_ipkg_files,gutenprint,$(call opkg_package_files,  gutenprint$(if $(filter -%,$(ABIV_gutenprint)),,[^a-z-])*))

    clean: gutenprint-clean
  
    
    STAMP_PREPARED:=$(STAMP_PREPARED)
  STAMP_CONFIGURED:=$(STAMP_CONFIGURED)

  
        /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53
        .PRECIOUS: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53
  .SILENT: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check

  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check
  check-depends: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check

ifneq (,)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check::
	 find /home/ubuntu20/mypackages/printing/gutenprint-5.3.3 -type f -and -not -path "*/.svn*" -and -not -path ".*" -and -not -path "*:*" -and -not -path "*\!*" -and -not -path "* *" -and -not -path "*\#*" -and -not -path "*/.*_check" -and -not -path "*/.*.swp" -and -not -path "*/.pkgdir*" -and -not -path "*/.dep_*" -printf "%p%T@\n" | sort | mkhash md5 > /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files.1; { [ \! -f "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files" ] || diff /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files.1 >/dev/null; } &&  { [ -f "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check.1" ] && mv "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check.1"; /home/ubuntu20/source/scripts/timestamp.pl -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\#*" -x "*/.*_check" -x "*/.*.swp" -x "*/.pkgdir*" -x "*/.dep_*" -n /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53 /home/ubuntu20/mypackages/printing/gutenprint-5.3.3  && {  touch -r "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53" "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check"; } } || {  touch "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check"; }
	 mv /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files.1 /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files
else
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53_check::
	 rm -f /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.dep_files.1
	
endif

        .PRECIOUS: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built
  .SILENT: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check

  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check
  check-depends: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check

ifneq (,)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check::
	 { [ -f "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check.1" ] && mv "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check.1"; /home/ubuntu20/source/scripts/timestamp.pl -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\#*" -x "*/.*_check" -x "*/.*.swp" -x "*/.pkgdir*" -x "*/.dep_*" -x "*/ipkg*" -n /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3 && {  touch -r "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built" "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check"; } } || {  touch "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check"; }
	
else
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built_check::
	
	
endif

  
  .clean:
  clean: .clean
  .PHONY: clean .clean
 
  .download:
  download: .download
  .PHONY: download .download
 
  .prepare:
  prepare: .prepare
  .PHONY: prepare .prepare
 
  .compile:
  compile: .compile
  .PHONY: compile .compile
 
  .update:
  update: .update
  .PHONY: update .update
 
  .refresh:
  refresh: .refresh
  .PHONY: refresh .refresh
 
  .prereq:
  prereq: .prereq
  .PHONY: prereq .prereq
 
  .dist:
  dist: .dist
  .PHONY: dist .dist
 
  .distcheck:
  distcheck: .distcheck
  .PHONY: distcheck .distcheck
 
  .configure:
  configure: .configure
  .PHONY: configure .configure
 
  .check:
  check: .check
  .PHONY: check .check
 
  .check-depends:
  check-depends: .check-depends
  .PHONY: check-depends .check-depends


  /home/ubuntu20/source/dl/: FORCE

  download:
	

  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53 : export PATH=$(TARGET_PATH_PKG)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53: 
	@-rm -rf /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
	@mkdir -p /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
	touch $@_check
	
		mkdir -p /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
	cp /home/ubuntu20/gutenprint-5.3.3/* /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3
		
		@if [ -d "./patches" ] && [ "$$(ls ./patches | wc -l)" -gt 0 ]; then export PATCH="patch"; if [ -s "./patches/series" ]; then sed -e s,\\\#.*,, ./patches/series | grep -E \[a-zA-Z0-9\] | xargs -n1 /home/ubuntu20/source/scripts/patch-kernel.sh "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3" "./patches"; else /home/ubuntu20/source/scripts/patch-kernel.sh "/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3" "./patches"; fi; fi
	
	
	touch $@

    /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export ACLOCAL_INCLUDE=$(foreach p,$(wildcard $(STAGING_DIR)/usr/share/aclocal $(STAGING_DIR)/usr/share/aclocal-* $(STAGING_DIR_HOSTPKG)/share/aclocal $(STAGING_DIR_HOSTPKG)/share/aclocal-* $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/host/share/aclocal-*),-I $(p))
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export STAGING_PREFIX=$(STAGING_DIR)/usr
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export PATH=$(TARGET_PATH_PKG)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export CONFIG_SITE:=$(CONFIG_SITE)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export PKG_CONFIG_PATH:=$(PKG_CONFIG_PATH)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 : export PKG_CONFIG_LIBDIR:=$(PKG_CONFIG_PATH)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53 
	rm -f /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_*
		rm -f /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/stamp/.gutenprint-5.3.3_installed
	@-( if [ -f /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages/gutenprint-5.3.3.list ]; then /home/ubuntu20/source/scripts/clean-package.sh "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages/gutenprint-5.3.3.list" "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl"; fi; )
	
		(cd /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/./; if [ -x ./configure ]; then find /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/ -name config.guess | xargs -r chmod u+w; find /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/ -name config.guess | xargs -r -n1 cp --remove-destination /home/ubuntu20/source/scripts/config.guess; find /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/ -name config.sub | xargs -r chmod u+w; find /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/ -name config.sub | xargs -r -n1 cp --remove-destination /home/ubuntu20/source/scripts/config.sub; AR="mips-openwrt-linux-musl-gcc-ar" AS="mips-openwrt-linux-musl-gcc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -fmacro-prefix-map=/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3=gutenprint-5.3.3 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mips-openwrt-linux-musl-ld NM="mips-openwrt-linux-musl-gcc-nm" CC="mips-openwrt-linux-musl-gcc" GCC="mips-openwrt-linux-musl-gcc" CXX="mips-openwrt-linux-musl-g++" RANLIB="mips-openwrt-linux-musl-gcc-ranlib" STRIP=mips-openwrt-linux-musl-strip OBJCOPY=mips-openwrt-linux-musl-objcopy OBJDUMP=mips-openwrt-linux-musl-objdump SIZE=mips-openwrt-linux-musl-size CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -fmacro-prefix-map=/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3=gutenprint-5.3.3 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -fmacro-prefix-map=/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3=gutenprint-5.3.3 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " CPPFLAGS="-I/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/include -I/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/include/fortify -I/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/include " LDFLAGS="-L/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib -L/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib -znow -zrelro "   ./configure --target=mips-openwrt-linux --host=mips-openwrt-linux --build=x86_64-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls  ; fi; )
	
	touch $@

    /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export ACLOCAL_INCLUDE=$(foreach p,$(wildcard $(STAGING_DIR)/usr/share/aclocal $(STAGING_DIR)/usr/share/aclocal-* $(STAGING_DIR_HOSTPKG)/share/aclocal $(STAGING_DIR_HOSTPKG)/share/aclocal-* $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/host/share/aclocal-*),-I $(p))
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export STAGING_PREFIX=$(STAGING_DIR)/usr
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export PATH=$(TARGET_PATH_PKG)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export CONFIG_SITE:=$(CONFIG_SITE)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export PKG_CONFIG_PATH:=$(PKG_CONFIG_PATH)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built : export PKG_CONFIG_LIBDIR:=$(PKG_CONFIG_PATH)
  /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940 
	rm -f $@
	touch $@_check
	
		mips-openwrt-linux-musl-gcc -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -fmacro-prefix-map=/home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3=gutenprint-5.3.3 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -o /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint.o -c /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint.c
	mips-openwrt-linux-musl-gcc -L/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib -L/home/ubuntu20/source/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib -znow -zrelro -o /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/gutenprint.o
	
	
	
	touch $@

  /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/stamp/.gutenprint-5.3.3_installed : export PATH=$(TARGET_PATH_PKG)
  /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/stamp/.gutenprint-5.3.3_installed: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built
	rm -rf /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3
	mkdir -p /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3/host /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages
	
	
	 	find /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3 -name '*.la' | xargs -r rm -f; 
	if [ -f /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages/gutenprint-5.3.3.list ]; then /home/ubuntu20/source/scripts/clean-package.sh "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages/gutenprint-5.3.3.list" "/home/ubuntu20/source/staging_dir/target-mips_24kc_musl"; fi
	if [ -d /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3 ]; then (cd /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3; find ./ > /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3.files); 	SHELL= flock /home/ubuntu20/source/tmp/.staging-dir.flock -c ' mv /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3.files /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/packages/gutenprint-5.3.3.list && cp -fpR /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3/* /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/; '; fi
	rm -rf /home/ubuntu20/source/tmp/stage-gutenprint-5.3.3
	touch $@

  ifdef Build/InstallDev
    .compile: /home/ubuntu20/source/staging_dir/target-mips_24kc_musl/stamp/.gutenprint-5.3.3_installed
  endif

  .prepare: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.prepared_5197ad90f815c7c04367b9bc8a4c70ad_6664517399ebbbc92a37c5bb081b5c53
  .configure: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940
  .dist: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940
  .distcheck: /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.configured_68b329da9893e34099c7d8ad5cb9c940

  ifneq (,)
    compile:
		-touch -r /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.built /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3/.autoremove 2>/dev/null >/dev/null
		find /home/ubuntu20/source/build_dir/target-mips_24kc_musl/gutenprint-5.3.3 -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | xargs -r rm -rf
  endif

  define Build/DefaultTargets
  endef.  Stop.
make[2]: Leaving directory '/home/ubuntu20/mypackages/printing/gutenprint-5.3.3'
time: package/feeds/mypackages/gutenprint-5.3.3/compile#0.24#0.15#0.39
    ERROR: package/feeds/mypackages/gutenprint-5.3.3 failed to build.
make[1]: *** [package/Makefile:114: package/feeds/mypackages/gutenprint-5.3.3/compile] Error 1
make[1]: Leaving directory '/home/ubuntu20/source'
make: *** [/home/ubuntu20/source/include/toplevel.mk:230: package/gutenprint-5.3.3/compile] Error 2

This method is suggested by a commenter here Debugging package Makefile - #3 by jow.

But when I replace "eval" with "error" in the Makefile, I get an error when trying to update and install the feed

EDIT: if I update the package feeds twice, the error asking to fix the Makefile goes away