$ 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
That would mean you have some library linked with libmudflapth, -lmudflapth must be linked only to the binary itself.
(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.
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.
*** This bug has been marked as a duplicate of 434159 ***