Собираю qemu-server. Использую h2ph вот так: h2ph -r -l -d . /usr/include/* В результате получаю такую ошибку: find-requires: running scripts (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks) Unquoted string "c" may clash with future reserved word at /usr/src/tmp/qemu-server-buildroot/usr/share/perl5/_h2ph_pre.ph line 162. Illegal character in prototype for main::__INT16_C : c at /usr/src/tmp/qemu-server-buildroot/usr/share/perl5/_h2ph_pre.ph line 162. Illegal declaration of subroutine main::__INT16_C at /usr/src/tmp/qemu-server-buildroot/usr/share/perl5/_h2ph_pre.ph line 162. Compilation failed in require at /usr/src/tmp/qemu-server-buildroot/usr/share/perl5/PVE/QemuServer.pm line 33. Compilation failed in require at /usr/src/tmp/qemu-server-buildroot/usr/sbin/qm line 6. BEGIN failed--compilation aborted at /usr/src/tmp/qemu-server-buildroot/usr/sbin/qm line 6. # perl(PVE/QemuServer.pm) at line 6 (depth 3) not loaded at BEGIN SKIP # /usr/src/tmp/qemu-server-buildroot/usr/sbin/qm: deparse failed. isPerl=0.0299910474485228. find-requires: ERROR: /usr/lib/rpm/perl.req failed error: /bin/sh failed error: Failed to find Requires Раньше пол года назад собиралось нормально. Подобная ошибка есть в багзиле https://bugzilla.redhat.com/show_bug.cgi?id=643447 И её причины и исправление описано в http://rt.perl.org/rt3//Public/Bug/Display.html?id=74614
h2ph скорее всего большое не поддерживается, и чинить его скорее всего никто не будет. Для совместимости с существующим кодом я сделал пакет perl-ph, в котором несколько штук *.ph файлов генерируются другим (более цивилизованным) способом. Короче, рекомендую не запускать h2ph.
(В ответ на комментарий №1) > h2ph скорее всего большое не поддерживается, и чинить его скорее всего никто не > будет. Для совместимости с существующим кодом я сделал пакет perl-ph, в котором > несколько штук *.ph файлов генерируются другим (более цивилизованным) способом. А если нужен asm/ioctl.ph , что делать? В дебиане, кстати, для сборки данного пакета не используют h2ph. Можно ли рассчитывать на расширение perl-ph? > Короче, рекомендую не запускать h2ph. Помогло sed -i "/(c)/d" _h2ph_pre.ph но я не знаю где это может вылезти в дальнейшем.
В ioctl(2) указан хедер <sys/ioctl.h>, хотя ioctl_list(2) ссылается на <asm/ioctl.h>. А какие макросы оттуда нужны?
Исправление из RT74614 присутствует в текущем perl, поэтому думаю, что можно закрыть баг.