【问题标题】:OpenWRT - package missing dependencies when recompilingOpenWRT - 重新编译时打包缺少依赖项
【发布时间】:2013-12-09 23:59:21
【问题描述】:

如果有人能帮我解决这个问题,我将不胜感激,因为这让我发疯了。

当我从头开始编译 OpenWRT 映像(包括我的包)时,通常一切正常。

否则,当我尝试重新编译时,我不断收到缺少依赖项的错误。

我发现唯一可行的解​​决方案是将我的包放入一个完全干净的 OpenWRT 环境中,然后再次编译所有内容。考虑到编译整个 OpenWRT 映像需要一个多小时,这并没有帮助。

这是我的错误:

michael@michael-VirtualBox:~/Documents/openwrt/openwrt$ make package/amldmonitor/compile V=99
^Tmake[1]: Entering directory `/home/michael/Documents/openwrt/openwrt'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/kernel/linux'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `/home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/root-x86/stamp/.kmod-usb-mxs-phy_installed'
modules/usb.mk:1079: warning: ignoring old commands for target `/home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/root-x86/stamp/.kmod-usb-mxs-phy_installed'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `/home/michael/Documents/openwrt/openwrt/bin/x86/packages/kmod-usb-mxs-phy_3.8.13-1_x86.ipk'
modules/usb.mk:1079: warning: ignoring old commands for target `/home/michael/Documents/openwrt/openwrt/bin/x86/packages/kmod-usb-mxs-phy_3.8.13-1_x86.ipk'
/home/michael/Documents/openwrt/openwrt/target/linux/imx23/modules.mk:65: warning: overriding commands for target `kmod-usb-mxs-phy-clean'
modules/usb.mk:1079: warning: ignoring old commands for target `kmod-usb-mxs-phy-clean'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kernel" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-ata-core -- package not selected
WARNING: skipping kmod-ata-ahci -- package not selected
WARNING: skipping kmod-ata-piix -- package not selected
WARNING: skipping kmod-block2mtd -- package not selected
WARNING: skipping kmod-md-mod -- package not selected
WARNING: skipping kmod-scsi-core -- package not selected
WARNING: skipping kmod-scsi-cdrom -- package not selected
WARNING: skipping kmod-crypto-core -- package not selected
WARNING: skipping kmod-crypto-hash -- package not selected
WARNING: skipping kmod-crypto-aes -- package not selected
WARNING: skipping kmod-crypto-crc32c -- package not selected
WARNING: skipping kmod-fs-ext4 -- package not selected
WARNING: skipping kmod-fs-isofs -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-hwmon-core" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-i2c-core -- package not selected
WARNING: skipping kmod-i2c-algo-bit -- package not selected
WARNING: skipping kmod-hid -- package not selected
WARNING: skipping kmod-input-core -- package not selected
WARNING: skipping kmod-acpi-button -- package not selected
WARNING: skipping kmod-ledtrig-netdev -- package not selected
WARNING: skipping kmod-ledtrig-default-on -- package not selected
WARNING: skipping kmod-ledtrig-timer -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-lib-crc-ccitt" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-lib-crc16 -- package not selected
WARNING: skipping kmod-lib-zlib -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-libphy" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-natsemi" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-sis900" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-via-rhine" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-via-velocity" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-8139too" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-r8169" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ne2k-pci" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-e100" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-e1000" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-3c59x" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-pcnet32" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-tg3" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ipt-core" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ipt-conntrack" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ipt-nat" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ipt-nathelper" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ip6tables" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-bridge -- package not selected
WARNING: skipping kmod-llc -- package not selected
WARNING: skipping kmod-stp -- package not selected
WARNING: skipping kmod-8021q -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ipv6" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-tun" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-slhc" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ppp" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-pppox" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-pppoe" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-nls-base -- package not selected
WARNING: skipping kmod-serial-8250 -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-pps" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install.clean; fi; echo "kmod-ptp" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/linux.default.install
WARNING: skipping kmod-random-core -- package not selected
WARNING: skipping kmod-thermal -- package not selected
WARNING: skipping kmod-pcmcia-rsrc -- package not selected
WARNING: skipping kmod-sound-seq -- package not selected
WARNING: skipping kmod-usb-core -- package not selected
WARNING: skipping kmod-usb-uhci -- package not selected
WARNING: skipping kmod-usb-ohci -- package not selected
WARNING: skipping kmod-usb2 -- package not selected
WARNING: skipping kmod-usb2-pci -- package not selected
WARNING: skipping kmod-usb-storage -- package not selected
WARNING: skipping kmod-fb -- package not selected
WARNING: skipping kmod-fb-cfb-fillrect -- package not selected
WARNING: skipping kmod-fb-cfb-copyarea -- package not selected
WARNING: skipping kmod-fb-cfb-imgblt -- package not selected
WARNING: skipping kmod-pcmcia-au1000 -- package not selected
WARNING: skipping kmod-rtc-stmp3xxx -- package not selected
WARNING: skipping kmod-usb-chipidea-imx -- package not selected
WARNING: skipping kmod-ata-rbppc-cf -- package not selected
WARNING: skipping kmod-ata-rb532-cf -- package not selected
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/kernel/linux'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/libs/toolchain'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libc" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libgcc" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install
WARNING: skipping libssp -- package not selected
WARNING: skipping libstdcpp -- package not selected
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libpthread" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/toolchain.default.install
WARNING: skipping libthread-db -- package not selected
WARNING: skipping librt -- package not selected
WARNING: skipping libgfortran -- package not selected
WARNING: skipping ldd -- package not selected
WARNING: skipping ldconfig -- package not selected
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/libs/toolchain'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/libs/ocf-crypto-headers'
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/libs/ocf-crypto-headers'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/libs/zlib'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/zlib.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/zlib.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/zlib.default.install.clean; fi; echo "zlib" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/zlib.default.install
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/libs/zlib'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/libs/openssl'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/openssl.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/openssl.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/openssl.default.install.clean; fi; echo "libopenssl" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/openssl.default.install
WARNING: skipping openssl-util -- package not selected
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/libs/openssl'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/amld'
if [ -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/amld.default.install.clean ]; then rm -f /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/amld.default.install /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/amld.default.install.clean; fi; echo "amld" >> /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo/amld.default.install
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/amld'
make[2]: Entering directory `/home/michael/Documents/openwrt/openwrt/package/amldmonitor'
mkdir -p /home/michael/Documents/openwrt/openwrt/bin/x86/packages /home/michael/Documents/openwrt/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/amldmonitor/ipkg-x86/amldmonitor/CONTROL /home/michael/Documents/openwrt/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo
install -d -m0755 /home/michael/Documents/openwrt/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/amldmonitor/ipkg-x86/amldmonitor/bin
install -m0755 /home/michael/Documents/openwrt/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/amldmonitor/amldmonitor /home/michael/Documents/openwrt/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/amldmonitor/ipkg-x86/amldmonitor/bin/
find /home/michael/Documents/openwrt/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/amldmonitor/ipkg-x86/amldmonitor -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
Package amldmonitor is missing dependencies for the following libraries:
libc.so.6
make[2]: *** [/home/michael/Documents/openwrt/openwrt/bin/x86/packages/amldmonitor_1_x86.ipk] Error 1
make[2]: Leaving directory `/home/michael/Documents/openwrt/openwrt/package/amldmonitor'
make[1]: *** [package/amldmonitor/compile] Error 2
make[1]: Leaving directory `/home/michael/Documents/openwrt/openwrt'
make: *** [package/amldmonitor/compile] Error 2

