[РЕШЕНО]Сборка пакета из исходников, странное поведение.

Всем доброго дня.
Сталкнулся с непонятным поведением сборщика пакетов, точнее функции build.
Если запустить сборку, все скачивается распаковывается, запускается ./configure вродебы без ошибок, запускается make и через некоторое время вылетает с ошибкой. Но вся соль в том, что если в функции build сделать заглушку типа read, на то время пока в другом окне терминала я выполняю ./configure и make, которые странным образом выполняются без ошибок и после окончания выполнения make, я продолжаю сборку пакета и получаю положительный результат.
По сути свою задачу я выполнил, но хотелось бы разобраться что я делаю не так.

pkgname=sdcc
pkgver=3.6.9
pkgrel=1
pkgdesc="SDCC"
arch=('x86_64')
license=('GPL')
depends=('bash' 'gcc-libs' 'boost-libs')
makedepends=('gputils' 'flex' 'bison' 'boost' 'subversion')
source=("https://sourceforge.net/projects/sdcc/files/snapshot_builds/sdcc-src/sdcc-src-20180113-10207.tar.bz2/download")
md5sums=('SKIP')

pkgver() {
	cd "$srcdir/sdcc/"
    local _sdccver=`cat ./.version`
	echo "$_sdccver"
}
build() {
    cd "$srcdir/$pkgname"
    ./configure
    make
#или
#read -s -n1 -p $'\x1B[36m Нажмите любую клавишу для продолжения\x1B[0m'
}
package() {
    cd "$srcdir/sdcc/"
    make PREFIX=/usr DESTDIR="$pkgdir" install
}

Ошибка:
make[3]: *** [Makefile:749: fibheap.o] Ошибка 1
make[3]: выход из каталога «.../src/sdcc/support/sdbinutils/libiberty»
make[2]: *** [Makefile:6112: all-libiberty] Ошибка 2
make[2]: выход из каталога «.../src/sdcc/support/sdbinutils»
make[1]: *** [Makefile:833: all] Ошибка 2
make[1]: выход из каталога «.../src/sdcc/support/sdbinutils»
make: *** [Makefile:147: sdcc-sdbinutils] Ошибка 2
==> ОШИБКА: Произошел сбой в build().
Эта прграмма есть в AUR но она не работает с stm8 хотя должна.
Вы обрезали лог, так что ошибки компилятора не видно.
Однако, судя по boost-libs в зависимостях, видимо, пакет сломался после обновления этой библиотеки.
Тогда почему в не PKGBUILD все компилится?
Подглядел в sdcc-svn из AUR'a,
вот эта строчка решает проблему: sed -i 's|CC -E|CC -O2 -E|g' support/sdbinutils/libiberty/configure
она меняет
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
do
на
for CPP in "$CC -O2 -E" "$CC -O2 -E -traditional-cpp" "/lib/cpp"
do
Dmitriy_Kniazev
вот эта строчка решает проблему: sed -i 's|CC -E|CC -O2 -E|g' support/sdbinutils/libiberty/configure
я хз, но мне кажется заработало как раз не из за ентой строчки, ибо добавление оптимизации не может помочь при избавлении от ошибок
Dmitriy_Kniazev
Подглядел в sdcc-svn из AUR'a,
А где брался PKGBUILD для sdcc?
С 7 января и он в AUR.
И уже с упомянутым sed...
Да ещё и с патчем
# Fix build with glibc 2.20
~
~
safocl
Dmitriy_Kniazev
вот эта строчка решает проблему: sed -i 's|CC -E|CC -O2 -E|g' support/sdbinutils/libiberty/configure
я хз, но мне кажется заработало как раз не из за ентой строчки, ибо добавление оптимизации не может помочь при избавлении от ошибок
Почему не может?

Видел, например, пакеты, которые не собираются при многопоточной компиляции.
sirocco
Почему не может?
да хатя бы потому чо
CFLAGS="-march=native -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="$CFLAGS"
уже есть в файле /etc/makepkg.conf

при чем чел явно жеж указал чо если ручками собирать все норм, он ничо не правил ручками... так чо енто явно не из-за ентого мамента
 
Зарегистрироваться или войдите чтобы оставить сообщение.