LINUX.ORG.RU
решено ФорумAdmin

liblz.so.1 - что за зверь, как поймать?

 ,


0

1

Здравствуйте.

Archlinuxarm. Обновляю worker из aur'ов. makepkg выдаёт

/usr/bin/ld: warning: liblz.so.1, needed by /usr/lib/libavfs.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_read'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_write'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_total_in_size'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_finish'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_open'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_write_size'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_sync_to_member'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_member_position'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_member_finished'
/usr/bin/ld: /usr/lib/libavfs.so: undefined reference to `LZ_decompress_close'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1580: worker] Error 1

Пытал интернет, но решение обрести не смог. Конечно, можно попробовать собрать без avfs-а, но не хотелось бы так легко сдаваться.

Буду рад советам. Спасибо за внимание.

Перемещено hobbit из general

★★★★★

Последнее исправление: piyavking (всего исправлений: 2)
Ответ на: комментарий от Dimez

Проверил:

extra/lzlib 1.15-1 (44.7 KiB 133.8 KiB) (Installed)

Попробовал на всякий случай lib32-lzlib поставить - получил бесконечное

-> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitgcc-ada-debug circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitgcc-ada-debug circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitlib32-glibc-eac circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitgcc-ada-debug circular dependencies not allowed
 -> aur dep warn:lib32-gcc-libs-gitgcc-ada-debug circular dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential dependencies not allowed
 -> aur dep warn:gcc-ada-debuggcc-ada-debug self-referential

Так что увы, не всё так однозначно...

piyavking ★★★★★
() автор топика
Ответ на: комментарий от mky
piyavking@hata: ~ $ ls /usr/lib | grep liblz
liblz4.so
liblz4.so.1
liblz4.so.1.10.0
liblzma.so
liblzma.so.5
liblzma.so.5.8.1
liblzo2.so
liblzo2.so.2
liblzo2.so.2.0.0
liblz.so.1

liblz.so.1 не было, был liblz4.so.1 - это линк на liblz4.so.1.10.0. Я его откопировал в liblz.so.1. Ворнинг об отсутствующем .so пропал, но undefined reference to `LZ_decompress_$ERR никуда не делись(

piyavking ★★★★★
() автор топика
Ответ на: комментарий от yars068

Ну да. Я и не знал, что ещё какие-то ауры есть. Предлагаешь попробовать совсем авторский код с сайта качнуть, и собрать по оригинальному рецепту?

piyavking ★★★★★
() автор топика
Ответ на: комментарий от rtxtxtrx

Спасибо за наводку

либо же ты обновлял ядро и забыл перегрузиться

А ведь верно, обновлял ведь недавно. И, возможно, и впрямь не перегружался. А ну-ка...

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking
$  pacman -Fx liblz.so
extra/lzlib 1.15-1 [установлен]
    usr/lib/liblz.so
    usr/lib/liblz.so.1
    usr/lib/liblz.so.1.15
$ strings /usr/lib/liblz.so | grep LZ_decompress
LZ_decompress_open
LZ_decompress_close
LZ_decompress_finish
LZ_decompress_reset
LZ_decompress_sync_to_member
LZ_decompress_read
LZ_decompress_write
LZ_decompress_write_size
LZ_decompress_errno
LZ_decompress_finished
LZ_decompress_member_finished
LZ_decompress_member_version
LZ_decompress_dictionary_size
LZ_decompress_data_crc
LZ_decompress_data_position
LZ_decompress_member_position
LZ_decompress_total_in_size
LZ_decompress_total_out_size
yars068 ★★★★★
()
Ответ на: комментарий от piyavking

Да нет, думаю, это уже лишнее :) Но в AUR пакет без поддержки платформы ARM, PKGBUILD надо немного поправить в этой строчке: arch=('i686' 'x86_64'), целевую платформу правильную надо указать, выполнить updpkgsums, и попробовать ещё раз.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

в AUR пакет без поддержки платформы ARM, PKGBUILD надо немного поправить в этой строчке: arch=('i686' 'x86_64'), целевую платформу правильную надо указать, выполнить updpkgsums