还有我的包 Makefile:

include $(TOPDIR)/rules.mk

PKG_NAME:=amldmonitor
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define Package/amldmonitor
 TITLE:=amldmontior
 SECTION:=utils
 CATEGORY:=Utilities
 DEPENDS:=+amld +libc +libpthread
endef

CONFIGURE_VARS+= \
    CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)"

define Build/Prepare
    mkdir -p $(PKG_BUILD_DIR)
    $(CP) ./files/* $(PKG_BUILD_DIR)/
endef

define Build/Compile
    $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS)
endef

define Package/amldmonitor/install
    $(INSTALL_DIR) $(1)/bin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/amldmonitor $(1)/bin/
endef

$(eval $(call BuildPackage,amldmonitor))

这是我的项目源文件的 Makefile:

LDFLAGS=-pthread
CFLAGS=-g -Wall
all: amldmonitor

amldmonitor:amldmonitor.o
    $(CC) amldmonitor.o -o amldmonitor $(LDFLAGS)

amldmonitor.o: amldmonitor.c
    $(CC) $(CFLAGS) -c amldmonitor.c

clean:
    rm *.o amldmonitor

【问题讨论】:

  • 您是否尝试过使用 CMake 而不是 Makefiles?到目前为止,我对自己的程序依赖于 libpthread、libcurl 等没有任何问题。
  • 不,我没有,我有其他的包,例如依赖于 libopenssl 的包,它们工作正常,只是这个给我带来了麻烦。

标签: dependencies package cross-compiling openwrt


【解决方案1】:

您可以尝试“清理”您的文件夹计数来源也许它应该是您的文件夹 helloworld 对于像我这样的初学者(再试一次);并验证您的路径是否定义良好(再试一次);在您的 openwrt 文件夹中执行此操作

./scripts/feeds update mypackages
./scripts/feeds install -a -p mypackages

(再试一次)

【讨论】:

    【解决方案2】:

    我通过包含 uclibc++.mk 解决了这个问题

    将此添加到您的包 Makefile 中,就在 include package.mk 行的上方。

    包括 $(INCLUDE_DIR)/uclibc++.mk

    我还将这个添加到包定义中:

    依赖:=+libc

    【讨论】:

    • 如果您的代码使用 C++,这可能会起作用。我的在 C 中,包括 "$(INCLUDE_DIR)/cmake.mk" 为我解决了它。不过感谢您的想法,请支持我:)
    【解决方案3】:

    this 线程之后,用户在我的编译输出中注意到它提到:

    make[3]: Nothing to be done for `all'.
    

    评论:

    你的 src/ 目录真的干净吗?我怀疑它包含一个 已经为您的主机构建的“amldmonitor”可执行文件。制作 确保您的 src/ 目录不包含任何像 *.o 文件或 最终的可执行文件。

    检查我的包源文件夹后,它确实包含 .o 文件和可执行文件。

    删除它解决了我遇到的问题!

    【讨论】:

      【解决方案4】:

      OpenWRT 不支持 libc,它太大而无法容纳。它改为使用 uClibc 和 EGLIBC,因为它们更小。 我不确定你第一次是如何编译它的,但我猜它工作不正常。

      您需要更改您的 Makefile 以使其引用其他 libc 之一,但您也可以在完全不依赖该依赖项的情况下尝试它,它也可以工作。

      查看“feeds/packages”目录并研究其中使用 libc 的其他 Makefile,例如具有“DEPENDS+= +USE_UCLIBC:librpc”的“feeds/packages/utils/owfs/Makefile”。

      祝你好运。

      【讨论】:

      • 去掉依赖也没用,也试过owfs里的所有依赖,还是不行
      • 用 V=99 of V=s 编译所有输出,看看它专门寻找什么函数或 libc 的一部分。另外,不要只看 owfs,还有很多其他的包需要 libc 和变体。
      • 刚找到解决办法,把我的答案贴在上面
      • 解决方法有误,仍需帮助!
      猜你喜欢
      • 2013-10-11
      • 2019-06-22
      • 2020-08-27
      • 1970-01-01
      • 2012-01-11
      • 2019-06-19
      • 1970-01-01
      • 2022-09-13
      • 2020-12-13
      相关资源
      最近更新 更多