Bug 184109

Summary: Linking with libHermes always fails.
Product: [Fedora] Fedora Reporter: Göran Uddeborg <goeran>
Component: HermesAssignee: Hans de Goede <hdegoede>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 4CC: extras-qa, rh-bugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-07-23 20:58:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 187071    

Description Göran Uddeborg 2006-03-06 13:43:34 UTC
Description of problem:
Trying to link any program with the dynamic version of Hermes seems to fail in
all cases.

Version-Release number of selected component (if applicable):
Hermes-devel-1.3.3-9.fc4

How reproducible:
Every time

Steps to Reproduce:
1.Create an empty program: echo "int main() { return 0; }" > c.c
2.Compile, trying to link with Hermes: cc c.c -lHermes
  
Actual results:
Complaints about many undefined references like these:
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../libHermes.so: undefined reference
to `ConvertX86p32_16RGB565'
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../libHermes.so: undefined reference
to `CopyX86p_1byte'
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../libHermes.so: undefined reference
to `ConvertX86pI8_16'
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../libHermes.so: undefined reference
to `ClearX86_32'

Expected results:
A trivial a.out.

Additional info:
There are corresponding functions with a leading underscore defined in the library:

mimmi> nm -D /usr/lib/libHermes.so|grep  ClearX86_32
00008e50 T _ClearX86_32
         U ClearX86_32

Comment 1 Thomas Vander Stichele 2006-06-15 09:35:29 UTC
I've looked at this before and can't figure out the code in Hermes that does
this symbol mangling.

I am going to offer up Hermes for adoption, because I can't maintain it properly
because of this.

Comment 2 Thomas Vander Stichele 2006-06-15 09:55:03 UTC
*** Bug 185921 has been marked as a duplicate of this bug. ***

Comment 3 Thomas Vander Stichele 2006-07-02 11:41:47 UTC
now orphaned.

Comment 4 Hans de Goede 2006-07-23 20:58:14 UTC
As said, Thomas has orphaned Hermes and I've volunteered to take it over (see
bug 197124).

I've been working hard on a new release 1.3.3-11 which should show up on a
mirror near you soon, with the following changes:
* Sun Jul 23 2006 Hans de Goede <j.w.r.degoede> 1.3.3-11
- Taking over as new maintainer
- Add a patch from Debian fixing some 64 bit issues and more importantly
  fix building with a recent toolchain.
- Fix some further 64 bit issues
- Remove static lib
- Add --disable-dependency-tracking, touch config.h.in to fix the timestamp
  instead of BR: automake, autoconf
- Mark asm files as NOT needing execstack, making us OK with new default
  SELinux targeted policy settings.

This should fix the problem reported in this bug, closing.