Я немножко в курсе, yay это все делает. Тут после перегруза опять куча linux-firmware-* прискакало, это опять перегружаться)))

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking

На x86:

$  pacman -Fx libavfs.so
extra/avfs 1.2.0-1 [установлен]
    usr/lib/libavfs.so
    usr/lib/libavfs.so.1
    usr/lib/libavfs.so.1.0.0
$  ldd /usr/lib/libavfs.so
	linux-vdso.so.1 (0x00007fdb27306000)
	libatomic.so.1 => /usr/lib/libatomic.so.1 (0x00007fdb2725c000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fdb27228000)
	libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007fdb27143000)
	liblz.so.1 => /usr/lib/liblz.so.1 (0x00007fdb2712f000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fdb26f3f000)
	/usr/lib64/ld-linux-x86-64.so.2 (0x00007fdb27308000)
yars068 ★★★★★
()
Ответ на: комментарий от piyavking

Про то, что вы сделали дичь с копированием линка уже написали. Не знаю, но, по идее, нужно посмотреть:

pacman -Ql lzlib

И, если этот liblz.so входит в ваш пакет lzlib, а файлов нет, то что, они сами с ФС исчезли? А если у вас такой lzlib, что там нет нужных .so-файлов, то совсем странно.

mky ★★★★★
()
Ответ на: комментарий от mky

И, если этот liblz.so

liblz.so.1

И, если этот liblz.so входит в ваш пакет lzlib, а файлов нет, то что, они сами с ФС исчезли?

Я про них вообще не знал ничего, не то чтоб их исчезать из ФС. Система пишет, что lzlib в в ней есть, только что переинсталлил - не возникло ничего(

piyavking ★★★★★
() автор топика
Последнее исправление: piyavking (всего исправлений: 1)
Ответ на: комментарий от piyavking

liblz.so

liblz.so.1

Уж тогда, liblz.so.1.15, так как эти два симлинки на него.

переинсталлил - не возникло ничего

Ну а список файлов то pacman этого установленного пакета показывает? Не поиск файла по всем пакетам, а список файлов пакета.

mky ★★★★★
()
Ответ на: комментарий от yars068
apt-file update

потом

apt-file search liblz
Внимание, apt-file не имеет отношения к apt-get, это сторонняя тулза которая построит большой кеш, у меня на / сейчас нет столько места чтоб весь кеш всех файлов во всех пакетах репы поднять. Пошёл вычищать кеш размером в пару гигов с /

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Так чем это отличается в арче?

$ sudo pacman --files --refresh
$ pacman --files --regex liblz
core/lz4 1:1.10.0-2 [установлен]
    usr/lib/liblz4.so
    usr/lib/liblz4.so.1
    usr/lib/liblz4.so.1.10.0
    usr/lib/pkgconfig/liblz4.pc
core/lzo 2.10-5 [установлен]
    usr/lib/liblzo2.so
    usr/lib/liblzo2.so.2
    usr/lib/liblzo2.so.2.0.0
core/xz 5.8.1-1 [установлен]
    usr/lib/liblzma.so
    usr/lib/liblzma.so.5
    usr/lib/liblzma.so.5.8.1
    usr/lib/pkgconfig/liblzma.pc
extra/cmake 4.0.3-1 [установлен]
    usr/share/cmake/Help/module/FindLibLZMA.rst
    usr/share/cmake/Modules/FindLibLZMA.cmake
    usr/share/doc/cmake/html/module/FindLibLZMA.html
extra/emscripten 4.0.10-1
    usr/lib/emscripten/src/lib/liblz4.js
extra/intel-oneapi-basekit 2025.0.1.46-1
    opt/intel/oneapi/2025.0/share/doc/debugger/licensing/LIBLZMA.COPYING
    opt/intel/oneapi/debugger/2025.0/share/doc/debugger/licensing/LIBLZMA.COPYING
extra/intel-oneapi-dpcpp-debugger 2025.0.0-1
    opt/intel/oneapi/debugger/2025.0/share/doc/debugger/licensing/LIBLZMA.COPYING
extra/liblzf 3.6-5
    usr/lib/liblzf.so
    usr/lib/liblzf.so.1
    usr/lib/liblzf.so.1.0.0
    usr/lib/pkgconfig/liblzf.pc
extra/lzlib 1.15-1 [установлен]
    usr/lib/liblz.so
    usr/lib/liblz.so.1
    usr/lib/liblz.so.1.15
extra/mingw-w64-crt 13.0.0-1 (mingw-w64-toolchain mingw-w64)
    usr/i686-w64-mingw32/lib/liblz32.a
    usr/x86_64-w64-mingw32/lib/liblz32.a
extra/odin dev_2025_06-2
    usr/lib/odin/vendor/compress/lz4/lib/liblz4_static.lib
extra/perl-alien-cmake3 0.09-1
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/doc/cmake/html/_sources/module/FindLibLZMA.rst.txt
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/doc/cmake/html/module/FindLibLZMA.html
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/share/cmake-3.31/Help/module/FindLibLZMA.rst
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/share/cmake-3.31/Modules/FindLibLZMA.cmake
extra/sagemath-doc 10.6-1
    usr/share/doc/sage/html/en/reference/spkg/_sources/liblzma.rst.txt
    usr/share/doc/sage/html/en/reference/spkg/liblzma.html
extra/wine 10.9-1
    usr/lib/wine/i386-windows/liblz32.a
    usr/lib/wine/x86_64-unix/liblz32.a
    usr/lib/wine/x86_64-windows/liblz32.a
extra/wine-staging 10.9-1 [установлен]
    usr/lib/wine/i386-windows/liblz32.a
    usr/lib/wine/x86_64-unix/liblz32.a
    usr/lib/wine/x86_64-windows/liblz32.a
multilib/lib32-lz4 1.10.0-3
    usr/lib32/liblz4.so
    usr/lib32/liblz4.so.1
    usr/lib32/liblz4.so.1.10.0
    usr/lib32/pkgconfig/liblz4.pc
multilib/lib32-xz 5.8.1-1 [установлен]
    usr/lib32/liblzma.so
    usr/lib32/liblzma.so.5
    usr/lib32/liblzma.so.5.8.1
    usr/lib32/pkgconfig/liblzma.pc

«Чириканья» специально для «гентушников» не использую))

