Bug 433900 - undefined symbol: _start in libmudflapth
undefined symbol: _start in libmudflapth
Status: CLOSED DUPLICATE of bug 434159
Product: Fedora
Classification: Fedora
Component: gcc (Show other bugs)
All Linux
low Severity urgent
: ---
: ---
Assigned To: Jakub Jelinek
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-02-21 20:18 EST by kloczek
Modified: 2008-02-24 08:36 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-02-22 03:01:27 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description kloczek 2008-02-21 20:18:16 EST
$ rpm -q libmudflap

Looks like libmudflap from gcc 4.3.0-0.10 is broken:

$ LD_DEBUG=all civserver 
    28367:	symbol=_start;  lookup in file=civserver [0]
     28367:	symbol=_start;  lookup in file=/lib/libreadline.so.5 [0]
     28367:	symbol=_start;  lookup in file=/usr/lib/libbind.so.4 [0]
     28367:	symbol=_start;  lookup in file=/lib/libm.so.6 [0]
     28367:	symbol=_start;  lookup in file=/lib/libz.so.1 [0]
     28367:	symbol=_start;  lookup in file=/lib/libc.so.6 [0]
     28367:	symbol=_start;  lookup in file=/lib/libtinfo.so.5 [0]
     28367:	symbol=_start;  lookup in file=/usr/lib/libmudflapth.so.0 [0]
     28367:	symbol=_start;  lookup in file=/lib/libnsl.so.1 [0]
     28367:	symbol=_start;  lookup in file=/lib/libpthread.so.0 [0]
     28367:	symbol=_start;  lookup in file=/lib/ld-linux.so.2 [0]
     28367:	symbol=_start;  lookup in file=/lib/libdl.so.2 [0]
     28367:	symbol=_start;  lookup in file=/lib/libgcc_s.so.1 [0]
     28367:	/usr/lib/libmudflapth.so.0: error: symbol lookup error: undefined
symbol: _start (fatal)
civserver: symbol lookup error: /usr/lib/libmudflapth.so.0: undefined symbol: _start
Comment 1 Jakub Jelinek 2008-02-22 03:01:27 EST
That would mean you have some library linked with libmudflapth, -lmudflapth must
be linked only to the binary itself.
Comment 2 kloczek 2008-02-22 04:04:35 EST
(In reply to comment #1)
> That would mean you have some library linked with libmudflapth, -lmudflapth must
> be linked only to the binary itself.

[kloczek@localhost ~]$ objdump -x /usr/bin/civserver  | grep NEEDED
  NEEDED      libreadline.so.5
  NEEDED      libbind.so.4
  NEEDED      libm.so.6
  NEEDED      libz.so.1
  NEEDED      libc.so.6
  VERNEED     0x8049388
[kloczek@localhost ~]$ ldd /usr/lib/libbind.so.4
	linux-gate.so.1 =>  (0x00110000)
	libmudflapth.so.0 => /usr/lib/libmudflapth.so.0 (0x006bb000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x00cfd000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x0057a000)
	libc.so.6 => /lib/libc.so.6 (0x003d7000)
	libdl.so.2 => /lib/libdl.so.2 (0x00573000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x006ab000)
	/lib/ld-linux.so.2 (0x003b4000)

As you see libmudflapth is used indirectly because it is used by libbind.
Is it really requires -lmudflapth on lining civserver binary ?
What about case when civserver will be linked with -lmudflapth and
-Wl,--as-needed ? IIRC it will still produce binary without direct libmudflapth
dependency in ELF NEEDED list (?)

Interesting but seems libmudflapth is probably used only by bind:

[root@localhost]# LANG= rpm -e libmudflap-4.3.0-0.10.i386
error: Failed dependencies:
	libmudflapth.so.0 is needed by (installed) bind-libs-9.5.0-28.b2.fc9.i386
	libmudflapth.so.0 is needed by (installed) bind-utils-9.5.0-28.b2.fc9.i386

# LANG= rpm -q --qf "%{NAME}\t%{INSTALLTIME:date}\n" freeciv bind-libs libmudflap
freeciv	        Mon Feb 11 13:57:14 2008
bind-libs	Thu Feb 21 19:45:39 2008
libmudflap	Fri Feb 21 19:44:05 2008

So looking on install time bug is observed on my system after bind-libs and
libmudflap upgrade and probably libmudflap from gcc 4.3.0-0.9 was correct (I
can't find older binaries libmudflap anf bind-libs packages for make some
regression this case on this system yum was used without enabled repackaging on

IIRC libmudflap is some kind of debugging/instrumentation library so is it
linking with this library any production bind binary isn't in this case bug ?
Probably libmudflap is correct but latest bind-libs was starting use libmudflap.
If yes fix for this bug can e performed by reverting use libmudflap.
Comment 3 Jakub Jelinek 2008-02-22 04:15:21 EST
Then you need to bug bind maintainer about it.  In F9 no package in the distro
should be linked with libmudflap*, as you said correctly it is a
debugging/instrumentation library.
Comment 4 Adam Tkac 2008-02-24 08:36:13 EST

*** This bug has been marked as a duplicate of 434159 ***

Note You need to log in before you can comment on or make changes to this bug.