OpenWrt Forum Archive

Topic: How to bulid all the modules at one buld process?

The content of this topic has been archived on 23 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

since i am using the lattest version of openwrt, so it is very often that the package repository hosted on openwrt.org cannot supoort my openwrt system , for the packages are obsolescent.

so i have to build the ipks myself.
once i need a package, i would make menuconfig , and build this package.
this brings me lots of inconvenience, i hate waste time on waiting for a build process.

Is there any method that i build all the packages at one build, so once  i need some package, i don't have to build it,
because it is prebuild long time ago:)
also I don't want to check all the package option manually,  it is boring, isn't it?

so is there easy method to build all the packages at one build?
Hope for ur reply, dear friends??

I have never tried this myself, but this may do what you want:

make menuconfig
Global build settings --->
   [*] Select all packages by default

And after you did that you should run with  "make V=99 IGNORE_ERRORS=m"  to just skip broken packages

jow wrote:

And after you did that you should run with  "make V=99 IGNORE_ERRORS=m"  to just skip broken packages

Jow, will IGNORE_ERRORS=m work with a parallel make using ionice and nice, i.e. "ionice -c3 nice -n20 make IGNORE_ERRORS=m -j4"? I tried it on my AMD64 PhenomII X3 and the compilation terminates when crashes occur.

jlars wrote:

I have never tried this myself, but this may do what you want:

make menuconfig
Global build settings --->
   [*] Select all packages by default

it seems this configure do not build all the packages, hmm

mazilo wrote:

"ionice -c3 nice -n20 make IGNORE_ERRORS=m -j4"

A niceness value is an integer ranging from -20 to 19. -20 is the highest scheduling priority, while 0 is default and 19 is the lowest.

Anyway split out the make in submake components, as some likes -j ie.: "make -j8 download" and some not: ie. "make (-j1) target/linux compile"
YMMV

jameslord wrote:
jlars wrote:

I have never tried this myself, but this may do what you want:

make menuconfig
Global build settings --->
   [*] Select all packages by default

it seems this configure do not build all the packages, hmm

i remove the former build using make clean, then set the select all packages by default option,
now i can get more ipk files, that is 447 (before i start a clean build process , i got only about 240 ipk files)


/backfire/bin/brcm63xx/packages$ ls | wc -l
447


but the package dir i download from the offical repository ( http://downloads.openwrt.org/backfire/1 … /packages/ )
has about 2300 ipk files?  so what  this means?
is it i haven't build all the packages?  since 2300 >> 447

so how can i get 2300 ipk files in one build process?

maybe select all packages by default is not enough, need even more configuration?

If you have not already done this then check which package feeds you have enabled in feeds.conf or feeds.conf.default then run:

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

jlars wrote:

If you have not already done this then check which package feeds you have enabled in feeds.conf or feeds.conf.default then run:

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

james@ubuntu:~/download/backfire_all$ make V=99 IGNORE_ERRORS=m

++ mkdir -p /home/james/download/backfire_all/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1
++ cd /home/james/download/backfire_all/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1
++ mkdir -p stamp lib usr/include usr/lib
make[4]: Entering directory `/home/james/download/backfire_all/target/linux'
make[5]: Entering directory `/home/james/download/backfire_all/target/linux/brcm63xx'
make[6]: Entering directory `/home/james/download/backfire_all/target/linux/brcm63xx/image'
make[6]: Leaving directory `/home/james/download/backfire_all/target/linux/brcm63xx/image'
make[5]: Leaving directory `/home/james/download/backfire_all/target/linux/brcm63xx'
make[4]: Leaving directory `/home/james/download/backfire_all/target/linux'
Checking 'working-sdcc'... failed.
Checking 'sdcc'... failed.

firmwarehotplug: firmwarehotplug requires a SDCC Cross Compiler (sdcc) that supports the following targets : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08. You might consider installing the non-free version.
firmwarehotplug: firmwarehotplug requires the SDCC Cross Compiler (sdcc).

make[3]: *** [prereq] Error 1
Checking 'openssl'... ok.
Checking 'rsync'... ok.
Checking 'xgettext'... ok.
Checking '/usr/include/openssl/ssl.h'... ok.
Checking 'xsltproc'... ok.
Package prerequisite check failed.
make[2]: *** [tmp/.prereq_packages] Error 1
make[1]: *** [prereq] Error 2
make: *** [world] Error 2

this error is confusing, i have add IGNORE_ERRORS=m option when using make V=99

jlars wrote:

If you have not already done this then check which package feeds you have enabled in feeds.conf or feeds.conf.default then run:

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

i can find feeds.conf.defaults under the root directory of backfire

how to enable feeds.conf.defaults?

also i have try update -a and install -a, and check the build all packages option when make menuconfig,
there are more ipks under bin after the build process, now 1100 compared with the formmer 250, but i cannot find the nagios ipk under bin directory, what's wrong? since i think the feeds include nagios, but the build process did not build such nagios ipk, anybody would help?

router@ubuntu:~/download/backfire_all$ ./scripts/feeds list | grep nagios
nagios                                  service and network monitoring program
nagios-plugins                          plugins for Nagios checks
router@ubuntu:~/download/backfire$ cat feeds.conf.default 
src-svn packages svn://svn.openwrt.org/openwrt/packages
src-svn xwrt http://x-wrt.googlecode.com/svn/branches/backfire_10.03/package
src-svn luci http://svn.luci.subsignal.org/luci/branches/luci-0.10/contrib/package
router@ubuntu:~/download/backfire_all$ ls bin/brcm63xx/packages/ -l | wc -l 
1100
router@ubuntu:~/download/backfire$ ls ../backfire/bin/brcm63xx/packages/ -l | wc -l
250

1100

nagios could be skipped with IGNORE_ERRORS.  You can compile a single package and check for errors with:

make package/feeds/packages/nagios/compile V=99

Hi!

I tried this below, but only the checked packages were been built, not all. :-(

make menuconfig
Global build settings --->
   [*] Select all packages by default

Hi Guys,

i got that same problem.
I selected "[*] Select all packages by default" at menuconfig
but the .config file tells me that the packages are not set.

Update: Now i got it working.

1.  ./scripts/feeds uninstall -a
2.  ./scripts/feeds install -a -d m

(Last edited by RobertD on 15 Sep 2011, 18:37)

RobertD wrote:

Hi Guys,

i got that same problem.
I selected "[*] Select all packages by default" at menuconfig
but the .config file tells me that the packages are not set.

Update: Now i got it working.

1.  ./scripts/feeds uninstall -a
2.  ./scripts/feeds install -a -d m

what these code did, this really needs study:)

I'm also puzzled as how to kick off a build of all packages for a given distribution. I've tried the

make menuconfig
Global build settings --->
   [*] Select all packages by default

approach, confirming

jeff@port7:~/devel/openwrt/attitude_adjustment$ fgrep CONFIG_ALL .config
CONFIG_ALL=y

and then running make V=99 IGNORE_ERRORS=m

As others have reported, this does not build the full set of modules/packages, just those that were explicitly selected (and their dependencies, hopefully).

Checking https://forum.openwrt.org/viewtopic.php?id=31972 didn't provide any additional clues.

Yes, I do have a reason for building my own, self-consistent set of modules/packages...

Suggestions are most welcome as to how to accomplish that in the current build environment.

This option has no effect on an existing .config file, you need to enable it before saving menuconfig for the first time.

I am looking to build ONLY menuconfig preselected packages and not "Select all packages by default" and i cannot find information on it.
San someone shed light into it ?

The discussion might have continued from here.