Unable to build single package

Hi,

I would like to use the luci-proto-ncm package so I started follow this guide: https://wiki.openwrt.org/doc/howto/build.a.package

So, I write this commands:

git clone https://github.com/openwrt/openwrt.git
./scripts/feeds update
make defconfig
make package/symlinks

make menuconfig (I check Luci > Protocols > luci-proto-ncm)
make tools/install
make toolchain/install
make target/compile

./scripts/feeds install luci-proto-ncm
make package/luci-proto-ncm/prepare
make package/luci-proto-ncm/compile
make package/luci-proto-ncm/install

But with make package/luci/install, I have this error:

vagrant@stretch:~/openwrt$ make package/luci-proto-ncm/install
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libsqlite2', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'flite', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libyuv', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'hiredis', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libilbc', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libmemcached', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libsilk', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libg7221', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'freeradius-client', which does not exist
 make[1] package/luci-proto-ncm/install
make -r package/luci-proto-ncm/install: build failed. Please re-run make with -j1 V=s to see what's going on
/home/vagrant/openwrt/include/toplevel.mk:216: recipe for target 'package/luci-proto-ncm/install' failed
make: *** [package/luci-proto-ncm/install] Error 1

Can you help me? Do I do this right or not?

Thanks!

Why dont you use SDK for building packages?
It has precompiled toolchain,so you dont have to waste time on compiling it.

Also,without -j1 V=s flags you really cant see what is the issue

1 Like

Hi,

Thanks for your help.

Where can I find this SDK to build my package?

And:

vagrant@stretch:~/openwrt$ make package/luci-proto-ncm/install -j1 V=s
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libsqlite2', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'flite', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libyuv', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'hiredis', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libilbc', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libmemcached', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libsilk', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libg7221', which does not exist
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'freeradius-client', which does not exist
make[1]: Entering directory '/home/vagrant/openwrt'
make[1]: *** No rule to make target 'package/luci-proto-ncm/install'.  Stop.
make[1]: Leaving directory '/home/vagrant/openwrt'
/home/vagrant/openwrt/include/toplevel.mk:216: recipe for target 'package/luci-proto-ncm/install' failed
make: *** [package/luci-proto-ncm/install] Error 2

https://downloads.openwrt.org/

It is under device specific images.
It should be next to imagebuilder

1 Like

Thanks, is there a guide to how to use it?

Oh, Google is useful: https://wiki.openwrt.org/doc/howto/obtain.firmware.sdk

Use this guide
Much more up to date
https://lede-project.org/docs/guide-developer/compile_packages_for_lede_with_the_sdk

1 Like

Thanks!

Unfortunately, luci-proto-ncm is missing with the SDK: lede-sdk-17.01.4-ar71xx-generic_gcc-5.4.0_musl-1.1.16.Linux-x86_64.tar.xz

make menuconfig (deselect 3 options)
./scripts/feeds update -a
./scripts/feeds install luci
./scripts/feeds install comgt-ncm
make menuconfig (Luci > Protocols)

So, do you know if it is impossible to install luci-protocol-ncm on LEDE ?

And:

vagrant@stretch:~/lede-sdk-17.01.4-ar71xx-generic_gcc-5.4.0_musl-1.1.16.Linux-x86_64$ ./scripts/feeds install luci-proto-ncm
WARNING: No feed for package 'luci-proto-ncm' found, maybe it's already part of the standard packages?

Package: https://github.com/openwrt/luci/tree/master/protocols/luci-proto-ncm

That package does not exist in 17.01.4.
It is available only in snapshots.

1 Like

Thanks, I will try with this SDK so: https://downloads.openwrt.org/snapshots/targets/ar71xx/generic/

Rhh....