А так, пальнул -Fy, потом -Fx что-то, и анализируешь :) Можно еще спросить, кто владеет данным файлом через -Qo, например:

pacman -Qo /usr/lib/liblz.so
/usr/lib/liblz.so принадлежит lzlib 1.15-1

Всё пучком :)

Пошёл вычищать кеш размером в пару гигов с /

Вся БД 56 МиБ занимает, кэш пакетов – сколько настроишь, столько и будет, у меня сейчас там аж 22 гига ;)

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 3)
Ответ на: комментарий от mky
piyavking@hata: ~ $ pacman -Ql lzlib
lzlib /usr/
lzlib /usr/bin/
lzlib /usr/bin/minilzip
lzlib /usr/share/
lzlib /usr/share/licenses/
lzlib /usr/share/licenses/lzlib/
lzlib /usr/share/licenses/lzlib/COPYING
lzlib /usr/share/man/
lzlib /usr/share/man/man1/
lzlib /usr/share/man/man1/minilzip.1.gz

«pacman -Fl lzlib» выдаёт то же самое. Получается, никакого liblz.so.1 в lzlib (теперь) нет?...

piyavking ★★★★★
() автор топика
Последнее исправление: piyavking (всего исправлений: 1)
Ответ на: комментарий от piyavking
$  pacman -Ql lzlib
lzlib /usr/
lzlib /usr/bin/
lzlib /usr/bin/minilzip
lzlib /usr/include/
lzlib /usr/include/lzlib.h
lzlib /usr/lib/
lzlib /usr/lib/liblz.so
lzlib /usr/lib/liblz.so.1
lzlib /usr/lib/liblz.so.1.15
lzlib /usr/share/
lzlib /usr/share/info/
lzlib /usr/share/info/lzlib.info.gz
lzlib /usr/share/licenses/
lzlib /usr/share/licenses/lzlib/
lzlib /usr/share/licenses/lzlib/COPYING
lzlib /usr/share/man/
lzlib /usr/share/man/man1/
lzlib /usr/share/man/man1/minilzip.1.gz

