Я пытаюсь построить libxvidcore
из источника используя tarball и отработку RPM specfile provided in RPMFusion. У меня есть причины переупаковывать это.Главная связанная общая библиотека символическая ссылка?
%global _hardened_build 1
# can't seem to find debug info for now
%global debug_package %{nil}
%define package_name libxvidcore
%define package_version 1.3.4
%define package_release 1
Name: %{package_name}
Summary: A video decoder and encoder library aimed at providing the best compression efficiency and picture quality possible.
Version: %{package_version}
Release: %{package_release}%{?dist}
License: GPL
Source: http://downloads.xvid.org/downloads/xvidcore-%{package_version}.tar.bz2
%ifarch %{ix86} x86_64
BuildRequires: nasm
%endif
%description
A video decoder and encoder library aimed at providing the best compression efficiency and picture quality possible.
%prep
%setup -n xvidcore
%build
cd build/generic
%configure
make %{?_smp_mflags}
%install
make -C build/generic install DESTDIR=$RPM_BUILD_ROOT
%files
%{_libdir}/libxvidcore.so.4
%{_libdir}/libxvidcore.so.4.3
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%package devel
Summary: libxvidcore-devel
Requires: libxvidcore = %{package_version}
%description devel
libxvidcore-devel
%files devel
%{_includedir}/xvid.h
%{_libdir}/libxvidcore.so
%exclude %{_libdir}/libxvidcore.a
По-настоящему странные вещи происходят с общими библиотеками. Файлы, предоставленные libxvidcore
являются:
/usr/lib64/libxvidcore.so.4 -> /usr/lib64/libxvidcore.so.4.3
/usr/lib64/libxvidcore.so.4.3
Пакет libxvidcore-devel
зависит от libxvidcore
. Тем не менее, я не могу установить libxvidcore-devel
из-за следующую ошибку:
$ sudo rpm -ivh RPMS/x86_64/libxvidcore-1.3.4-1.fc23.x86_64.rpm \
RPMS/x86_64/libxvidcore-devel-1.3.4-1.fc23.x86_64.rpm
error: Failed dependencies:
libxvidcore.so.4()(64bit) is needed by libxvidcore-devel-1.3.4-1.fc23.x86_64
Этой общая библиотекой (libxvidcore.so.4
), как указано выше, является символической ссылкой libxvidcore.so.4.3
, который является реальной ELF разделяемых библиотек. Поскольку я не определяю, как работает эта сборка, я не уверен, как обойти это.
Вот расположение пакетов:
$ rpm -qp --provides --fileprovide RPMS/x86_64/libxvidcore-1.3.4-1.fc23.x86_64.rpm
libxvidcore = 1.3.4-1.fc23
libxvidcore(x86-64) = 1.3.4-1.fc23
/usr/lib64/libxvidcore.so.4
/usr/lib64/libxvidcore.so.4.3
$ rpm -qp --provides --fileprovide RPMS/x86_64/libxvidcore-devel-1.3.4-1.fc23.x86_64.rpm
libxvidcore-devel = 1.3.4-1.fc23
libxvidcore-devel(x86-64) = 1.3.4-1.fc23
/usr/include/xvid.h
/usr/lib64/libxvidcore.so
Ради здравомыслие, вот это информация о разделяемой библиотеки как сообщает file
:
$ file /usr/lib64/libxvidcore.so.4{,.3}
/usr/lib64/libxvidcore.so.4: symbolic link to libxvidcore.so.4.3
/usr/lib64/libxvidcore.so.4.3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=86c2c379f2ca0dc2f3d3f1306c55de29b1d76738, not stripped
Вот еще информация о пакете libxvidcore:
$ rpm -qi --qf 'Arch : %{arch}\n' --provides libxvidcore
Name : libxvidcore
Version : 1.3.4
Release : 1.fc23
Architecture: x86_64
Install Date: Mon 25 Jan 2016 01:28:08 AM UTC
Group : Unspecified
Size : 2697952
License : GPL
Signature : (none)
Source RPM : libxvidcore-1.3.4-1.fc23.src.rpm
Build Date : Mon 25 Jan 2016 01:27:50 AM UTC
Build Host : fedora23
Relocations : (not relocatable)
Summary : A video decoder and encoder library aimed at providing the best compression efficiency and picture quality possible.
Description :
A video decoder and encoder library aimed at providing the best compression efficiency and picture quality possible.
Arch : x86_64
libxvidcore = 1.3.4-1.fc23
libxvidcore(x86-64) = 1.3.4-1.fc23
Есть ли способ для меня иметь дело с нами ird symlink правильно?
Является ли 'libxvidcore-devel-1.3.4-1.fc23.x86_64' ваш пакет? Является ли 'libxvidcore-devel-1.3.4-1.fc23.x86_64' уже установленным в вашей системе по какой-то причине? Что делает 'rpm -qp -provides $ your_vidcore_package' вывод? –
@EtanReisner Я обновил вопрос с выводами из ваших команд. –
Это не ваши пакеты. Это официальные пакеты Fedora 23, не так ли? Почему вы смотрите на них? Почему они установлены? Я думал, что все дело в том, чтобы создать свои собственные пакеты? Если это то, что вы хотите, вы не хотите, чтобы пакеты акций были установлены (хотя это может вызвать проблемы, поскольку ваши пакеты могут или не могут удовлетворять другим требованиям официальных пакетов). –