Тогда почему в не 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
Всем доброго дня.
Сталкнулся с непонятным поведением сборщика пакетов, точнее функции 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 хотя должна.
а не могли сами локали слитеть, проверь командой locale -a есть ли что то из этого
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
На здоровье).
Попробуй так(var-переменная):
var=$(wget -4 -qO- icanhazip.com);wget -qO- "http://tb.netassist.ua/autochangeip.php?l=login&p=pass&ip=""$var"
Просмотри /home/user/.local/ и /home/user/.local/applications
vasek Большое Спасибо.
vasek
Но, думаю, что разработчики зря это делать не будут, да и не советуют это делать, если не понимаешь сути

vasek Спасибо за разъяснение, а как вы поступаете? я пишу небольшие приложения для себя на qt для облегчения некоторых процессов, не хотелось для запуска этих приложений каждый раз запускать терминал(тогда просто теряется смысл в этих приложениях). Один вариант я вижу в создании ярлыков для них, но может есть более красивое решение.
valentoss78
Дима, вы просто такой вопрос задали, что....
у меня к примеру, было что типа, вася, удали gcc и установи gcc multilib, не знаю зачем, но моей операционнке он был необходим, через Yoaourt, я так и оставил, gcc multilib, а не просто gcc

Честно не знаю как объяснить мою проблему, тут она описана другим человеком на англ.https://unix.stackexchange.com/questions/348983/gcc-g-compiles-code-to-shared-library-instead-of-executable

cucullus
добавьте LDFLAGS=-no-pie
Спасибо попробую, это в makefile если я не ошибаюсь.
Всем привет.
С некоторых пор, программы на с++ после компиляции определяются системой не как исполняемые файлы а как разделяемые библиотеки,
из-за этого запуск по двойному щелчку мыши не происходит, требует выбрать приложение для запуска этого файла, права -rwxr-xr-x.
Из терминала запускается как и раньше ./programma.
Вопрос как с этим бороться.