CentOS7: rpmbuild - невозможно распознать формат входного файла - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь построить очень простой обороты по Centos7. Я просто копирую некоторые предварительно скомпилированные исполняемые файлы из tar.gz в / usr / bin / my_rpms / rpm1. Вот мой раздел установки:

%install
mkdir -p %{buildroot}/usr/bin/my_rpms/rpm1/
install -D prog prog.o -t %{buildroot}/usr/bin/my_rpms/rpm1/

раньше работало найти по большей части. но сегодня, когда после внесения некоторых изменений в прогу и перекомпиляции она продолжает получать эти ошибки:

+ mkdir -p /root/rpmbuild/BUILDROOT/rpm1.x86_64/usr/bin/my_rpms/rpm1/
+ install -D prog prog.o -t /root/rpmbuild/BUILDROOT/rpm1.x86_64/usr/bin/my_rpms/rpm1/
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
/usr/bin/strip: Unable to recognise the format of the input file `/root/rpmbuild/BUILDROOT/rpm1.x86_64/usr/bin/drivertest_rpms/rpm1/prog.o'

1 Ответ

0 голосов
/ 27 января 2019

Как вы можете видеть в журнале ошибок, проблема заключается в чередовании двоичных файлов, что является поведением по умолчанию для команды install. Я думаю, что ваша среда сборки может отличаться от среды rpm. кросскомпилируете? как предложено @ aaron-d-marasco

Поэтому я рекомендую собрать rpm из исходного кода проекта. Т.е. переместите ваши команды сборки в раздел %build файла .spec.

Или удалите файлы в том же месте, где вы их построили, и затем в rpm используйте команду cp в разделе %install вместо команды install, чтобы переместить ваши файлы в целевой каталог.

...