OpenWRT - 重新编译时缺少软件包依赖

8
如果有人能帮我解决这个问题,我会非常感激,因为这让我疯狂了。
当我从头开始编译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等库时没有遇到任何问题。 - yegorich
没有,我有其他的包依赖于libopenssl,例如它们都能正常工作,只是这个包让我头疼。 - TomSelleck
4个回答

7

这个帖子中,一个用户注意到我的编译输出中提到了以下内容:

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

评论:

你的src/目录实际上干净吗?我怀疑其中已经包含了一个为你的主机构建的“amldmonitor”可执行文件。确保你的src/目录不包含任何类似*.o文件或最终可执行文件的垃圾文件。

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

移除这些解决了我遇到的问题!


1

你可以尝试“make clean”你的包含源代码的文件夹,也许对于像我这样的初学者来说,它应该是你的helloworld文件夹(再试一次); 并验证你的路径是否定义正确(再试一次); 在你的openwrt文件夹中执行此操作

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

尝试再次。

1
我通过包含uclibc++.mk文件解决了这个问题。
请在包的Makefile中,在include package.mk行的上方添加以下内容:
include $(INCLUDE_DIR)/uclibc++.mk
我还在包定义中添加了以下内容:
DEPENDS:=+libc

1
如果你的代码是用C++写的,这个方法可能有效。我的代码是用C写的,包含"$(INCLUDE_DIR)/cmake.mk"解决了我的问题。谢谢你的建议,我给你点赞 :) - John Hamilton

0

OpenWRT 不支持 libc,因为它太大了无法容纳。相反,它使用 uClibc 和 EGLIBC 因为它们更小。

我不确定怎么才能第一次编译成功,但我猜这样做可能行不通。

你需要修改 Makefile 来引用其中一个其他的 libc,但你也可以尝试在没有该依赖关系的情况下进行编译,并且它也可能起作用。

查看 "feeds/packages" 目录并研究那里使用 libc 的其他 Makefiles,例如 "feeds/packages/utils/owfs/Makefile",其中包含 "DEPENDS+=+USE_UCLIBC:librpc"。

祝你好运。


移除依赖项没有起作用,还尝试了owfs中的所有依赖项,仍然没有成功。 - TomSelleck
使用V=99或V=s编译所有输出,查看它具体正在寻找哪个libc函数或部分。此外,不要只在owfs中查找,许多其他软件包也需要libc和其变体。 - nemik
刚刚找到了解决方案,已经在上面发布了我的答案。 - TomSelleck
解决方案有问题,仍需要帮助! - TomSelleck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接