OpenWRT - package missing dependencies when recomp

2020-06-16 04:52发布

问题:

If anybody can help me with this I would really appreciate it because it's driving me insane.

When I compile an OpenWRT image from scratch including my packages, usually, everything works fine.

Otherwise, when I then try to recompile, I keep getting missing dependency errors.

The only solution I have found which works is to place my package into a completely clean OpenWRT environment and compile everything again. This is not helpful considering it takes over an hour to compile the entire OpenWRT image.

Here is my error:

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

And my package 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))

Here is the Makefile for my projects source files:

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

回答1:

Following this thread, a user noticed in my compilation output that it mentioned:

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

Comment:

Is your src/ directory actually clean? I suspect it contains an "amldmonitor" executable already which was built for your host. Make sure your src/ directory does not contain any junk like *.o files or final executables.

After inspecting my package source folder, it did indeed contain .o files and an executable.

Removing this solved the issues I was having!



回答2:

I fixed this issue by including uclibc++.mk

Add this to your package Makefile just above the include package.mk line.

include $(INCLUDE_DIR)/uclibc++.mk

I also added this to the package define:

DEPENDS:=+libc



回答3:

you can try to "make clean "your folder countaining sources maybye it's should be your folder helloworld for some beginner like me (try again);and verify if your path is well define (try again); do this in your openwrt folder

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

(try again)



回答4:

OpenWRT doesn't support libc, it is to large to fit. It instead uses uClibc and EGLIBC because they are smaller. I'm not sure how you even get it to compile the first time, but I'll guess it didn't work right.

You need to change your Makefile to have it reference one of those other libc's, but you could also try it without that dependency entirely and it may also work.

Check out the "feeds/packages" directory and research for other Makefiles using libc in there, such as "feeds/packages/utils/owfs/Makefile" which has "DEPENDS+= +USE_UCLIBC:librpc".

Good luck.