Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 260001 - sys-apps/shadow-4.1.2.2 fails to compile w/uclibc due to l64a usage
Summary: sys-apps/shadow-4.1.2.2 fails to compile w/uclibc due to l64a usage
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-23 12:32 UTC by seraph@xs4all.nl
Modified: 2009-10-13 20:17 UTC (History)
3 users (show)

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


Attachments
shadow-4.1.2.2 against uclibc-0.9.28 (shadow-4.1.2.2-l64a-stdlib.patch,289 bytes, patch)
2009-10-13 20:17 UTC, Dmitry Zamaruev
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description seraph@xs4all.nl 2009-02-23 12:32:02 UTC
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
Comment 1 Tobias Leupold 2009-02-27 02:51:47 UTC
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
Comment 3 themk 2009-04-01 09:08:50 UTC
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


Comment 4 Tobias Leupold 2009-04-11 09:23:55 UTC
I also do have exactly the same problem although the patch is being applied when compiling shadow 4.1.2.2 on my NSLU2.
Comment 5 Dmitry Zamaruev 2009-10-13 20:16:08 UTC
(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. 
Comment 6 Dmitry Zamaruev 2009-10-13 20:17:15 UTC
Created attachment 207011 [details, diff]
shadow-4.1.2.2 against uclibc-0.9.28