Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 85342 - elfutils improperly uses <libintl.h> and gettext/dgettext - doesn't build under hardened-uclibc
Summary: elfutils improperly uses <libintl.h> and gettext/dgettext - doesn't build und...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 118768 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-15 06:40 UTC by B. Bruce
Modified: 2006-01-13 00:38 UTC (History)
2 users (show)

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 B. Bruce 2005-03-15 06:40:02 UTC
occurs with both elfutils 0.94-r1 and elfutils-0.101 
(0.101 has an additional bug of not getting past "autoreconf" in the ebuild - changing: 
autoreconf 2>&1 | grep -v 'underquoted definition' || die 
to
autoreconf 2>&1 || die
allow it to move on).

Devel-noX elfutils-0.94 # fgrep -i "libintl.h" -r *
configure:#include <libintl.h>
configure:#include <libintl.h>
configure:#include <libintl.h>
lib/xmalloc.c:#include <libintl.h>
libasm/asm_newscn.c:#include <libintl.h>
libasm/asm_end.c:#include <libintl.h>
libasm/asm_error.c:#include <libintl.h>
libdw/libdwP.h:#include <libintl.h>
libebl/libeblP.h:#include <libintl.h>
libelf/elf_error.c:#include <libintl.h>
src/ld.c:#include <libintl.h>
src/nm.c:#include <libintl.h>
src/ldscript.c:#include <libintl.h>
src/ldscript.y:#include <libintl.h>
src/ldlex.c:#include <libintl.h>
src/ldlex.l:#include <libintl.h>
src/strip.c:#include <libintl.h>
src/elflint.c:#include <libintl.h>
src/size.c:#include <libintl.h>
src/ldgeneric.c:#include <libintl.h>
src/readelf.c:#include <libintl.h>
src/i386_ld.c:#include <libintl.h>




Reproducible: Always
Steps to Reproduce:
1.emerge any package that depends on elfutils (net-snmp, prelink, etc)
2.
3.

Actual Results:  
Calculating dependencies ...done!
>>> emerge (1 of 1) dev-libs/elfutils-0.94-r1 to /
>>> md5 files   ;-) elfutils-0.94-r1.ebuild
>>> md5 files   ;-) elfutils-0.101.ebuild
>>> md5 files   ;-) elfutils-0.97.ebuild
>>> md5 files   ;-) ChangeLog
>>> md5 files   ;-) files/elfutils-0.94-alpha-mips-atime.diff
>>> md5 files   ;-) files/elfutils-0.101-bswap.patch
>>> md5 files   ;-) files/elfutils-0.101-portability.patch
>>> md5 files   ;-) files/digest-elfutils-0.94-r1
>>> md5 files   ;-) files/digest-elfutils-0.97
>>> md5 files   ;-) files/digest-elfutils-0.101
>>> md5 src_uri ;-) elfutils-0.94.tar.gz
>>> Unpacking source...
>>> Unpacking elfutils-0.94.tar.gz to /var/tmp/portage/elfutils-0.94-r1/work
 * Using GNU config files from /usr/share/libtool
 *  Updating config.sub                                                   [ ok ]
 *  Updating config.guess                                                 [ ok ]
>>> Source unpacked.
 * econf: updating elfutils-0.94/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating elfutils-0.94/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=i386-pc-linux-uclibc --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --program-prefix=eu- --enable-shared --disable-nls
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i386-pc-linux-uclibc-strip... i386-pc-linux-uclibc-strip
checking build system type... i686-pc-linux-uclibc
checking host system type... i386-pc-linux-uclibc
checking for i386-pc-linux-uclibc-gcc... i386-pc-linux-uclibc-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 i386-pc-linux-uclibc-gcc accepts -g... yes
checking for i386-pc-linux-uclibc-gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of i386-pc-linux-uclibc-gcc... gcc3
checking how to run the C preprocessor... i386-pc-linux-uclibc-gcc -E
checking for egrep... grep -E
checking whether i386-pc-linux-uclibc-gcc needs -traditional... no
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for ld used by GCC... /usr/i386-pc-linux-uclibc/bin/ld
checking if the linker (/usr/i386-pc-linux-uclibc/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking whether NLS is requested... no
checking for i386-pc-linux-uclibc-ranlib... i386-pc-linux-uclibc-ranlib
checking for bison... bison -y
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for _LARGE_FILES value needed for large files... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating elfutils.spec
config.status: creating m4/Makefile
config.status: creating doc/Makefile
config.status: creating lib/Makefile
config.status: creating libelf/Makefile
config.status: creating libebl/Makefile
config.status: creating libdw/Makefile
config.status: creating libcpu/Makefile
config.status: creating libasm/Makefile
config.status: creating src/Makefile
config.status: creating libelf-po/Makefile.in
config.status: creating libebl-po/Makefile.in
config.status: creating libdw-po/Makefile.in
config.status: creating libasm-po/Makefile.in
config.status: creating po/Makefile.in
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating libelf-po/POTFILES
config.status: creating libelf-po/Makefile
config.status: creating libebl-po/POTFILES
config.status: creating libebl-po/Makefile
config.status: creating libdw-po/POTFILES
config.status: creating libdw-po/Makefile
config.status: creating libasm-po/POTFILES
config.status: creating libasm-po/Makefile
config.status: creating po/POTFILES
config.status: creating po/Makefile
make  all-recursive
make[1]: Entering directory `/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94'
Making all in m4
make[2]: Entering directory
`/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94/m4'
Making all in lib
make[2]: Entering directory
`/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94/lib'
if i386-pc-linux-uclibc-gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I..
-I./../libelf -I..   -Wall  -fpic -Os -pipe -MT xstrdup.o -MD -MP -MF
".deps/xstrdup.Tpo" \
  -c -o xstrdup.o `test -f 'xstrdup.c' || echo './'`xstrdup.c; \
then mv -f ".deps/xstrdup.Tpo" ".deps/xstrdup.Po"; \
else rm -f ".deps/xstrdup.Tpo"; exit 1; \
fi
if i386-pc-linux-uclibc-gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I..
-I./../libelf -I..   -Wall  -fpic -Os -pipe -MT xstrndup.o -MD -MP -MF
".deps/xstrndup.Tpo" \
  -c -o xstrndup.o `test -f 'xstrndup.c' || echo './'`xstrndup.c; \
then mv -f ".deps/xstrndup.Tpo" ".deps/xstrndup.Po"; \
else rm -f ".deps/xstrndup.Tpo"; exit 1; \
fi
if i386-pc-linux-uclibc-gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I..
-I./../libelf -I..   -Wall  -fpic -Os -pipe -MT xmalloc.o -MD -MP -MF
".deps/xmalloc.Tpo" \
  -c -o xmalloc.o `test -f 'xmalloc.c' || echo './'`xmalloc.c; \
then mv -f ".deps/xmalloc.Tpo" ".deps/xmalloc.Po"; \
else rm -f ".deps/xmalloc.Tpo"; exit 1; \
fi
if i386-pc-linux-uclibc-gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I..
-I./../libelf -I..   -Wall  -fpic -Os -pipe -MT next_prime.o -MD -MP -MF
".deps/next_prime.Tpo" \
  -c -o next_prime.o `test -f 'next_prime.c' || echo './'`next_prime.c; \
then mv -f ".deps/next_prime.Tpo" ".deps/next_prime.Po"; \
else rm -f ".deps/next_prime.Tpo"; exit 1; \
fi
if i386-pc-linux-uclibc-gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I..
-I./../libelf -I..   -Wall  -fpic -Os -pipe -MT crc32.o -MD -MP -MF
".deps/crc32.Tpo" \
  -c -o crc32.o `test -f 'crc32.c' || echo './'`crc32.c; \
then mv -f ".deps/crc32.Tpo" ".deps/crc32.Po"; \
else rm -f ".deps/crc32.Tpo"; exit 1; \
fi
xmalloc.c:18:21: libintl.h: No such file or directory
xmalloc.c: In function `xmalloc':
xmalloc.c:38: warning: implicit declaration of function `gettext'
make[2]: *** [xmalloc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/elfutils-0.94-r1/work/elfutils-0.94'
make: *** [all] Error 2
 
!!! ERROR: dev-libs/elfutils-0.94-r1 failed.
!!! Function src_compile, Line 45, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
 


Expected Results:  
compile and emerge properly.

Devel-noX work # emerge info
Portage 2.0.51.19 (uclibc/x86/hardened, gcc-3.4.3-20050110, uclibc-0.9.27-r0,
2.6.10-gentoo-r6 i686)
=================================================================
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(TM) XP 3000+
Gentoo Base System version 1.6.10
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Mar 12 2005, 20:02:41)]
dev-lang/python:     2.3.5
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r6
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-Os -pipe"
CHOST="i386-pc-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /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 distlocks fixpackages nodoc
noinfo noman sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://adelie.polymtl.ca/
ftp://cs.ubishops.ca/pub/gentoo ftp://sunsite.ualberta.ca/pub/unix/Linux/gentoo/
ftp://gentoo.risq.qc.ca/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo
http://csociety-ftp.ecn.purdue.edu/pub/gentoo/
ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/
ftp://ftp.ussg.iu.edu/pub/linux/gentoo
ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.seren.com/gentoo
http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/
http://cudlug.cudenver.edu/gentoo/
ftp://cudlug.cudenver.edu/pub/mirrors/distributions/gentoo/
http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/
http://gentoo.ccccom.com ftp://gentoo.ccccom.com http://mirrors.tds.net/gentoo
ftp://mirrors.tds.net/gentoo http://gentoo.netnitco.net
ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/
http://mirror.tucdemonic.org/gentoo/
http://mirror.clarkson.edu/pub/distributions/gentoo/
http://mirrors.acm.cs.rpi.edu/gentoo/ ftp://ftp.ndlug.nd.edu/pub/gentoo/
ftp://gentoo.agsn.ca/ http://open-systems.ufl.edu/mirrors/gentoo
http://gentoo.llarian.net/ ftp://gentoo.llarian.net/pub/gentoo
http://gentoo.binarycompass.org http://gentoo.mirrored.ca/
ftp://gentoo.mirrored.ca/ http://mirror.datapipe.net/gentoo
http://mirror.datapipe.net/gentoo http://gentoo.eliteitminds.com
http://chod.cwru.edu/gentoo ftp://chod.cwru.edu/gentoo
http://gentoo.cs.lewisu.edu/gentoo/ ftp://linux.cs.lewisu.edu/gentoo/
http://prometheus.cs.wmich.edu/gentoo http://modzer0.cs.uaf.edu/public/gentoo/
http://mirror.usu.edu/mirrors/gentoo/"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 Xaw3d acl acpi bash-completion berkdb bitmap-fonts caps cdb clamav
commercial crypt curl ecc elf erandom exif extensions gif gtk2 hardened html
http icp idea idn innodb jpeg justify libwww maildir md5sum mhash ncurses perl
pic pie priority python readline sharedmem smux snmp sockets spell svga tcpmd5
tos ttcp uclibc wsconvert zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 1 SpanKY gentoo-dev 2005-03-15 15:51:17 UTC
elfutils forces NLS funcs

feel free to provide a patch, i'm just going to hardcode gettext in DEPEND in the meantime
Comment 2 SpanKY gentoo-dev 2006-01-13 00:38:49 UTC
*** Bug 118768 has been marked as a duplicate of this bug. ***