Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 270369 - dev-util/unifdef will not compile with glibc-2.10: error: conflicting types for 'getline'
Summary: dev-util/unifdef will not compile with glibc-2.10: error: conflicting types f...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
Depends on:
Blocks: glibc-2.10
  Show dependency tree
Reported: 2009-05-19 04:09 UTC by Harris Landgarten
Modified: 2009-05-19 07:14 UTC (History)
0 users

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


Note You need to log in before you can comment on or make changes to this bug.
Description Harris Landgarten 2009-05-19 04:09:05 UTC
fails because getline is defined in the new libc and unifdef.c  defines getline as a function. The solution seems to be patching unifdef.c to change getline to something else like get_line. There are lots of reports of this on the net. I think this may cause kernel builds to fail according to reports on the net but I have not verified this myself.

Reproducible: Always
Comment 1 Sebastian Luther (few) 2009-05-19 06:36:37 UTC
emerge --info and build.log please.
Comment 2 Christian Malerbakken 2009-05-19 06:49:21 UTC
(In reply to comment #1)
> emerge --info and build.log please.

Was able to reproduce this today.
emerge --info:

Portage 2.2_rc33 (default/linux/amd64/2008.0/no-multilib, gcc-4.4.0, glibc-2.10.1-r0, 2.6.29-gentoo-r3 x86_64)
System uname: Linux-2.6.29-gentoo-r3-x86_64-AMD_Athlon-tm-_64_Processor_3000+-with-glibc2.2.5
Timestamp of tree: Tue, 19 May 2009 05:45:02 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r2
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.6.3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.29
CFLAGS="-march=athlon64-sse3 -O2 -pipe -floop-interchange -floop-strip-mine -floop-block"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=athlon64-sse3 -O2 -pipe -floop-interchange -floop-strip-mine -floop-block"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="ccache distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/usr/local/portage/layman/lxde /usr/local/portage/layman/gcc-porting /usr/local/portage/layman/webapps-experimental /usr/local/portage"
USE="3dnow X acpi amd64 apache2 berkdb bzip2 cli cracklib crypt dbus dri fortran gdbm gpm iconv isdnlog logrotate midi mmx mudflap mysql mysqli ncurses nfs nocxx nptl nptlonly openmp pam pch pcre perl php postfix pppd python readline reflection session snmp spl sse sse2 ssl sysfs tcpd unicode vhosts xattr xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy openchrome via vesa vga"


>>> Unpacking source...
>>> Unpacking unifdef-1.20.tar.bz2 to /var/tmp/portage/dev-util/unifdef-1.20/work
>>> Source unpacked in /var/tmp/portage/dev-util/unifdef-1.20/work
>>> Compiling source in /var/tmp/portage/dev-util/unifdef-1.20/work/unifdef-1.20/Debian ...
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gawk... (cached) gawk
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... gcc3
checking for strlcat... no
checking for strlcpy... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: executing depfiles commands
make -j2 
Making all in src
make[1]: Entering directory `/var/tmp/portage/dev-util/unifdef-1.20/work/unifdef-1.20/Debian/src'
if x86_64-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"unifdef\" -DVERSION=\"1.0+20030701\"  -I. -I.     -march=athlon64-sse3 -O2 -pipe -floop-interchange -floop-strip-mine -floop-block -MT unifdef.o -MD -MP -MF ".deps/unifdef.Tpo" -c -o unifdef.o unifdef.c; \
	then mv -f ".deps/unifdef.Tpo" ".deps/unifdef.Po"; else rm -f ".deps/unifdef.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"unifdef\" -DVERSION=\"1.0+20030701\"  -I. -I.     -march=athlon64-sse3 -O2 -pipe -floop-interchange -floop-strip-mine -floop-block -MT strlcpy.o -MD -MP -MF ".deps/strlcpy.Tpo" -c -o strlcpy.o strlcpy.c; \
	then mv -f ".deps/strlcpy.Tpo" ".deps/strlcpy.Po"; else rm -f ".deps/strlcpy.Tpo"; exit 1; fi
unifdef.c:209: error: conflicting types for 'getline'
/usr/include/stdio.h:651: note: previous declaration of 'getline' was here
make[1]: *** [unifdef.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-util/unifdef-1.20/work/unifdef-1.20/Debian/src'
make: *** [all-recursive] Error 1
 [31;01m*[0m ERROR: dev-util/unifdef-1.20 failed.
 [31;01m*[0m Call stack:
 [31;01m*[0m     , line   49:  Called src_compile
 [31;01m*[0m             environment, line  162:  Called _eapi0_src_compile
 [31;01m*[0m     , line  600:  Called _eapi2_src_compile
 [31;01m*[0m     , line  634:  Called die
 [31;01m*[0m The specific snippet of code:
 [31;01m*[0m   		emake || die "emake failed"
 [31;01m*[0m  The die message:
 [31;01m*[0m   emake failed
 [31;01m*[0m If you need support, post the topmost build error, and the call stack if relevant.
 [31;01m*[0m A complete build log is located at '/var/tmp/portage/dev-util/unifdef-1.20/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-util/unifdef-1.20/temp/environment'.