Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78591 - uclibc: missing SYS_ERRLIST support (needed for example by the pppd dhcp plugin)
Summary: uclibc: missing SYS_ERRLIST support (needed for example by the pppd dhcp plugin)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-18 15:33 UTC by Christian Zoffoli (RETIRED)
Modified: 2005-01-19 06:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Zoffoli (RETIRED) gentoo-dev 2005-01-18 15:33:00 UTC
without SYS_ERRLIST support in uclibc we cannot compile the dhcp plugin of pppd.





Reproducible: Always
Steps to Reproduce:
1.
2.
3.

Actual Results:  
compiling the ebuild you can see this error message:


----
for d in rp-pppoe dhcp radius; do make -w -C $d all; done
make[2]: Entering directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/rp-pppoe'
gcc -Os -pipe -I../../../include/linux '-DVERSION="3.3"' -c -o discovery.o -fPIC
discovery.c
gcc -Os -pipe -I../../../include/linux '-DVERSION="3.3"' -c -o if.o -fPIC if.c
gcc -Os -pipe -I../../../include/linux '-DVERSION="3.3"' -c -o common.o -fPIC
common.c
gcc -Os -pipe -I../../../include/linux '-DVERSION="3.3"' -c -o debug.o -fPIC debug.c
ar -rc libplugin.a discovery.o if.o common.o debug.o
gcc '-DRP_VERSION="3.3"' -Os -pipe -I../../../include/linux -I../../..  -c -o
plugin.o -fPIC plugin.c
gcc -o rp-pppoe.so -shared plugin.o libplugin.a
make[2]: Leaving directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/rp-pppoe'
make[2]: Entering directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/dhcp'
cc -I../.. -I../../../include -Os -pipe   -c -o dhcpc.o dhcpc.c
dhcpc.c: In function `change_mode':
dhcpc.c:147: error: `sys_errlist' undeclared (first use in this function)
dhcpc.c:147: error: (Each undeclared identifier is reported only once
dhcpc.c:147: error: for each function it appears in.)
dhcpc.c: In function `dhcp_rx':
dhcpc.c:211: error: `sys_errlist' undeclared (first use in this function)
dhcpc.c: In function `dhcp_request_new':
dhcpc.c:383: error: `sys_errlist' undeclared (first use in this function)
make[2]: *** [dhcpc.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/dhcp'
make[2]: Entering directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/radius'
gcc -Os -pipe -I../.. -I../../../include -Iradiusclient/include -DCHAPMS=1
-DMPPE=1 -DMAXOCTETS=1 -c -o radius.o -fPIC radius.c
radius.c: In function `add_avp':
radius.c:178: warning: initialization makes pointer from integer without a cast
gcc -o radius.so -shared radius.o radiusclient/lib/.libs/libradiusclient.a
gcc -Os -pipe -I../.. -I../../../include -Iradiusclient/include -DCHAPMS=1
-DMPPE=1 -DMAXOCTETS=1 -c -o radattr.o -fPIC radattr.c
gcc -o radattr.so -shared radattr.o
gcc -Os -pipe -I../.. -I../../../include -Iradiusclient/include -DCHAPMS=1
-DMPPE=1 -DMAXOCTETS=1 -c -o radrealms.o -fPIC radrealms.c
gcc -o radrealms.so -shared radrealms.o
make[2]: Leaving directory
`/var/tmp/portage/ppp-2.4.2-r10/work/ppp-2.4.2/pppd/plugins/radius'
---


Expected Results:  
adding UCLIBC_HAS_SYS_ERRLIST=y to uclibc config you can fix the problem

Portage 2.0.51-r3 (uclibc/x86/hardened, gcc-3.3.5, uclibc-0.9.26-r7,
2.6.10-hardened-r1 i686)
=================================================================
System uname: 2.6.10-hardened-r1 i686 AMD Athlon(TM) XP 2500+
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-Os -pipe"
CHOST="i386-pc-linux-uclibc"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache digest distlocks nodoc noinfo
noman sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.switch.ch/mirror/gentoo/
ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo
ftp://mirror.switch.ch/mirror/gentoo/"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages/x86/embedded"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://10.0.4.11/gentoo-portage"
USE="berkdb crypt dhcp gdbm hardened hostap-noplx justify libwww
make-busybox-symlinks multicall ncurses oggvorbis pcmcia pic pie png readline
snmp ssl tcpd uclibc x86 zlib"
Comment 1 SpanKY gentoo-dev 2005-01-18 16:40:31 UTC
you should convert the program to use strerror()
Comment 2 Christian Zoffoli (RETIRED) gentoo-dev 2005-01-19 00:47:36 UTC
ok I'll work on it
Comment 3 SpanKY gentoo-dev 2005-01-19 05:52:57 UTC
strerror() and SYS_ERRLIST[] are interchangeable, so shouldnt be too much work ;)

i would suggest sending the patch upstream and apply this for all setups (not just uclibc) ... SYS_ERRLIST is the old style method of getting error strings
Comment 4 Christian Zoffoli (RETIRED) gentoo-dev 2005-01-19 06:52:19 UTC
done.

You can find the patch here: http://dev.gentoo.org/~xmerlin/ppp-sys_error_to_strerror.patch

I'll file a bug to request the integration in the ppp ebuild, and I'll ask to integrate it upstream.