Bug 2231506

Summary: Relink `/lib64/liblpcnetfreedv.so.0.5' with `/lib64/libm.so.6' for IFUNC symbol `sincos'
Product: [Fedora] Fedora Reporter: Than Ngo <than>
Component: lpcnetfreedvAssignee: Richard Shaw <hobbes1069>
Status: MODIFIED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 39CC: fweimer, hobbes1069, redhat-bugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Than Ngo 2023-08-11 18:16:50 UTC
chromium failed with Relink `/lib64/liblpcnetfreedv.so.0.5' with `/lib64/libm.so.6' for IFUNC symbol `sincos'



Reproducible: Always

Steps to Reproduce:
1. build chromium in rawhide

Actual Results:  
chromium failed with Relink `/lib64/liblpcnetfreedv.so.0.5' with `/lib64/libm.so.6' for IFUNC symbol `sincos'

Build log: https://kojipkgs.fedoraproject.org//work/tasks/7934/104677934/build.log


Expected Results:  
it should build without any probkem

Comment 1 Richard Shaw 2023-08-11 22:22:25 UTC
I guess first I'd like to understand why chromium is using this package as a dependency. As the name implies, it's a fork of LPCNet specifically for use with FreeDV.

Comment 2 Than Ngo 2023-08-13 18:11:21 UTC
(In reply to Richard Shaw from comment #1)
> I guess first I'd like to understand why chromium is using this package as a
> dependency. As the name implies, it's a fork of LPCNet specifically for use
> with FreeDV.

chromium has Build Require on ffmpeg which has dependency on codec2 that has direct BR on lpcnetfreedv.

Comment 3 Richard Shaw 2023-08-13 21:52:04 UTC
Ok, I'm still confused. If I look at the f39 builds I did codec2 seems to have the correct soname dependency on lpcnetfreedv...

Comment 4 Florian Weimer 2023-08-14 07:33:42 UTC
The error message is correct.

# eu-readelf -d /usr/lib64/liblpcnetfreedv.so.0.5

Dynamic segment contains 27 entries:
 Addr: 0x0000000000013a10  Offset: 0x012a10  Link to section: [ 6] '.dynstr'
  Type              Value
  NEEDED            Shared library: [libc.so.6]
  SONAME            Library soname: [liblpcnetfreedv.so.0.5]
  INIT              0x0000000000003000
  FINI              0x000000000000f2e8
  INIT_ARRAY        0x00000000000139f8
[…]
# eu-readelf --symbols=.dynsym /usr/lib64/liblpcnetfreedv.so.0.5 | grep UNDEF | grep -v @
    0: 0000000000000000      0 NOTYPE  LOCAL  DEFAULT    UNDEF 
    3: 0000000000000000      0 NOTYPE  WEAK   DEFAULT    UNDEF _ITM_deregisterTMCloneTable
    4: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF log2
    5: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF sincos
    7: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF cosf
   15: 0000000000000000      0 NOTYPE  WEAK   DEFAULT    UNDEF __gmon_start__
   16: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF sin
   19: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF exp
   20: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF sqrtf
   22: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF cos
   24: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF pow
   25: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF round
   26: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF log10f
   27: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF log10
   28: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF sqrt
   29: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF sincosf
   32: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF roundf
   33: 0000000000000000      0 NOTYPE  WEAK   DEFAULT    UNDEF _ITM_registerTMCloneTable
   34: 0000000000000000      0 NOTYPE  GLOBAL DEFAULT    UNDEF atan2f

The object is underlinked. It uses math library functions without linking with -lm.

Comment 5 Richard Shaw 2023-08-14 11:35:35 UTC
Ahh... That makes more sense, but I found the chromium output "relink" confusing. Fix coming.

Comment 6 Richard Shaw 2023-08-14 13:51:41 UTC
Rebuilds are complete for Rawhide and branched f39.

Comment 7 Fedora Release Engineering 2023-08-16 08:14:17 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.