Bug 2180941 - libsndfile fails with undefined symbol: mpg123_info2
Summary: libsndfile fails with undefined symbol: mpg123_info2
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: libsndfile
Version: 37
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Michal Hlavinka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-03-22 17:24 UTC by Honza Pokorny
Modified: 2023-03-23 18:51 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-03-23 18:51:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Honza Pokorny 2023-03-22 17:24:36 UTC
Running `ffmpeg` in the terminal without any arguments produces the following error:

    ffmpeg: symbol lookup error: /lib64/libsndfile.so.1: undefined symbol: mpg123_info2


I'm using the latest version ffmpeg-5.1.2-9.fc37.src.rpm.  I have tried reinstalling ffmpeg, libsndfile (and libs, and devel), and mpg123 (and libs, and devel).

ffmpeg is unusable at the moment

Comment 1 Neal Gompa 2023-03-22 22:01:27 UTC
libsndfile needs to be rebuilt against a new mpg123.

Comment 2 Michal Hlavinka 2023-03-23 15:49:54 UTC
What version do you have installed? I can't reproduce this.

# dnf update -y mpg123 libsndfile ffmpeg
# rpm -q mpg123 libsndfile ffmpeg

mpg123-1.31.2-1.fc37.x86_64
libsndfile-1.1.0-4.fc37.x86_64
ffmpeg-5.1.2-9.fc37.x86_64

$ ffmpeg
 ffmpeg
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12 (GCC)
....
...

 no error

# dnf update --enablerepo=updates-testing -y mpg123 libsndfile ffmpeg
# rpm -q mpg123 libsndfile ffmpeg
mpg123-1.31.3-1.fc37.x86_64  # only one that was updated
libsndfile-1.1.0-4.fc37.x86_64
ffmpeg-5.1.2-9.fc37.x86_64

$ ffmpeg
 ffmpeg
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12 (GCC)
....
...

 no error

Comment 3 Honza Pokorny 2023-03-23 16:35:46 UTC
$ sudo dnf update -y mpg123 libsndfile ffmpeg
Last metadata expiration check: 2:48:49 ago on Thu 23 Mar 2023 10:44:46 AM ADT.
Dependencies resolved.
Nothing to do.
Complete!


$ rpm -q mpg123 libsndfile ffmpeg
mpg123-1.31.2-1.fc37.x86_64
libsndfile-1.1.0-4.fc37.x86_64
ffmpeg-5.1.2-9.fc37.x86_64


$ sudo dnf update --enablerepo=updates-testing -y mpg123 libsndfile ffmpeg
Fedora 37 - x86_64 - Test Updates                                         2.6 MB/s | 6.9 MB     00:02
Last metadata expiration check: 0:00:02 ago on Thu 23 Mar 2023 01:34:14 PM ADT.
Dependencies resolved.
==========================================================================================================
 Package                            Architecture    Version                Repository                Size
==========================================================================================================
Upgrading:
 mpg123                             x86_64          1.31.3-1.fc37          updates-testing          142 k
 mpg123-devel                       x86_64          1.31.3-1.fc37          updates-testing          324 k
 mpg123-libs                        x86_64          1.31.3-1.fc37          updates-testing          341 k
 mpg123-plugins-jack                x86_64          1.31.3-1.fc37          updates-testing           17 k
 mpg123-plugins-portaudio           x86_64          1.31.3-1.fc37          updates-testing           14 k
 mpg123-plugins-pulseaudio          x86_64          1.31.3-1.fc37          updates-testing           14 k

Transaction Summary
==========================================================================================================
Upgrade  6 Packages

