/usr/include/mpg123.h из libmpg123-devel 1.32.1-alt1 совершает особые препроцессорные трюки, после которых, если при компиляции определён символ препроцессора _FILE_OFFSET_BITS, многие функции libmpg123 преобретают суффикс '_64' в названии. $ cat test.c #include <mpg123.h> int main() { void* p = &mpg123_open_handle; return p == 0; } $ gcc test.c -lmpg123 $ gcc -D_FILE_OFFSET_BITS=64 test.c -lmpg123 ld: /tmp/.private/iv/ccODy4Re.o: in function `main': test.c:(.text+0x7): undefined reference to `mpg123_open_handle_64' collect2: error: ld returned 1 exit status То есть, просто собрать получается, а с -D_FILE_OFFSET_BITS=64. От этого развалилась сборка audacity: ld: /usr/src/tmp/ccoKem8v.ltrans78.ltrans.o: in function `(anonymous namespace)::MP3ImportFileHandle::MP3ImportFileHandle(wxString const&)': /usr/src/RPM/BUILD/audacity-src-3.3.3/src/import/ImportMP3_MPG123.cpp:205:(.text+0x1464): undefined reference to `mpg123_replace_reader_handle_64' ld: /usr/src/tmp/ccoKem8v.ltrans78.ltrans.o: in function `(anonymous namespace)::MP3ImportPlugin::Open(wxString const&, AudacityProject*)': /usr/src/RPM/BUILD/audacity-src-3.3.3/src/import/ImportMP3_MPG123.cpp:478:(.text+0x1abc): undefined reference to `mpg123_open_handle_64' ld: /usr/src/tmp/ccoKem8v.ltrans78.ltrans.o:/usr/src/RPM/BUILD/audacity-src-3.3.3/src/import/ImportMP3_MPG123.cpp:490:(.text+0x1ae6): undefined reference to `mpg123_decode_frame_64' ld: /usr/src/tmp/ccoKem8v.ltrans78.ltrans.o: in function `(anonymous namespace)::MP3ImportFileHandle::Import(WaveTrackFactory*, std::vector<std::vector<std::shared_ptr<WaveTrack>, std::allocator<std::shared_ptr<WaveTrack> > >, std::allocator<std::vector<std::shared_ptr<WaveTrack>, std::allocator<std::shared_ptr<WaveTrack> > > > >&, Tags*)': /usr/src/RPM/BUILD/audacity-src-3.3.3/src/import/ImportMP3_MPG123.cpp:276:(.text+0x7e6d): undefined reference to `mpg123_framelength_64' ld: /usr/src/RPM/BUILD/audacity-src-3.3.3/src/import/ImportMP3_MPG123.cpp:294:(.text+0x8494): undefined reference to `mpg123_decode_frame_64' collect2: error: ld returned 1 exit status Кажется, VLC тоже пострадал от этого.
Кажется, нужно или добавить в configure --disable-portable, чтобы функции *_64 появились в библиотеке, или пропатчить заголовочный файл чтобы он ничего такого не делал.
> Кажется, VLC тоже пострадал от этого. Примерный список пострадавших: audacity-3.3.3-alt2 gst-plugins-good1.0-1.22.6-alt1 mpd-0.23.13-alt1 mplayer-1.5-alt1.38416.2 slade-3.2.4-alt1 vlc-3.0.18-alt3
*** Bug 47751 has been marked as a duplicate of this bug. ***
Откатил на 1.31.3. #330461 BUILDING #1 [locked] [test-only] sisyphus srpm=mpg123-1.31.3-alt1.src.rpm На всякий проверьте перед отправкой в сизиф.
(In reply to Yuri N. Sedunov from comment #4) > Откатил на 1.31.3. > #330461 BUILDING #1 [locked] [test-only] sisyphus > srpm=mpg123-1.31.3-alt1.src.rpm > > На всякий проверьте перед отправкой в сизиф. Сборке audacity помогло.
mpg123-1:1.31.3-alt1 -> sisyphus: Wed Sep 27 2023 Yuri N. Sedunov <aris@altlinux> 1:1.31.3-alt1 - rollback to 1.31.3 (ALT #47750)