Socket: Function not implemented errors in Busybox 1.6.1

Andrew McKay amckay at iders.ca
Wed Jul 18 18:06:20 UTC 2007


Andrew McKay wrote:
> I am compiling Busybox 1.6.1 for use on an ARM Linux system.  My Kernel version 
> is Linux 2.6.8.1.  I have compiled busy box with both a GCC 3.4.4 and a GCC 
> 4.2.0 compiler with the latest version of uClibc.  However it appears that no 
> socket related functions are not working in my Busybox executable.  Applications 
> that use a socket die with an error saying that the Function is not implemented.
> 
> starting pid 494, tty '': '/sbin/syslogd'
> syslogd: socket: Function not implemented
> process '/sbin/syslogd -n' (pid 494) exited. Scheduling it for restart.
> 
> ping 200.123.101.231
> PING 200.123.101.231 (200.123.101.231): 56 data bytes
> ping: can't create raw socket: Function not implemented
> 
> This happens with a Busybox executable that I build my self, and the one that is 
> built using the Buildroot script.


I have tested the busybox executable after being built with the following 
command line, note that have the config file set up to build it statically at 
this point:
	make CROSS_COMPILE=arm-linux- V=1 all

The resulting stripped Busybox executable is around 1.5MB.  It executes fine, 
and all socket operations work exactly as expected.

However, when I install the executable to my root filesystem with the following 
command:
	make CROSS_COMPILE=arm-linux- V=1 CONFIG_PREFIX=/rootfs/ install

The build decides to relink Busybox, and it appears to ignore the fact I want to 
build it statically.  The resulting executable is around 800K, and gives errors 
when any application tries to use a socket.

What's going on here? Any help would be appreciated.

Andrew McKay
Iders Inc.



More information about the busybox mailing list