playing around with allyesconfig on current master

Cristian Ionescu-Idbohrn cristian.ionescu-idbohrn at axis.com
Sun Aug 28 13:11:44 UTC 2016


At commit d3d7f085ebf2898b62d4bb75566122c65be96454.

First CONFIG_SELINUX=y, and then:

	Package libselinux was not found in the pkg-config search path.
	Perhaps you should add the directory containing `libselinux.pc'
	to the PKG_CONFIG_PATH environment variable
	No package 'libselinux' found
	Package libsepol was not found in the pkg-config search path.
	Perhaps you should add the directory containing `libsepol.pc'
	to the PKG_CONFIG_PATH environment variable
	No package 'libsepol' found

Easy to avoid that with '# CONFIG_SELINUX is not set'.

Seems `pkg-config --exists --print-errors' is already run.  Then why
not show the messages but generate .config with "# CONFIG_SELINUX is
not set'?

Next.  allyesconfig sets the default shell CONFIG_HUSH=y and:

	shell/hush.c:1334:13: error: 'close_all_FILE_list' defined but not used [-Werror=unused-function]
	 static void close_all_FILE_list(void)

Alright, let's change to ash.  `make menuconfig' -> Shells.  But ash
is not on the list.  Something to do with "Depends on: !NOMMU"? Yes.
Deselect Busybox Settings -> Build Options -> Force NOMMU build.
Ash is now a visible option.  Make it the default shell too.

	In file included from util-linux/fdisk.c:641:0:
	util-linux/fdisk_osf.c: In function 'bsd_select':
	util-linux/fdisk_osf.c:364:6: error: implicit declaration of function 'partname' [-Werror=implicit-function-declaration]
	      partname(disk_device, t+1, 0));
	      ^~~~~~~~
	util-linux/fdisk.c: At top level:
	util-linux/fdisk.c:2062:1: error: conflicting types for 'partname'
	 partname(const char *dev, int pno, int lth)
	 ^~~~~~~~
	In file included from util-linux/fdisk.c:641:0:
	util-linux/fdisk_osf.c:364:6: note: previous implicit declaration of 'partname' was here
	      partname(disk_device, t+1, 0));
	      ^~~~~~~~

Let's disable "Support BSD disklabels".

	In file included from util-linux/fdisk.c:680:0:
	util-linux/fdisk_sgi.c: In function 'sgi_list_table':
	util-linux/fdisk_sgi.c:329:25: error: implicit declaration of function 'partnam' [-Werror=implicit-function-declaration]
	 /* device */            partname(disk_device, kpi, w+3),
	                         ^~~~~~~~
	util-linux/fdisk.c: At top level:
	util-linux/fdisk.c:2062:1: error: conflicting types for 'partname'
	 partname(const char *dev, int pno, int lth)
	 ^~~~~~~~
	In file included from util-linux/fdisk.c:680:0:
	util-linux/fdisk_sgi.c:329:25: note: previous implicit declaration of 'partname' was here
	 /* device */            partname(disk_device, kpi, w+3),

Let's disable "Support SGI disklabels" too.

	In file included from util-linux/fdisk.c:698:0:
	util-linux/fdisk_sun.c: In function 'sun_list_table':
	util-linux/fdisk_sun.c:661:5: error: implicit declaration of function 'partname' [-Werror=implicit-function-declaration]
	     partname(disk_device, i+1, w),                  /* device */
	     ^~~~~~~~
	util-linux/fdisk.c: At top level:
	util-linux/fdisk.c:2062:1: error: conflicting types for 'partname'
	 partname(const char *dev, int pno, int lth)
	 ^~~~~~~~
	In file included from util-linux/fdisk.c:698:0:
	util-linux/fdisk_sun.c:661:5: note: previous implicit declaration of 'partname' was here
	     partname(disk_device, i+1, w),                  /* device */

Disable "Support SUN disklabels".

	gcc: error: cannot specify -static with -fsanitize=address
	Note: if build needs additional libraries, put them in
	CONFIG_EXTRA_LDLIBS.
	Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam"
	Makefile:717: recipe for target 'busybox_unstripped' failed

Disable Busybox Settings -> Build Options -> Build BusyBox as a static
binary (no shared libs).

Finally, it builds and runs.

I'm not making any suggestions, but the HUSH and the STATIC may be
real bugs.  "Support (odd) disklabels" disabled per default may also
simplify for many/most of the user base.  Default CONFIG_NOMMU=y, I
have no idea how common that is today.


Cheers,

-- 
Cristian


More information about the busybox mailing list