Bug 1278522

Summary: Please rebuild gmp-ecm in rawhide due to missing symbol
Product: [Fedora] Fedora Reporter: Paulo Andrade <paulo.cesar.pereira.de.andrade>
Component: gmp-ecmAssignee: Jerry James <loganjerry>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: loganjerry
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-06 20:00:01 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:
Embargoed:

Description Paulo Andrade 2015-11-05 17:03:22 UTC
$ gmp-ecm
gmp-ecm: symbol lookup error: /lib64/libecm.so.0: undefined symbol: __gmpn_add_nc
$ rpm -q gmp-ecm
gmp-ecm-6.4.4-6.fc23.x86_64.rpm

Rebuilding the package corrects the problem:

$ rpm -q gmp-ecm
gmp-ecm-6.4.4-6.fc24.x86_64
$ gmp-ecm
Invalid arguments. See gmp-ecm --help.

Comment 1 Jerry James 2015-11-06 18:03:30 UTC
I have rebuilt it.  But this worries me.  Does this mean that gmp dropped a symbol without bumping the soname?

Comment 2 Paulo Andrade 2015-11-06 18:51:56 UTC
  The symbol is not public. gmp-ecm "cheats" at build time, and
uses it if it is available, and even adds a prototype to it,
like this, on a header not installed:

#ifdef HAVE___GMPN_ADD_NC
#ifndef __gmpn_add_nc
__GMP_DECLSPEC mp_limb_t __gmpn_add_nc (mp_ptr, mp_srcptr, mp_srcptr,
    mp_size_t, mp_limb_t);
#endif
#endif


  I checked newer gmp, and I believe it reworked the __gmpn_add_nc
symbol:

$ objdump -T /lib64/libgmp.so|grep __gmpn_add_nc | awk '{print $7;}'
__gmpn_add_nc_coreisbr
__gmpn_add_nc_pentium4
__gmpn_add_nc_x86_64
__gmpn_add_nc_bobcat
__gmpn_add_nc_atom
__gmpn_add_nc_core2

  Previously, there was a single __gmpn_add_nc symbol.

Comment 3 Jerry James 2015-11-06 20:00:01 UTC
Oh, I see.  Thanks for the explanation.  I'll close this as fixed, then.