Назад | Перейти на главную страницу

rpmbuild выдает ошибку сегмента

Я пытаюсь создать RPM с помощью инструмента rpmbuild. У меня есть исходный код, который собирает двоичные файлы размером около 30 ГБ. Это программное обеспечение, для которого я делаю rpm, имеет десятки исполняемых файлов. Когда я копирую только двоичные файлы одного исполняемого файла (например, init), мои rpm-сборки успешно создаются. Но когда я выгружаю всю сборку в rpm, rpmbuild делает все, но в конце выдает ошибку seg.

Вот мой файл спецификации:

# 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/*

Если я копирую только некоторые из двоичных файлов (скажем, одну утилиту и зависимые от нее двоичные файлы), она работает нормально. Но когда я пытаюсь скопировать всю сборку, у меня возникает ошибка сегмента. Я получаю ошибку seg после того, как 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? заранее спасибо

Версии RPM до 4.4.x имеют ограничение на размер пакета 2 ГБ, потому что для этого требуется поддержка 64-битных целочисленных типов в заголовках. Начиная с версии 4.6, это ограничение размера пакета снимается. По-прежнему существует ограничение на 4 ГБ для отдельных файлов в пакетах из-за ограничений формата cpio.

Ссылка Ссылка