vagrant@stretch:~/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64$ make -j2
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'r8169-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'e100-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'bnx2-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'ar3k-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'mwifiex-sdio-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb2', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'edgeport-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb3', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'prism54-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'rtl8192su-firmware', which does not exist
tmp/.config-package.in:36:warning: ignoring type redefinition of 'PACKAGE_libc' from 'boolean' to 'tristate'
tmp/.config-package.in:64:warning: ignoring type redefinition of 'PACKAGE_libgcc' from 'boolean' to 'tristate'
tmp/.config-package.in:149:warning: ignoring type redefinition of 'PACKAGE_libpthread' from 'boolean' to 'tristate'
tmp/.config-package.in:369:warning: ignoring type redefinition of 'PACKAGE_ubus' from 'boolean' to 'tristate'
tmp/.config-package.in:384:warning: ignoring type redefinition of 'PACKAGE_ubusd' from 'boolean' to 'tristate'
tmp/.config-package.in:398:warning: ignoring type redefinition of 'PACKAGE_uci' from 'boolean' to 'tristate'
tmp/.config-package.in:601:warning: ignoring type redefinition of 'PACKAGE_libblobmsg-json' from 'boolean' to 'tristate'
tmp/.config-package.in:639:warning: ignoring type redefinition of 'PACKAGE_libiwinfo' from 'boolean' to 'tristate'
tmp/.config-package.in:654:warning: ignoring type redefinition of 'PACKAGE_libjson-c' from 'boolean' to 'tristate'
tmp/.config-package.in:696:warning: ignoring type redefinition of 'PACKAGE_libnl-tiny' from 'boolean' to 'tristate'
tmp/.config-package.in:725:warning: ignoring type redefinition of 'PACKAGE_libubox' from 'boolean' to 'tristate'
tmp/.config-package.in:751:warning: ignoring type redefinition of 'PACKAGE_libubus' from 'boolean' to 'tristate'
tmp/.config-package.in:778:warning: ignoring type redefinition of 'PACKAGE_libuci' from 'boolean' to 'tristate'
tmp/.config-package.in:866:warning: ignoring type redefinition of 'LUCI_LANG_ca' from 'boolean' to 'tristate'
tmp/.config-package.in:869:warning: ignoring type redefinition of 'LUCI_LANG_cs' from 'boolean' to 'tristate'
tmp/.config-package.in:872:warning: ignoring type redefinition of 'LUCI_LANG_de' from 'boolean' to 'tristate'
tmp/.config-package.in:875:warning: ignoring type redefinition of 'LUCI_LANG_el' from 'boolean' to 'tristate'
tmp/.config-package.in:878:warning: ignoring type redefinition of 'LUCI_LANG_en' from 'boolean' to 'tristate'
tmp/.config-package.in:881:warning: ignoring type redefinition of 'LUCI_LANG_es' from 'boolean' to 'tristate'
tmp/.config-package.in:884:warning: ignoring type redefinition of 'LUCI_LANG_fr' from 'boolean' to 'tristate'
tmp/.config-package.in:887:warning: ignoring type redefinition of 'LUCI_LANG_he' from 'boolean' to 'tristate'
tmp/.config-package.in:890:warning: ignoring type redefinition of 'LUCI_LANG_hu' from 'boolean' to 'tristate'
tmp/.config-package.in:893:warning: ignoring type redefinition of 'LUCI_LANG_it' from 'boolean' to 'tristate'
tmp/.config-package.in:896:warning: ignoring type redefinition of 'LUCI_LANG_ja' from 'boolean' to 'tristate'
tmp/.config-package.in:899:warning: ignoring type redefinition of 'LUCI_LANG_ko' from 'boolean' to 'tristate'
tmp/.config-package.in:902:warning: ignoring type redefinition of 'LUCI_LANG_ms' from 'boolean' to 'tristate'
tmp/.config-package.in:905:warning: ignoring type redefinition of 'LUCI_LANG_no' from 'boolean' to 'tristate'
tmp/.config-package.in:908:warning: ignoring type redefinition of 'LUCI_LANG_pl' from 'boolean' to 'tristate'
tmp/.config-package.in:911:warning: ignoring type redefinition of 'LUCI_LANG_pt' from 'boolean' to 'tristate'
tmp/.config-package.in:914:warning: ignoring type redefinition of 'LUCI_LANG_pt-br' from 'boolean' to 'tristate'
tmp/.config-package.in:917:warning: ignoring type redefinition of 'LUCI_LANG_ro' from 'boolean' to 'tristate'
tmp/.config-package.in:920:warning: ignoring type redefinition of 'LUCI_LANG_ru' from 'boolean' to 'tristate'
tmp/.config-package.in:923:warning: ignoring type redefinition of 'LUCI_LANG_sk' from 'boolean' to 'tristate'
tmp/.config-package.in:926:warning: ignoring type redefinition of 'LUCI_LANG_sv' from 'boolean' to 'tristate'
tmp/.config-package.in:929:warning: ignoring type redefinition of 'LUCI_LANG_tr' from 'boolean' to 'tristate'
tmp/.config-package.in:932:warning: ignoring type redefinition of 'LUCI_LANG_uk' from 'boolean' to 'tristate'
tmp/.config-package.in:935:warning: ignoring type redefinition of 'LUCI_LANG_vi' from 'boolean' to 'tristate'
tmp/.config-package.in:938:warning: ignoring type redefinition of 'LUCI_LANG_zh-cn' from 'boolean' to 'tristate'
tmp/.config-package.in:941:warning: ignoring type redefinition of 'LUCI_LANG_zh-tw' from 'boolean' to 'tristate'
tmp/.config-package.in:1779:warning: ignoring type redefinition of 'PACKAGE_ppp' from 'boolean' to 'tristate'
tmp/.config-package.in:1825:warning: ignoring type redefinition of 'PACKAGE_ppp-mod-pppoe' from 'boolean' to 'tristate'
tmp/.config-package.in:1965:warning: ignoring type redefinition of 'PACKAGE_iwinfo' from 'boolean' to 'tristate'
tmp/.config-package.in:1978:warning: ignoring type redefinition of 'PACKAGE_jshn' from 'boolean' to 'tristate'
tmp/.config-package.in:2049:warning: ignoring type redefinition of 'PACKAGE_libjson-script' from 'boolean' to 'tristate'
#
# configuration written to .config
#
 make[1] world
 make[2] package/compile
 make[3] -C package/toolchain compile
 make[3] -C package/linux compile
 make[3] -C feeds/base/package/utils/lua host-compile
 make[3] -C feeds/luci/modules/luci-base host-compile
 make[3] -C feeds/base/package/libs/libpcap compile
 make[3] -C feeds/base/package/network/utils/linux-atm compile
 make[3] -C feeds/base/package/network/utils/resolveip compile
 make[3] -C feeds/base/package/network/utils/wwan compile
 make[3] -C feeds/base/package/utils/lua compile
 make[3] -C feeds/base/package/libs/libjson-c compile
 make[3] -C feeds/base/package/libs/libnl-tiny compile
 make[3] -C feeds/base/package/libs/openssl compile
 make[3] -C feeds/base/package/libs/zlib compile
 make[3] -C feeds/base/package/network/services/ppp compile
 make[3] -C feeds/base/package/libs/libubox compile
 make[3] -C feeds/base/package/network/utils/comgt compile
 make[3] -C feeds/base/package/system/uci compile
 make[3] -C feeds/base/package/system/ubus compile
 make[3] -C feeds/luci/protocols/luci-proto-ncm compile
 make[3] -C feeds/base/package/network/utils/iwinfo compile
 make[2] package/index
make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/include/toplevel.mk:209: recipe for target 'world' failed
make: *** [world] Error 1

And:

  vagrant@stretch:~/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64$ make -j1 V=s
    Signing package index...
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    Cannot open file '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/key-build' for reading
    package/Makefile:81: recipe for target 'package/index' failed
    make[2]: *** [package/index] Error 1
    make[2]: Leaving directory '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64'
    Makefile:55: recipe for target 'world' failed
    make[1]: *** [world] Error 2
    make[1]: Leaving directory '/home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64'
    /home/vagrant/openwrt-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64/include/toplevel.mk:209: recipe for target 'world' failed
    make: *** [world] Error 2

I don't think you read it at all.
First, you update feeds.
Then you install the only package you need, that will install dependencies too.
Then make menuconfig, you unselect stuff that is written in wiki and select package you want to build.

Then make -j1 V=s

1 Like

Fix: I have to uncheck "Cryptographically sign package lists" too.

1 Like

Thanks for all @robimarko!

I found this command the simplest way "./scripts/feeds uninstall freeswitch" as I have no use for the package it solved my problem very simply. It has saved me hours of investigation.