Похоже, пакет испорченный, неправильно собранный. На x86_64 – на месте. Ну вот, @piyavking столкнулся с проблемой, теперь, если зарепортить, другие юзеры уже завтра-послезавтра получат исправленный пакет :)

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от yars068

Странно. В выхлопе

piyavking@hata: ~ $ pacman --files --regex liblz
core/lz4 1:1.10.0-2 [installed]
    usr/lib/liblz4.so
    usr/lib/liblz4.so.1
    usr/lib/liblz4.so.1.10.0
    usr/lib/pkgconfig/liblz4.pc
core/lzo 2.10-5 [installed]
    usr/lib/liblzo2.so
    usr/lib/liblzo2.so.2
    usr/lib/liblzo2.so.2.0.0
core/lzo-debug 2.10-5
    usr/lib/debug/usr/lib/liblzo2.so.2.0.0.debug
core/xz 5.8.1-1 [installed]
    usr/lib/liblzma.so
    usr/lib/liblzma.so.5
    usr/lib/liblzma.so.5.8.1
    usr/lib/pkgconfig/liblzma.pc
extra/cmake 4.0.3-1
    usr/share/cmake/Help/module/FindLibLZMA.rst
    usr/share/cmake/Modules/FindLibLZMA.cmake
    usr/share/doc/cmake/html/module/FindLibLZMA.html
extra/emscripten 4.0.10-1
    usr/lib/emscripten/src/lib/liblz4.js
extra/intel-oneapi-dpcpp-debugger 2025.0.0-1
    opt/intel/oneapi/debugger/2025.0/share/doc/debugger/licensing/LIBLZMA.COPYING
extra/liblzf 3.6-5 [installed]
    usr/lib/liblzf.so
    usr/lib/liblzf.so.1
    usr/lib/liblzf.so.1.0.0
    usr/lib/pkgconfig/liblzf.pc
extra/odin dev_2025_06-2
    usr/lib/odin/vendor/compress/lz4/lib/liblz4_static.lib
extra/perl-alien-cmake3 0.09-1
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/doc/cmake/html/_sources/module/FindLibLZMA.rst.txt
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/doc/cmake/html/module/FindLibLZMA.html
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/share/cmake-3.31/Help/module/FindLibLZMA.rst
    usr/lib/perl5/5.40/vendor_perl/auto/share/dist/Alien-cmake3/share/cmake-3.31/Modules/FindLibLZMA.cmake

никакого «usr/lib/liblz.so.1» нету, хотя extra/lzlib 1.15-1 у меня установлен и переустановлен(

piyavking ★★★★★
() автор топика
Ответ на: комментарий от yars068

Никогда не багрепортил. Насколько я понимаю, двух листингов - твоего x86-64 и моего aarch64 - с добавлением «where's my liblz.so.1, dude?» будет достаточно?

piyavking ★★★★★
() автор топика
Последнее исправление: piyavking (всего исправлений: 1)
Ответ на: комментарий от piyavking

Ещё и собирать придётся кросс-компилятором :) Ну, или прямо на тачке, с необходимыми ручными правками.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от yars068

Собирать пакет, чтобы багепорт написать?

Если смотерть пакет (tar-архим), что для aarch64, что для armv7h то там нет содержит *.so-файлов. И собраны пакеты 20 июня, видимо, никому кроме ТС ни lzlib, ни libavfs не нужны на арме :)

mky ★★★★★
()
Ответ на: комментарий от mky

