Temat: Airprint na openwrt - próba kompilacji projektu ipp-usb pod openwrt
Ostatnio zainteresowałem się pakietem ipp-usb (https://github.com/OpenPrinting/ipp-usb), przetestowałem na RPI, działa Airprint na mojej drukarce HP (drukarka bez wifi, tylko usb) i postanowiłem skompilować go na openwrt. Dla debiana kompilacja jest banalna wiec myślałem że i na openwrt sie uda bez problemu...
Przyznaje że jestem w tym zielony, coś tam programuje(pod weba) ale z C i GO nigdy nie miałem do czynienia.
Udało się skompilować środowisko i wstępnie utworzyć Makefile.
Stworzyłem swoje repo na github: https://github.com/kkraszy/ipp-usb-openwrt
Mój Makefile:
include $(TOPDIR)/rules.mk
PKG_NAME:=ipp-usb
PKG_VERSION:=0.9.23
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_DIR:=$(BUILD_DIR)/ipp-usb
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/packages/lang/golang/golang-values.mk
MAKE_VARS = \
GOARCH=$(GO_ARCH)
define Package/ipp-usb
SECTION:=utils
CATEGORY:=Utilities
TITLE:=ipp-usb
PKGARCH:=all
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/ipp-usb/description
ipp-usb
endef
define Package/ipp-usb/install
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipp-usb $(1)/usr/bin/ipp-usb
$(CP) ./files/* $(1)/
$(CP) $(PKG_BUILD_DIR)/etc/ipp/ipp-usb.conf $(1)/etc/config/ipp-usb
endef
$(eval $(call BuildPackage,ipp-usb))Aktualny problem to chyba brak zależności, chciaż wydaje mi się że wszystko doinstalowałem w menuconig
ebian@ns3021243:~/openwrt2$ make package/ipp-usb/compile -j1 V=s
make[2]: Entering directory '/home/debian/openwrt2/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/debian/openwrt2/scripts/config'
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/home/debian/openwrt2'
make[2]: Entering directory '/home/debian/openwrt2/feeds/packages/lang/golang/golang'
make[2]: Leaving directory '/home/debian/openwrt2/feeds/packages/lang/golang/golang'
time: package/feeds/packages/golang/host-compile#0.41#0.11#0.43
make[2]: Entering directory '/home/debian/openwrt2/package/libs/toolchain'
echo "libc" >> /home/debian/openwrt2/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
echo "libgcc" >> /home/debian/openwrt2/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
echo "libpthread" >> /home/debian/openwrt2/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/debian/openwrt2/package/libs/toolchain'
time: package/libs/toolchain/compile#0.12#0.04#0.15
make[2]: Entering directory '/home/debian/openwrt2/package/ipp-usb'
make[2]: Nothing to be done for 'compile'.
make[2]: Leaving directory '/home/debian/openwrt2/package/ipp-usb'
time: package/ipp-usb/compile#0.66#0.05#0.70
make[1]: Leaving directory '/home/debian/openwrt2'Na githubie komuś już udało sie to zrobić ale niestety podał niewiele szczegółów. Pisał żeby nadpisać CGO CFLAGS i CGO LDFLAGS, aby wskazywały katalog OpenWRT Target i lib. Niestety nie za bardzo wiem jak mam to zrobić.
@Cezary masz jakiś pomysł?