The package sys-apps/shadow-4.1.2.2 fails to compile no matter what I try. The system in question is an uclibc-based embedded system (I'm doing the actual compilation on my Core 2 for obvious reasons), but I do not know whether this compile failure has anything to do with uclibc or not. Reproducible: Always Steps to Reproduce: 1. emerge =sys-apps/shadow-4.1.2.2 Actual Results: i586-gentoo-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -I../lib -O2 -march=pentium-mmx -fomit-frame-pointer -pipe -MT salt.o -MD -MP -MF .deps/salt.Tpo -c -o salt.o salt.c salt.c:35: error: static declaration of 'l64a' follows non-static declaration salt.c:24: error: previous declaration of 'l64a' was here make[2]: *** [salt.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/sys-apps/shadow-4.1.2.2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Expected Results: Package should compile normally. Portage 2.1.6.7 (uclibc/x86, gcc-4.1.2, uclibc-0.9.28.3-r3, 2.6.27-gentoo-r8 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r8-i686-with-libc0 Timestamp of tree: Mon, 23 Feb 2009 11:45:01 +0000 app-shells/bash: 3.2_p39 dev-lang/python: 2.5.2-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i586-gentoo-linux-uclibc" CFLAGS="-O2 -march=pentium-mmx -fomit-frame-pointer -pipe" CHOST="i586-gentoo-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=pentium-mmx -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks fixpackages nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/linux/gentoo http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1" LINGUAS="en_US" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.pearlgates.net/gentoo-portage" USE="cli cracklib crypt dri midi mmx mudflap ncurses openmp pcre perl python readline reflection session spl ssl tcpd uclibc x86 xorg zlib" ALSA_CARDS="none" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="uclibc" INPUT_DEVICES="none" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="none" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
I have exactly the same error here compiling it directly on my NSLU2. Here's my emerge --info: gcc-4.1.2, uclibc-0.9.28.3-r7, 2.6.21.7 armv5teb) ================================================================= System uname: Linux-2.6.21.7-armv5teb-XScale-IXP42x_Family_rev_2_-v5b-with-libc0 Timestamp of tree: Thu, 26 Feb 2009 09:40:01 +0000 app-shells/bash: 3.2_p39 dev-lang/python: 2.5.2-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="arm" CBUILD="armeb-softfloat-linux-uclibc" CFLAGS="-march=armv5t -mtune=xscale -Os" CHOST="armeb-softfloat-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=armv5t -mtune=xscale -Os" DISTDIR="/usr/src/distfiles" FEATURES="autoconfig distlocks fixpackages nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS=" http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ " LANG="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="de" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage/tree" PORTDIR_OVERLAY="/var/portage/local" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="arm cli cracklib crypt dri midi mudflap ncurses openmp pam pcre perl python readline reflection session spl ssl tcpduclibc unicode vim-syntax xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS,PORTAGE_RSYNC_EXTRA_OPTS
fixed in cvs http://sources.gentoo.org/sys-apps/shadow/shadow-4.1.2.2.ebuild?r1=1.13&r2=1.14 http://sources.gentoo.org/sys-apps/shadow/files/shadow-4.1.2.2-l64a.patch?rev=1.1
problem still here. I tried version 1.15 and version 1.14 of shadow-4.1.2.2.ebuild but I get the same error: i386-gentoo-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -I../lib -Os -mtune=i386 -pipe -MT salt.o -MD -MP -MF .deps/salt.Tpo -c -o salt.o salt.c salt.c:32: error: static declaration of 'l64a' follows non-static declaration /usr/include/stdlib.h:309: error: previous declaration of 'l64a' was here make[2]: *** [salt.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-apps/shadow-4.1.2.2/work/shadow-4.1.2.2/libmisc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-apps/shadow-4.1.2.2/work/shadow-4.1.2.2' make: *** [all] Error 2 Portage 2.1.6.7 (uclibc/x86, gcc-4.1.2, uclibc-0.9.28.3-r2, 2.6.24-gentoo-r5 i686) ================================================================= System uname: Linux-2.6.24-gentoo-r5-i686-Intel-R-_Core-TM-2_Quad_CPU_Q8200_@_2.33GHz-with-libc0 Timestamp of tree: Wed, 01 Apr 2009 08:30:16 +0000 app-shells/bash: 3.2_p39 dev-lang/python: 2.4.4-r6, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r8 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i386-gentoo-linux-uclibc" CFLAGS="-Os -mtune=i386 -pipe" CHOST="i386-gentoo-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-Os -mtune=i386 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks fixpackages nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="cli cracklib crypt dri midi mudflap ncurses openmp pcre perl python readline reflection session spl ssl tcpd uclibc x86 xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copydmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
I also do have exactly the same problem although the patch is being applied when compiling shadow 4.1.2.2 on my NSLU2.
(In reply to comment #3) > problem still here. > salt.c:32: error: static declaration of 'l64a' follows non-static declaration > /usr/include/stdlib.h:309: error: previous declaration of 'l64a' was here This is a different problem, caused by declaration of l64a() in system headers. I managed to compile shadow-4.1.2.2 with uclibc by removing "static" declaration for included l64a() from libmisc/salt.c PS. I compiled with uClibc 0.9.28 while it is does not include l64a() support - it has declaration in stdlib.h (an upstream bug ??). Note: uClibc 0.9.30 does include such support but is currently keyworded with ~x86.
Created attachment 207011 [details, diff] shadow-4.1.2.2 against uclibc-0.9.28