Прежде всего, для себя, а багрепорт – для всех :) Выкатят нормальный пакет, можно будет самосборный выкинуть и вернуться на дистрибутивный. ARM-порт, похоже, немного неинтересен разрабам, раз такая ситуация :)

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от piyavking
$ pacman -Ql zlib | grep so
zlib /usr/lib/libz.so
zlib /usr/lib/libz.so.1
zlib /usr/lib/libz.so.1.3.1

Эти файлы (so и so.1) всего лишь симлинки:

lrwxrwxrwx     - root root   2 May  2024   /usr/lib/libz.so -> libz.so.1.3.1
lrwxrwxrwx     - root root   2 May  2024   /usr/lib/libz.so.1 -> libz.so.1.3.1
rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)

тебе по идее нужно два симлинка создать, но, учитывая, вводные (что симлинки не доложили) как-то странно, что твой рач на arm работает. там один такой пакет кривой или вся система - глюкодром?

rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

Эта библиотека не из критически важных, поэтому там может работать всё, что не задействует сжатие LZMA. Другое дело, что никто, похоже, не проверял, что пакет корректно собран. И не zlib нужен, а lzlib.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от yars068

С https://download.savannah.nongnu.org/releases/lzip/lzlib/ качнул lzlib-1.15, распаковал, пытаюсь установить. /.configure и make вроде отрабатывают:

piyavking@hata: ~/tmp/lzlib-1.15 $ ./configure

creating config.status
creating Makefile
VPATH = .
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
datarootdir = $(prefix)/share
includedir = $(prefix)/include
infodir = $(datarootdir)/info
libdir = $(exec_prefix)/lib
mandir = $(datarootdir)/man
CC = gcc
AR = ar
CPPFLAGS =
CFLAGS = -Wall -W -O2
LDFLAGS =
ARFLAGS = -rcs
MAKEINFO = makeinfo
OK. Now you can run make.
piyavking@hata: ~/tmp/lzlib-1.15 $ make
gcc  -Wall -W -O2 -c -o lzlib.o lzlib.c
ar -rcs liblz.a lzlib.o

Но когда я пытаюсь в make install мне вместо сообшений выпадает какой-то долбаный листинг:

piyavking@hata: ~/tmp/lzlib-1.15 $ sudo make install
if [ ! -d "/usr/local/include" ] ; then install -d -m 755 "/usr/local/include" ; fi
if [ ! -d "/usr/local/lib" ] ; then install -d -m 755 "/usr/local/lib" ; fi
install -m 644 ./lzlib.h "/usr/local/include/lzlib.h"
if [ -n "liblz.a" ] ; then \
  install -m 644 ./liblz.a "/usr/local/lib/liblz.a" ; \
fi
if [ -n "" ] ; then \
  if [ -e "/usr/local/lib/liblz.so.1" ] ; then \
    run_ldconfig=no ; \
  else run_ldconfig=yes ; \
  fi ; \
  rm -f "/usr/local/lib/liblz.so" ; \
  rm -f "/usr/local/lib/liblz.so.1" ; \
  install -m 644 ./liblz.so.1 "/usr/local/lib/liblz.so.1.15" ; \
  cd "/usr/local/lib" && ln -s liblz.so.1.15 liblz.so ; \
  cd "/usr/local/lib" && ln -s liblz.so.1.15 liblz.so.1 ; \
  if [ "" != yes ] && [ ${run_ldconfig} = yes ] && \
     [ -x "/sbin/ldconfig" ] ; then "/sbin/ldconfig" -n "/usr/local/lib" || true ; fi ; \
fi
if [ ! -d "/usr/local/share/info" ] ; then install -d -m 755 "/usr/local/share/info" ; fi
rm -f "/usr/local/share/info/lzlib.info"*
install -m 644 ./doc/lzlib.info "/usr/local/share/info/lzlib.info"
if /bin/sh -c "install-info --version" > /dev/null 2>&1 ; then \
  install-info --info-dir="/usr/local/share/info" "/usr/local/share/info/lzlib.info" ; \
fi

Посоветуй чего-нибудь плз, я чего-то совсем ничнго не понимаю. sudo make install так ругаться не должен(

piyavking ★★★★★
() автор топика