Bug 810006

Summary: bad library build: ebt_errormsg not resolved
Product: [Fedora] Fedora Reporter: John Reiser <jreiser>
Component: ebtablesAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: tcallawa, twoerner
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ebtables-2.0.10-5.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-18 22:46:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description John Reiser 2012-04-04 21:04:41 UTC
Description of problem: In /var/log/prelink/prelink.log, prelink reports:
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_ip6.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_802_3.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_nat.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_arp.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_arpreply.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_ip.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_standard.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_log.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_redirect.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_vlan.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_mark_m.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_mark.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_pkttype.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_stp.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_among.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_limit.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_ulog.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebt_nflog.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebtable_filter.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebtable_nat.so has undefined non-weak symbols
/usr/sbin/prelink: Warning: /lib64/ebtables/libebtable_broute.so has undefined non-weak symbols

The symbol ebt_errormsg is defined in ebtables/libebtc.so.  An app which uses any of the other libebtable_*.so without also using libebtc.so will crash when the app references ebt_errormsg.  The other libraries rely on libebtc to supply the definition of ebt_errormsg, so each of those other libraries should record the DT_NEEDED dependency (build with "-lebtables/libebtc.so").


Version-Release number of selected component (if applicable):
ebtables-2.0.10-4.fc17.x86_64


How reproducible: every time


Steps to Reproduce:
1. for i in /lib64/ebtables/lib*.so; do readelf --symbols $i | grep ebt_errormsg && echo $i; done

2. ldd /lib64/ebtables/libebt_802_3.so  #  etc.
3.
  
Actual results:
1. Defined in libebtc.so, UNDefined everywhere else:
     7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_802_3.so
    19: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_among.so
    10: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_arpreply.so
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_arp.so
   108: 0000003d9ce12f60   128 OBJECT  GLOBAL DEFAULT   24 ebt_errormsg
/lib64/ebtables/libebtc.so
    19: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_ip6.so
    15: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_ip.so
    11: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_limit.so
    13: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_log.so
     7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_mark_m.so
     8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_mark.so
    10: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_nat.so
    10: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_nflog.so
     9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_pkttype.so
     8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_redirect.so
    16: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_stp.so
    10: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg
/lib64/ebtables/libebt_ulog.so
     8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ebt_errormsg

2. No recorded dependency on libebtc.so:
$ ldd /lib64/ebtables/libebt_802_3.so
	linux-vdso.so.1 =>  (0x00007fffe3f06000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003de3e00000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003de3a00000)

Expected results: Each library which uses ebt_errormsg records a DT_NEEDED dependency on libebtc.so.


Additional info:

Comment 1 Fedora Update System 2012-04-10 18:33:07 UTC
ebtables-2.0.10-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/ebtables-2.0.10-5.fc17

Comment 2 Fedora Update System 2012-04-12 01:08:22 UTC
Package ebtables-2.0.10-5.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ebtables-2.0.10-5.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-5696/ebtables-2.0.10-5.fc17
then log in and leave karma (feedback).

Comment 3 Fedora Update System 2012-04-18 22:46:05 UTC
ebtables-2.0.10-5.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.