Bug 433900 - undefined symbol: _start in libmudflapth
Summary: undefined symbol: _start in libmudflapth
Keywords:
Status: CLOSED DUPLICATE of bug 434159
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: All
OS: Linux
low
urgent
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-02-22 01:18 UTC by kloczek
Modified: 2008-02-24 13:36 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-02-22 08:01:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description kloczek 2008-02-22 01:18:16 UTC
$ rpm -q libmudflap
libmudflap-4.3.0-0.10.i386

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 08:01:27 UTC
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 09:04:35 UTC
(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
  VERNEEDNUM  0x2
[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
upgrade).

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 09:15:21 UTC
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 13:36:13 UTC

*** 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.