rpmbuild дает ошибку по сегменту
Я пытаюсь собрать rpm с помощью инструмента rpmbuild. У меня есть исходный код, который создает двоичные файлы около 30 ГБ. Это программное обеспечение, для которого я делаю rpm, имеет десятки исполняемых файлов. Когда я копирую только двоичные файлы одного исполняемого файла (например, init), моя сборка rpm успешно выполняется. Но когда я сбрасываю всю сборку в rpm, rpmbuild делает все, но в конце выдает ошибку сегмента.
Вот мой файл спецификаций:
# This is a sample spec file for wget
%define _topdir /root/mywget
%define name source
%define release 1
%define version 1.12
%define _builddir /root/mywget/BUILD/glenlivet
%define _buildrootdir /root/mywget/BUILDROOT
%define _buildroot /root/mywget/BUILDROOT
%define _sourcedir /root/mywget/SOURCES
BuildRoot: %{_buildroot}
Summary: GNU source
License: GPL
Name: %{name}
Version: %{version}
Release: %{release}
Source: %{name}-%{version}.tar.gz
Prefix: /usr
Group: Development/Tools
%description
The GNU sample program downloads files from the Internet using the command-line.
%prep
%setup -q -n glenlivet
%build
cd %{_builddir}
make all
%install
rm -rf %{_buildrootdir}
mkdir -p %{_buildrootdir}/bin
cp -p -r %{_builddir}/build/obj-x64/* %{_buildrootdir}/bin/
%files
%defattr(-,root,root)
/bin/*
Если я копирую только некоторые из двоичных файлов (скажем, одну утилиту и зависимые от нее двоичные файлы), она работает нормально. Но когда я пытаюсь скопировать всю сборку, я получаю ошибку сегмента. Я получаю ошибку сегмента после того, как rpmbuild выполнил эти разделы:
%prep
%build
%install
rpmbuild также обрабатывает мой исходный файл.
Processing files: source-1.12-1
Finding Provides:
Finding Requires:
Finding Supplements:
Provides:......
Requires:......
Checking for unpackaged file(s):/ usr/lib/rpm/check-files /root/mywget/BUILDROOT
Checking for unpackaged file(s):/ usr/lib/rpm/check-files /root/mywget/BUILDROOT
Segmentation fault
Любая подсказка, что происходит неправильно или где терпит неудачу rpmbuild? заранее спасибо
1 ответ
Версии RPM до 4.4.x имеют ограничение размера пакета 2 ГБ, поскольку для них требуется поддержка 64-битного целочисленного типа в заголовках. Начиная с 4.6, эта крышка размера пакета удалена. Из-за ограничений формата cpio для отдельных файлов в пакетах по-прежнему существует ограничение в 4 ГБ.