BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003024 [BusyBox] Other minor always 04-22-08 01:15 04-23-08 11:51
Reporter lamer View Status public  
Assigned To BusyBox
Priority normal Resolution no change required  
Status closed   Product Version
Summary 0003024: Mistake of compilation
Description Mistake of compilation
Additional Information est:/# export LANG=C
test:/# cd /usr/src
test:/usr/src# wget http://busybox.net/downloads/busybox-1.10.1.tar.bz2 [^]
--2008-04-22 10:50:20-- http://busybox.net/downloads/busybox-1.10.1.tar.bz2 [^]
Resolving busybox.net... 140.211.166.42
Connecting to busybox.net|140.211.166.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1859037 (1.8M) [application/x-tar]
Saving to: `busybox-1.10.1.tar.bz2'

100%[================================================>] 1,859,037 506K/s in 3.6s

2008-04-22 10:50:24 (506 KB/s) - `busybox-1.10.1.tar.bz2' saved [1859037/1859037]

test:/usr/src# bzip2 -cd busybox-1.10.1.tar.bz2 | tar xf -
test:/usr/src# cd busybox-1.10.1
test:/usr/src/busybox-1.10.1# make allyesconfig > /dev/null
test:/usr/src/busybox-1.10.1# make
  SPLIT include/autoconf.h -> include/config/*
  GEN include/bbconfigopts.h
  HOSTCC applets/usage
  GEN include/usage_compressed.h
  HOSTCC applets/applet_tables
In file included from applets/../include/busybox.h:10,
                 from applets/applet_tables.c:16:
applets/../include/libbb.h:56:29: error: selinux/selinux.h: No such file or directory
applets/../include/libbb.h:57:29: error: selinux/context.h: No such file or directory
applets/../include/libbb.h:58:27: error: selinux/flask.h: No such file or directory
applets/../include/libbb.h:59:36: error: selinux/av_permissions.h: No such file or directory
In file included from applets/../include/busybox.h:10,
                 from applets/applet_tables.c:16:
applets/../include/libbb.h:942: error: expected ')' before 'sid'
applets/../include/libbb.h:943: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'set_security_context_component'
applets/../include/libbb.h:945: error: expected ')' before 'scontext'
make[1]: *** [applets/applet_tables] Error 1
make: *** [applets] Error 2
Attached Files

- Relationships

- Notes
(0006864)
vda
04-22-08 02:05

Either install selinux headers, or unset CONFIG_SELINUX in .config.
 
(0006894)
lamer
04-22-08 05:08

Thanks, I stupe, sorry ...

test:/usr/src/busybox-1.10.1# yes|apt-get install libselinux1-dev > /dev/null
test:/usr/src/busybox-1.10.1# make clean
  CLEAN applets
  CLEAN .tmp_versions
  CLEAN busybox_unstripped.out .kernelrelease
test:/usr/src/busybox-1.10.1# make > /dev/null
cc1: warnings being treated as errors
coreutils/who.c: In function 'who_main':
coreutils/who.c:68: warning: passing argument 1 of 'ctime' from incompatible pointer type
make[1]: *** [coreutils/who.o] Error 1
make: *** [coreutils] Error 2
test:/usr/src/busybox-1.10.1# cat .config|sed "s/WHO=y/WHO=n/g;" > .config.tmp;mv .config.tmp .config
test:/usr/src/busybox-1.10.1# make clean > /dev/null
test:/usr/src/busybox-1.10.1# make > /dev/null
shell/hush.c:90:2: error: #warning On NOMMU, hush command substitution is dangerous.
shell/hush.c:91:2: error: #warning Dont use it for commands which produce lots of output.
shell/hush.c:92:2: error: #warning For more info see shell/hush.c, generate_stream_from_list().
make[1]: *** [shell/hush.o] Error 1
make: *** [shell] Error 2
test:/usr/src/busybox-1.10.1# make menuconfig
scripts/kconfig/mconf Config.in
#
# using defaults found in .config
#
....

*** End of busybox configuration.
*** Execute 'make' to build busybox or try 'make help'.

test:/usr/src/busybox-1.10.1# grep -i hush .config
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_HUSH is not set
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_JOB is not set
# CONFIG_HUSH_TICK is not set
# CONFIG_HUSH_IF is not set
# CONFIG_HUSH_LOOPS is not set
test:/usr/src/busybox-1.10.1# make clean > /dev/null
test:/usr/src/busybox-1.10.1# make | tail -n 13
make: *** [busybox_unstripped] Error 1
networking/lib.a(inetd.o): In function `reread_config_file':
/usr/src/busybox-1.10.1/networking/inetd.c:969: warning: Using 'getrpcbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlerror':
(.text+0x1): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlclose':
(.text+0x11): undefined reference to `dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlsym':
(.text+0x21): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlopen':
(.text+0x36): undefined reference to `dlopen'
shell/lib.a(ash.o): In function `forkshell':
/usr/src/busybox-1.10.1/shell/ash.c:4589: undefined reference to `BUG_fork_is_unavailable_on_nommu'
collect2: ld returned 1 exit status
 
(0006924)
vda
04-22-08 07:01

cc1: warnings being treated as errors

if you don't want this, switch off CONFIG_WERROR=y.

coreutils/who.c: In function 'who_main':
coreutils/who.c:68: warning: passing argument 1 of 'ctime' from incompatible pointer type

Your libc headers are broken. They should contain these defs:

char *ctime(const time_t *timep);
struct timeval {
       time_t tv_sec;
       suseconds_t tv_usec;
};

but obviously they have some problem there,
and thus gcc doesn't like "ctime(&(ut->ut_tv.tv_sec))" construct.
 
(0006934)
vda
04-22-08 07:03

> networking/lib.a(inetd.o): In function `reread_config_file':
/usr/src/busybox-1.10.1/networking/inetd.c:969: warning: Using 'getrpcbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

Static linking against glibc is prone to errors. Static linking against PAM is probably not going to work at all.
 
(0006944)
vda
04-22-08 07:04

/usr/src/busybox-1.10.1/shell/ash.c:4589: undefined reference to `BUG_fork_is_unavailable_on_nommu'
collect2: ld returned 1 exit status

ash can't work on NOMMU architectures. Either switch off CONFIG_ASH, or switch off CONFIG_NOMMU.
 
(0006984)
lamer
04-23-08 03:53

Debian testing version (lenny, http://www.debian.org/releases/testing/): [^]
.....
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlerror':
(.text+0x1): undefined reference to `dlerror'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlclose':
(.text+0x11): undefined reference to `dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlsym':
(.text+0x21): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib64/libpam.a(pam_dynamic.o): In function `_pam_dlopen':
(.text+0x36): undefined reference to `dlopen'
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
test:/usr/src/busybox-1.10.1# cat /etc/issue.net
Debian GNU/Linux lenny/sid
test:/usr/src/busybox-1.10.1# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libmudflap --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.2.3 (Debian 4.2.3-3)


Debian stable version (etch, http://www.debian.org/releases/stable/): [^]
....
cc1: warnings being treated as errors
coreutils/who.c: In function 'who_main':
coreutils/who.c:68: warning: passing argument 1 of 'ctime' from incompatible pointer type
make[1]: *** [coreutils/who.o] Error 1
make: *** [coreutils] Error 2
....
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_free_handlers':
(.text+0x17a): undefined reference to `dlclose'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_parse_conf_file':
(.text+0x885): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_parse_conf_file':
(.text+0x90e): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_parse_conf_file':
(.text+0xadd): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_parse_conf_file':
(.text+0xd56): undefined reference to `dlopen'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libpam.a(pam_handlers.o): In function `_pam_parse_conf_file':
(.text+0xd8a): undefined reference to `dlerror'
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
test1:/usr/src/busybox-1.10.1# cat /etc/issue.net
Debian GNU/Linux 4.0
test1:/usr/src/busybox-1.10.1# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

On what version it should be compiled without mistakes?
 
(0006994)
vda
04-23-08 04:12
edited on: 04-23-08 04:15

On my desktop Linux machine with glibc 2.4 and gcc 4.2.3:
I untarred 1.10.1, did "make allyesconfig", then switched off CONFIG_SELINUX, CONFIG_STATIC and CONFIG_NOMMU. Then ran make. Result:

...
  CC util-linux/volume_id/xfs.o
  AR util-linux/volume_id/lib.a
  LINK busybox_unstripped
Trying libraries: crypt m pam pam_misc
 Library crypt is needed
 Library m is needed
 Library pam is not needed
 Library pam_misc is needed
 Library crypt is needed
 Library m is needed
 Library pam_misc is needed
Final link with: crypt m pam_misc

Regarding this:

cc1: warnings being treated as errors
coreutils/who.c: In function 'who_main':
coreutils/who.c:68: warning: passing argument 1 of 'ctime' from incompatible pointer type
make[1]: *** [coreutils/who.o] Error 1
make: *** [coreutils] Error 2

*AS I ALREADY SAID*: your libc headers are broken; but switching off CONFIG_WERROR will let you ignore this.

As for "undefined reference to `dlopen'": *AS I ALREADY SAID*, you are trying to link in PAM statically. Don't do that. IT WILL NOT WORK. Switch off CONFIG_STATIC.

> On what version it should be compiled without mistakes?

As soon as some Linux distribution will hire me to ensure that busybox builds on *their* disribution (with old libc, compilers and so on), I will be happy to work specifically on that.

 

- Issue History
Date Modified Username Field Change
04-22-08 01:15 lamer New Issue
04-22-08 01:15 lamer Status new => assigned
04-22-08 01:15 lamer Assigned To  => BusyBox
04-22-08 02:05 vda Status assigned => closed
04-22-08 02:05 vda Note Added: 0006864
04-22-08 02:05 vda Resolution open => no change required
04-22-08 05:08 lamer Status closed => feedback
04-22-08 05:08 lamer Resolution no change required => reopened
04-22-08 05:08 lamer Note Added: 0006894
04-22-08 07:01 vda Note Added: 0006924
04-22-08 07:03 vda Note Added: 0006934
04-22-08 07:04 vda Note Added: 0006944
04-22-08 11:28 vda Status feedback => closed
04-22-08 11:28 vda Resolution reopened => no change required
04-23-08 03:53 lamer Status closed => feedback
04-23-08 03:53 lamer Resolution no change required => reopened
04-23-08 03:53 lamer Note Added: 0006984
04-23-08 04:12 vda Note Added: 0006994
04-23-08 04:13 vda Note Edited: 0006994
04-23-08 04:14 vda Note Edited: 0006994
04-23-08 04:15 vda Note Edited: 0006994
04-23-08 11:51 vda Status feedback => closed
04-23-08 11:51 vda Resolution reopened => no change required


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker