Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 488490 - app-editors/emacs-24.3-r2 - ../lib/libgnu.a(dtotimespec.o): In function `wcstombs': dtotimespec.c:(.text+0xb0): multiple definition of `wcstombs'
Summary: app-editors/emacs-24.3-r2 - ../lib/libgnu.a(dtotimespec.o): In function `wcst...
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Prefix
Depends on:
Reported: 2013-10-18 14:59 UTC by Robert McGehee
Modified: 2021-01-06 20:04 UTC (History)
1 user (show)

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

Build.log (build.log,83.42 KB, text/plain)
2013-10-18 14:59 UTC, Robert McGehee

Note You need to log in before you can comment on or make changes to this bug.
Description Robert McGehee 2013-10-18 14:59:45 UTC
Created attachment 361234 [details]

My upgrade to emacs 24.3-r2 (from 24.2-r1) fails due to a multiple dependency error in libgnu.a on my Redhat5 system. Additionally, emerge hangs after the compiling failure. I must manually exit with Ctrl-C to exit the installation. I tried compiling using gcc 4.4.6, 4.6.3 and 4.7.2, but got the same error.

Also, I found a similar bug report from a user compiling gcc using the same Linux kernel as myself. Perhaps a related problem (old glibc, fortify bug, etc?).

Additionally, this emacs bug report for 24.3 may be related as well:

Thanks, Robert

getopt1.c:(.text+0xa0): multiple definition of `gets'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x47c0): first defined here
../lib/libgnu.a(getopt1.o): In function `wcstombs':
getopt1.c:(.text+0xb0): multiple definition of `wcstombs'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x47d0): first defined here
../lib/libgnu.a(getopt1.o): In function `mbstowcs':
getopt1.c:(.text+0xc0): multiple definition of `mbstowcs'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x47e0): first defined here
../lib/libgnu.a(getopt1.o): In function `wctomb':
getopt1.c:(.text+0xd0): multiple definition of `wctomb'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x47f0): first defined here
../lib/libgnu.a(getopt1.o): In function `ptsname_r':
getopt1.c:(.text+0xe0): multiple definition of `ptsname_r'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x4800): first defined here
../lib/libgnu.a(getopt1.o): In function `realpath':
getopt1.c:(.text+0xf0): multiple definition of `realpath'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x4810): first defined here
../lib/libgnu.a(getopt1.o): In function `stpncpy':
getopt1.c:(.text+0x100): multiple definition of `stpncpy'
/bos/gcm_price/hal_backups/prefix/var/tmp/portage/app-editors/emacs-24.3-r2/temp/ccPb70Qa.o:ebrowse.c:(.text+0x4820): first defined here
collect2: ld returned 1 exit status
make[1]: *** [ebrowse] Error 1

Exiting on signal 2
make[1]: *** Deleting file `test-distrib'
make[1]: *** [test-distrib] Interrupt
make: *** [lib-src] Interrupt

[lbos800]~> emerge --info =app-editors/emacs-24.3-r2
Portage 2.2.7-prefix (prefix/linux/amd64, gcc-4.4.6, unavailable, 2.6.18-348. x86_64)
                        System Settings
System uname: Linux-2.6.18-348.
KiB Mem:   263732352 total,  31149960 free
KiB Swap:  522188144 total, 522187060 free
Timestamp of tree: Wed, 16 Oct 2013 22:06:20 +0000
ld GNU ld (GNU Binutils) 2.23
app-shells/bash:          4.2_p39-r1
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.5-r2
dev-util/pkgconfig:       0.28
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.69
sys-devel/automake:       1.12.4
sys-devel/binutils:       2.23
sys-devel/gcc:            4.4.6-r1, 4.6.3, 4.7.2-r1
sys-devel/gcc-config:     1.8-r00.1
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
Repositories: gentoo_prefix science
CFLAGS="-O2 -pipe"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="X amd64 bash-completion berkdb bindist blas bzip2 cairo cli crypt curl curlwrappers cxx emacs flatfile fortran freetds gcj gdbm gtk gzip iconv libcaca mmx modules mpi ncurses nls nptl odbc openmp pango pcre pdf posix postgres prefix readline sasl spell sse sse2 ssl subversion tcl tcpd threads tk truetype unicode xft xml xorg zlib" ABI_X86="64" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

[lbos800]~> emerge -pqv emacs
[ebuild  rR   ] dev-python/setuptools-1.1.6  PYTHON_TARGETS="python2_7 -pypy2_0 -python2_6 -python3_2 -python3_3"
[ebuild  rR   ] app-portage/gentoolkit-  PYTHON_TARGETS="python2_7 -pypy2_0 -python2_6 -python3_2 -python3_3"
[ebuild     U ] app-editors/emacs-24.3-r2 [24.2-r1] USE="X gtk* gtk3* xft xpm -Xaw3d -alsa (-aqua) -athena* -dbus -games -gconf -gif -gnutls (-gpm) -gsettings -gzip-el (-hesiod) -imagemagick -jpeg -kerberos -libxml2 -livecd (-m17n-lib) -motif -pax_kernel -png (-selinux) -sound -source -svg -tiff -toolkit-scroll-bars -wide-int"
Comment 1 Ulrich Müller gentoo-dev 2013-10-18 17:28:19 UTC
(In reply to Robert McGehee from comment #0)
> Portage 2.2.7-prefix (prefix/linux/amd64, gcc-4.4.6, unavailable,
> 2.6.18-348. x86_64)

What glibc version are you using? 2.5?
Comment 2 Robert McGehee 2013-10-18 18:49:22 UTC
Yes, GLIBC 2.5.

Also, for what its worth, I just ran a full system update and ran into a similar problem with two more packages:
This error message in sys-devel/mp-1.4.17:

printf-parse.c:(.text+0x160): multiple definition of `stpncpy'
m4.o:m4.c:(.text+0x1a0): first defined here
collect2: error: ld returned 1 exit status

and this error message in app-arch/tar-1.27:
../gnu/libgnu.a(argp-fmtstream.o): In function `getdomainname':
argp-fmtstream.c:(.text+0x150): multiple definition of `getdomainname'
rmt.o:rmt.c:(.text+0x5f0): first defined here
collect2: error: ld returned 1 exit status

So whatever is causing the error is occurring in other builds is well. (So perhaps a portage/ebuild issue?) However, when the other package updates I've tried so far have gone fine, so not all packages are affected.
Comment 3 Benda Xu gentoo-dev 2013-10-19 01:32:01 UTC
Hey, Robert, thanks for reporting. 

The old glibc is a headache. We have fewer users or developers as it is Prefix specific.

You may try RAP (Prefix which uses it's own glibc) to get a bleeding edge glibc working.

A bootstrap script is available at,
Comment 4 Ulrich Müller gentoo-dev 2013-10-19 06:53:21 UTC
Maybe appending "-fgnu89-inline" to CFLAGS (as suggested in bug 289757 comment 5) would help?
Comment 5 Robert McGehee 2013-10-19 14:36:23 UTC
Agreed and thanks for the link. I'm hoping we can eventually move our servers to a slightly newer OS so I can start avoid these problems. Of course, I installed prefix in the first place just to get some more modern tools on top of the ancient server install. Though if an upgrade isn't going to happen soon, your suggestion makes a lot of sense.

Thanks, your suggestion did rid of the similar compiling problem I had compiling m4 and tar, but not unfortunately emacs. As best I can tell emacs seems to be changing the CFLAGS and removing the -fgnu89-inline flag in the configure script.
Comment 6 Ulrich Müller gentoo-dev 2018-09-25 14:36:38 UTC
I this still an issue with later Emacs versions?
Comment 7 Fabian Groffen gentoo-dev 2021-01-06 20:04:57 UTC
we'd have to recheck with current packages