Total download size: 852 k
Downloading Packages:
(1/6): mpg123-1.31.3-1.fc37.x86_64.rpm                                    307 kB/s | 142 kB     00:00
(2/6): mpg123-plugins-jack-1.31.3-1.fc37.x86_64.rpm                       258 kB/s |  17 kB     00:00
(3/6): mpg123-devel-1.31.3-1.fc37.x86_64.rpm                              601 kB/s | 324 kB     00:00
(4/6): mpg123-libs-1.31.3-1.fc37.x86_64.rpm                               628 kB/s | 341 kB     00:00
(5/6): mpg123-plugins-pulseaudio-1.31.3-1.fc37.x86_64.rpm                 232 kB/s |  14 kB     00:00
(6/6): mpg123-plugins-portaudio-1.31.3-1.fc37.x86_64.rpm                  185 kB/s |  14 kB     00:00
----------------------------------------------------------------------------------------------------------
Total                                                                     818 kB/s | 852 kB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                  1/1
  Upgrading        : mpg123-libs-1.31.3-1.fc37.x86_64                                                1/12
  Upgrading        : mpg123-1.31.3-1.fc37.x86_64                                                     2/12
  Upgrading        : mpg123-plugins-jack-1.31.3-1.fc37.x86_64                                        3/12
  Upgrading        : mpg123-plugins-portaudio-1.31.3-1.fc37.x86_64                                   4/12
  Upgrading        : mpg123-plugins-pulseaudio-1.31.3-1.fc37.x86_64                                  5/12
  Upgrading        : mpg123-devel-1.31.3-1.fc37.x86_64                                               6/12
  Cleanup          : mpg123-devel-1.31.2-1.fc37.x86_64                                               7/12
  Cleanup          : mpg123-plugins-jack-1.31.2-1.fc37.x86_64                                        8/12
  Cleanup          : mpg123-plugins-portaudio-1.31.2-1.fc37.x86_64                                   9/12
  Cleanup          : mpg123-plugins-pulseaudio-1.31.2-1.fc37.x86_64                                 10/12
  Cleanup          : mpg123-1.31.2-1.fc37.x86_64                                                    11/12
  Cleanup          : mpg123-libs-1.31.2-1.fc37.x86_64                                               12/12
  Running scriptlet: mpg123-libs-1.31.2-1.fc37.x86_64                                               12/12
  Verifying        : mpg123-1.31.3-1.fc37.x86_64                                                     1/12
  Verifying        : mpg123-1.31.2-1.fc37.x86_64                                                     2/12
  Verifying        : mpg123-devel-1.31.3-1.fc37.x86_64                                               3/12
  Verifying        : mpg123-devel-1.31.2-1.fc37.x86_64                                               4/12
  Verifying        : mpg123-libs-1.31.3-1.fc37.x86_64                                                5/12
  Verifying        : mpg123-libs-1.31.2-1.fc37.x86_64                                                6/12
  Verifying        : mpg123-plugins-jack-1.31.3-1.fc37.x86_64                                        7/12
  Verifying        : mpg123-plugins-jack-1.31.2-1.fc37.x86_64                                        8/12
  Verifying        : mpg123-plugins-portaudio-1.31.3-1.fc37.x86_64                                   9/12
  Verifying        : mpg123-plugins-portaudio-1.31.2-1.fc37.x86_64                                  10/12
  Verifying        : mpg123-plugins-pulseaudio-1.31.3-1.fc37.x86_64                                 11/12
  Verifying        : mpg123-plugins-pulseaudio-1.31.2-1.fc37.x86_64                                 12/12

Upgraded:
  mpg123-1.31.3-1.fc37.x86_64                         mpg123-devel-1.31.3-1.fc37.x86_64
  mpg123-libs-1.31.3-1.fc37.x86_64                    mpg123-plugins-jack-1.31.3-1.fc37.x86_64
  mpg123-plugins-portaudio-1.31.3-1.fc37.x86_64       mpg123-plugins-pulseaudio-1.31.3-1.fc37.x86_64

Complete!



$ ffmpeg
ffmpeg: symbol lookup error: /lib64/libsndfile.so.1: undefined symbol: mpg123_info2

Comment 4 Michal Hlavinka 2023-03-23 18:20:37 UTC
this is still weird, I tried it on fresh F37 installation and still can't reproduce it despite having exactly the same package versions

libsndfile requires libmpg123.so.0 ( rpm -q libsndfile.x86_42 --requires | grep mpg123 )
and from that library it requires mpg123_info2 among others:
# readelf -Ws /usr/lib64/libsndfile.so.1 | grep mpg123_info
   121: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND mpg123_info2

this library is provided by mpg123-libs and it does contain definition of mpg123_info2
# readelf -Ws /usr/lib64/libmpg123.so.0 | grep info2
    45: 000000000001b200   423 FUNC    GLOBAL DEFAULT   13 mpg123_info2

so there is no reason for the error you see, 

Please add output of these commands on your system:

$ ldd /usr/lib64/libsndfile.so.1 | grep mpg123

$ readelf -Ws /usr/lib64/libmpg123.so.0 | grep mpg123_info

Comment 5 Honza Pokorny 2023-03-23 18:43:10 UTC
$ ldd /usr/lib64/libsndfile.so.1 | grep mpg123
	libmpg123.so.0 => /usr/local/lib/libmpg123.so.0 (0x00007fee85c16000)

$ readelf -Ws /usr/lib64/libmpg123.so.0 | grep mpg123_info
    38: 000000000001b040   439 FUNC    GLOBAL DEFAULT   13 mpg123_info
    45: 000000000001b200   423 FUNC    GLOBAL DEFAULT   13 mpg123_info2

Comment 6 Michal Hlavinka 2023-03-23 18:47:03 UTC
(In reply to Honza Pokorny from comment #5)
> $ ldd /usr/lib64/libsndfile.so.1 | grep mpg123
> 	libmpg123.so.0 => /usr/local/lib/libmpg123.so.0 (0x00007fee85c16000)

I think this is the issue and why I can't reproduce it. You have libmpg123 from some other source and it takes precedence over the system one when linking with libsndfile

You will have to find out where is it from and if you still need it.

Comment 7 Honza Pokorny 2023-03-23 18:51:53 UTC
Problem solved! Thank you so much for your fast help.


Note You need to log in before you can comment on or make changes to this bug.