Автор Тема: Eureka Doom Editor - ошибка в spec-файле  (Прочитано 12150 раз)

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Всем доброго времени суток!
Уже целые сутки бьюсь со сборкой в пакет редактора Eureka.

Программа сама собирается нормально, и даже из каталога build запускается.

Сдаётся мне, что я где-то проглядел какой-от макрос в спеке, ибо меня конкретно смущает вот этот отрывок:

Выполняется(%install): /bin/sh -e /home/arbars-alt/Programming/tmp/rpm-tmp.9549
+ umask 022
+ /bin/mkdir -p /home/arbars-alt/Programming/RPM/BUILD
+ cd /home/arbars-alt/Programming/RPM/BUILD
[b]+ /bin/chmod -Rf u+rwX -- /home/arbars-alt/Programming/tmp/eureka-buildroot[/b]
[b]+ :[/b]
[b]+ /bin/rm -rf -- /home/arbars-alt/Programming/tmp/eureka-buildroot[/b]
+ cd eureka-1.24-source
+ make 'INSTALL=/bin/install -p' install DESTDIR=/home/arbars-alt/Programming/tmp/eureka-buildroot
make: Entering directory `/home/arbars-alt/Programming/RPM/BUILD/eureka-1.24-source'
strip --strip-unneeded eureka

Полный вывод rpmbb
which: no ccache in (/usr/share/eterbuild/functions/commands:/home/arbars-alt/bin:/usr/lib/kf5/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games)
No ccache (from ccache package)
 $ nice rpmbuild '--define=_topdir /home/arbars-alt/Programming/RPM' --quiet --quiet '--define=_unpackaged_files_terminate_build 0' --quiet /home/arbars-alt/Programming/RPM/SPECS/eureka.spec -bb --target x86_64
Платформы для сборки: x86_64
Сборка для платформы x86_64
Выполняется(%prep): /bin/sh -e /home/arbars-alt/Programming/tmp/rpm-tmp.69943
+ umask 022
+ /bin/mkdir -p /home/arbars-alt/Programming/RPM/BUILD
+ cd /home/arbars-alt/Programming/RPM/BUILD
+ cd /home/arbars-alt/Programming/RPM/BUILD
+ rm -rf eureka-1.24-source
+ echo 'Source #0 (eureka-124-source.tar.gz):'
Source #0 (eureka-124-source.tar.gz):
+ /bin/gzip -dc /home/arbars-alt/Programming/RPM/SOURCES/eureka-124-source.tar.gz
+ /bin/tar -xf -
+ cd eureka-1.24-source
+ /bin/chmod -c -Rf u+rwX,go-w .
+ exit 0
Выполняется(%build): /bin/sh -e /home/arbars-alt/Programming/tmp/rpm-tmp.69943
+ umask 022
+ /bin/mkdir -p /home/arbars-alt/Programming/RPM/BUILD
+ cd /home/arbars-alt/Programming/RPM/BUILD
+ cd eureka-1.24-source
+ '[' -n '' ']'
+ NPROCS=8
+ make -j8 'OPTIMISE=-pipe -Wall -g -O2'
make: Entering directory `/home/arbars-alt/Programming/RPM/BUILD/eureka-1.24-source'
mkdir -p obj_linux
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_basis.o -c src/e_basis.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_checks.o -c src/e_checks.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_commands.o -c src/e_commands.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_cutpaste.o -c src/e_cutpaste.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_hover.o -c src/e_hover.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_linedef.o -c src/e_linedef.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_main.o -c src/e_main.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_objects.o -c src/e_objects.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_path.o -c src/e_path.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_sector.o -c src/e_sector.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_things.o -c src/e_things.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/e_vertex.o -c src/e_vertex.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/im_color.o -c src/im_color.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/im_img.o -c src/im_img.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/lib_adler.o -c src/lib_adler.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/lib_file.o -c src/lib_file.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/lib_tga.o -c src/lib_tga.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/lib_util.o -c src/lib_util.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/main.o -c src/main.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_bitvec.o -c src/m_bitvec.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_config.o -c src/m_config.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_editlump.o -c src/m_editlump.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_events.o -c src/m_events.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_files.o -c src/m_files.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_game.o -c src/m_game.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_keys.o -c src/m_keys.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_loadsave.o -c src/m_loadsave.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_nodes.o -c src/m_nodes.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_select.o -c src/m_select.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_strings.o -c src/m_strings.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/m_testmap.o -c src/m_testmap.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/r_grid.o -c src/r_grid.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/r_render.o -c src/r_render.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/sys_debug.o -c src/sys_debug.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_about.o -c src/ui_about.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_browser.o -c src/ui_browser.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_canvas.o -c src/ui_canvas.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_default.o -c src/ui_default.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_dialog.o -c src/ui_dialog.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_editor.o -c src/ui_editor.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_file.o -c src/ui_file.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_hyper.o -c src/ui_hyper.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_infobar.o -c src/ui_infobar.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_linedef.o -c src/ui_linedef.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_menu.o -c src/ui_menu.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_misc.o -c src/ui_misc.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_nombre.o -c src/ui_nombre.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_pic.o -c src/ui_pic.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_prefs.o -c src/ui_prefs.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_replace.o -c src/ui_replace.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_sector.o -c src/ui_sector.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_scroll.o -c src/ui_scroll.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_sidedef.o -c src/ui_sidedef.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_thing.o -c src/ui_thing.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_tile.o -c src/ui_tile.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_vertex.o -c src/ui_vertex.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/ui_window.o -c src/ui_window.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/w_loadpic.o -c src/w_loadpic.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/w_texture.o -c src/w_texture.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/w_wad.o -c src/w_wad.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/bsp_level.o -c src/bsp_level.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/bsp_node.o -c src/bsp_node.cc
g++ -pipe -Wall -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -D_THREAD_SAFE -D_REENTRANT -o obj_linux/bsp_util.o -c src/bsp_util.cc
g++ obj_linux/e_basis.o obj_linux/e_checks.o obj_linux/e_commands.o obj_linux/e_cutpaste.o obj_linux/e_hover.o obj_linux/e_linedef.o obj_linux/e_main.o obj_linux/e_objects.o obj_linux/e_path.o obj_linux/e_sector.o obj_linux/e_things.o obj_linux/e_vertex.o obj_linux/im_color.o obj_linux/im_img.o obj_linux/lib_adler.o obj_linux/lib_file.o obj_linux/lib_tga.o obj_linux/lib_util.o obj_linux/main.o obj_linux/m_bitvec.o obj_linux/m_config.o obj_linux/m_editlump.o obj_linux/m_events.o obj_linux/m_files.o obj_linux/m_game.o obj_linux/m_keys.o obj_linux/m_loadsave.o obj_linux/m_nodes.o obj_linux/m_select.o obj_linux/m_strings.o obj_linux/m_testmap.o obj_linux/r_grid.o obj_linux/r_render.o obj_linux/sys_debug.o obj_linux/ui_about.o obj_linux/ui_browser.o obj_linux/ui_canvas.o obj_linux/ui_default.o obj_linux/ui_dialog.o obj_linux/ui_editor.o obj_linux/ui_file.o obj_linux/ui_hyper.o obj_linux/ui_infobar.o obj_linux/ui_linedef.o obj_linux/ui_menu.o obj_linux/ui_misc.o obj_linux/ui_nombre.o obj_linux/ui_pic.o obj_linux/ui_prefs.o obj_linux/ui_replace.o obj_linux/ui_sector.o obj_linux/ui_scroll.o obj_linux/ui_sidedef.o obj_linux/ui_thing.o obj_linux/ui_tile.o obj_linux/ui_vertex.o obj_linux/ui_window.o obj_linux/w_loadpic.o obj_linux/w_texture.o obj_linux/w_wad.o obj_linux/bsp_level.o obj_linux/bsp_node.o obj_linux/bsp_util.o -o eureka -L/usr/X11R6/lib -lfltk_images -lfltk_gl -lfltk -lX11 -lXext -lXft -lfontconfig -lXinerama -lpng -ljpeg -lGL -lz -lm
make: Leaving directory `/home/arbars-alt/Programming/RPM/BUILD/eureka-1.24-source'
+ exit 0
Выполняется(%install): /bin/sh -e /home/arbars-alt/Programming/tmp/rpm-tmp.9549
+ umask 022
+ /bin/mkdir -p /home/arbars-alt/Programming/RPM/BUILD
+ cd /home/arbars-alt/Programming/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /home/arbars-alt/Programming/tmp/eureka-buildroot
+ :
+ /bin/rm -rf -- /home/arbars-alt/Programming/tmp/eureka-buildroot
+ cd eureka-1.24-source
+ make 'INSTALL=/bin/install -p' install DESTDIR=/home/arbars-alt/Programming/tmp/eureka-buildroot
make: Entering directory `/home/arbars-alt/Programming/RPM/BUILD/eureka-1.24-source'
strip --strip-unneeded eureka
install -o root -m 755 eureka /home/arbars-alt/Programming/tmp/eureka-buildroot/usr/local/bin/
install: target '/home/arbars-alt/Programming/tmp/eureka-buildroot/usr/local/bin/' is not a directory: No such file or directory
make: *** [install] Error 1
make: Leaving directory `/home/arbars-alt/Programming/RPM/BUILD/eureka-1.24-source'
ошибка: Неверный код возврата из /home/arbars-alt/Programming/tmp/rpm-tmp.9549 (%install)


Ошибки сборки пакетов:
    Неверный код возврата из /home/arbars-alt/Programming/tmp/rpm-tmp.9549 (%install)

!!!!!!!! ERROR !!!!!!!
Error in rpmbb: Build failed with /home/arbars-alt/Programming/RPM/SPECS/eureka.spec
Текст спека (взял готовый из Магеевского пакета и причесал зависимости. Да, понимаю, нехорошо чужие спеки тискать, но я не волшебник, а только учусь 8-| ):
%define oversion 124

Name: eureka
Version: 1.24
Release: alt1
Summary: A cross-platform map editor for the classic DOOM games
Group: Editors
License: GPLv2
Url: http://eureka-editor.sourceforge.net/
Packager: Arbars Zagadkin <ubuntigroid@mail.ru>

Source: http://sourceforge.net/projects/eureka-editor/files/Eureka/%version/%name-%oversion-source.tar.gz

# Automatically added by buildreq on Thu Apr 18 2019
# optimized out: fontconfig fontconfig-devel libGL-devel libX11-devel libcloog-isl4 libstdc++-devel python-base python-modules python3 python3-base xorg-xproto-devel zlib-devel
BuildRequires: gcc-c++ libXext-devel libXft-devel libXinerama-devel libfltk-devel libjpeg-devel libnss-role libpng-devel python3-module-yieldfrom

%description
Eureka is a cross-platform map editor for the classic DOOM games.

It started when the ported the Yadex editor to a proper GUI toolkit, namely
FLTK, and implemented a system for multi-level Undo / Redo. These and other
features have required rewriting large potions of the existing code, and adding
lots of new code too. Eureka is now an independent program with its own
work-flow and its own quirks.

%prep
%setup -n %name-%version-source

 
%build
%make_build OPTIMISE="%optflags"

%install
%makeinstall_std

%files
%doc AUTHORS.txt CHANGES.txt README.txt TODO.txt docs/*
%doc GPL.txt
%_bindir/%name
%_datadir/%name/
%_desktopdir/%name.desktop
%_pixmapsdir/%name.xpm
%_man6dir/%name.6.*

%changelog
* Thu Apr 18 2019 Arbars Zagadkin <ubuntigroid@mail.ru> 1.24-alt1
- initial build for ALT Sisyphus

* Sun Sep 23 2018 umeabot <umeabot> 1.24-2.mga7
  (not released yet)
+ Revision: 1297633
- Mageia 7 Mass Rebuild

* Mon Aug 06 2018 daviddavid <daviddavid> 1.24-1.mga7
+ Revision: 1248377
- new version: 1.24
- rename and rediff Makefile patch

* Sun Jan 15 2017 daviddavid <daviddavid> 1.21-1.mga6
+ Revision: 1081851
- new version: 1.21
- rename and rebase Makefile patch

* Tue Jan 26 2016 daviddavid <daviddavid> 1.11-1.mga6
+ Revision: 927949
- new version: 1.11
- rename and rediff Makefile patch

* Mon Nov 09 2015 daviddavid <daviddavid> 1.07-1.mga6
+ Revision: 900022
- imported package eureka

« Последнее редактирование: 18.04.2019 06:31:12 от sb »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #1 : 18.04.2019 05:17:14 »
Двоеточие в скрипте это "пустой оператор (noop)", который ничего не делает и его вывод пустой. Он безобиден. Сборка спотыкается здесь:

install: target '/home/arbars-alt/Programming/tmp/eureka-buildroot/usr/local/bin/' is not a directory: No such file or directory
И вообще сборка какая-то странная у вас.
To moan or to solve -- that is the question!

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #2 : 18.04.2019 06:31:45 »
Топикстартеру на будущее: любые выводы консоли (а особенно то, что касается сборки пакетов) следует помещать в тег Код (#) для более удобного обзора участниками форума, а не под спойлер.

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #3 : 18.04.2019 10:16:34 »
Топикстартеру на будущее: любые выводы консоли (а особенно то, что касается сборки пакетов) следует помещать в тег Код (#) для более удобного обзора участниками форума, а не под спойлер.

Спасибо за пояснения, будем знать.

install: target '/home/arbars-alt/Programming/tmp/eureka-buildroot/usr/local/bin/' is not a directory: No such file or directory
Так и я о том же. Сейчас на свежую голову появились подозрения, что дело уже и в самом Makefile. По сути же спек творит то, что написано в мейке (если я вообще чего-то понимаю)?
Каталог, по идее, "удаляется" раньше времени...
Вот Makefile программы
#
#  --- Eureka Editor ---
#
#  Makefile for Unixy system-wide install
#

PROGRAM=eureka

# prefix choices: /usr  /usr/local  /opt
PREFIX=/usr/local

OBJ_DIR=obj_linux

# CXX=clang++-6.0

WARNINGS=-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
OPTIMISE=-O2 -std=c++03 -fno-strict-aliasing -fwrapv
STRIP_FLAGS=--strip-unneeded


#--- Internal stuff from here -----------------------------------

CXXFLAGS=$(OPTIMISE) $(WARNINGS) -D_THREAD_SAFE -D_REENTRANT

LDFLAGS=-L/usr/X11R6/lib

LIBS= \
     -lfltk_images -lfltk_gl -lfltk  \
     -lX11 -lXext -lXft -lfontconfig -lXinerama  \
     -lpng -ljpeg -lGL -lz -lm

DUMMY=$(OBJ_DIR)/zzdummy


# support for a non-standard install of FLTK
ifneq ($(FLTK_PREFIX),)
CXXFLAGS += -I$(FLTK_PREFIX)/include
LDFLAGS += -L$(FLTK_PREFIX)/lib -Wl,-rpath,$(FLTK_PREFIX)/lib
endif

# support for statically linking FLTK (no GL, local JPEG and PNG)
ifneq ($(FLTK_STATIC),)
LIBS= \
     -lfltk_images -lfltk  \
     -lfltk_png -lfltk_jpeg \
     -lX11 -lXext -lXft -lfontconfig -lXinerama \
     -lz -lm
endif


#----- Object files ----------------------------------------------

OBJS = \
$(OBJ_DIR)/e_basis.o   \
$(OBJ_DIR)/e_checks.o   \
$(OBJ_DIR)/e_commands.o  \
$(OBJ_DIR)/e_cutpaste.o  \
$(OBJ_DIR)/e_hover.o  \
$(OBJ_DIR)/e_linedef.o   \
$(OBJ_DIR)/e_main.o  \
$(OBJ_DIR)/e_objects.o  \
$(OBJ_DIR)/e_path.o  \
$(OBJ_DIR)/e_sector.o  \
$(OBJ_DIR)/e_things.o  \
$(OBJ_DIR)/e_vertex.o  \
$(OBJ_DIR)/im_color.o  \
$(OBJ_DIR)/im_img.o   \
$(OBJ_DIR)/lib_adler.o  \
$(OBJ_DIR)/lib_file.o  \
$(OBJ_DIR)/lib_tga.o   \
$(OBJ_DIR)/lib_util.o  \
$(OBJ_DIR)/main.o  \
$(OBJ_DIR)/m_bitvec.o  \
$(OBJ_DIR)/m_config.o  \
$(OBJ_DIR)/m_editlump.o  \
$(OBJ_DIR)/m_events.o  \
$(OBJ_DIR)/m_files.o  \
$(OBJ_DIR)/m_game.o  \
$(OBJ_DIR)/m_keys.o  \
$(OBJ_DIR)/m_loadsave.o  \
$(OBJ_DIR)/m_nodes.o  \
$(OBJ_DIR)/m_select.o  \
$(OBJ_DIR)/m_strings.o  \
$(OBJ_DIR)/m_testmap.o  \
$(OBJ_DIR)/r_grid.o  \
$(OBJ_DIR)/r_render.o  \
$(OBJ_DIR)/sys_debug.o \
$(OBJ_DIR)/ui_about.o  \
$(OBJ_DIR)/ui_browser.o  \
$(OBJ_DIR)/ui_canvas.o  \
$(OBJ_DIR)/ui_default.o  \
$(OBJ_DIR)/ui_dialog.o  \
$(OBJ_DIR)/ui_editor.o  \
$(OBJ_DIR)/ui_file.o  \
$(OBJ_DIR)/ui_hyper.o  \
$(OBJ_DIR)/ui_infobar.o  \
$(OBJ_DIR)/ui_linedef.o  \
$(OBJ_DIR)/ui_menu.o  \
$(OBJ_DIR)/ui_misc.o  \
$(OBJ_DIR)/ui_nombre.o  \
$(OBJ_DIR)/ui_pic.o  \
$(OBJ_DIR)/ui_prefs.o  \
$(OBJ_DIR)/ui_replace.o  \
$(OBJ_DIR)/ui_sector.o  \
$(OBJ_DIR)/ui_scroll.o  \
$(OBJ_DIR)/ui_sidedef.o  \
$(OBJ_DIR)/ui_thing.o  \
$(OBJ_DIR)/ui_tile.o   \
$(OBJ_DIR)/ui_vertex.o  \
$(OBJ_DIR)/ui_window.o  \
$(OBJ_DIR)/w_loadpic.o  \
$(OBJ_DIR)/w_texture.o  \
$(OBJ_DIR)/w_wad.o   \
\
$(OBJ_DIR)/bsp_level.o \
$(OBJ_DIR)/bsp_node.o \
$(OBJ_DIR)/bsp_util.o

$(OBJ_DIR)/%.o: src/%.cc
$(CXX) $(CXXFLAGS) -o $@ -c $<


#----- Targets -----------------------------------------------

all: $(DUMMY) $(PROGRAM)

clean:
rm -f $(PROGRAM) $(OBJ_DIR)/*.[oa]
rm -f ERRS LOG.txt update.log core core.*

$(PROGRAM): $(OBJS)
$(CXX) $^ -o $@ $(LDFLAGS) $(LIBS)

# this is used to create the OBJ_DIR directory
$(DUMMY):
mkdir -p $(OBJ_DIR)
@touch $@

stripped: all
strip $(STRIP_FLAGS) $(PROGRAM)

# note that DESTDIR is usually left undefined, and is mainly
# useful when making packages for Debian/RedHat/etc...

INSTALL_DIR=$(DESTDIR)$(PREFIX)/share/eureka

install: stripped
install -o root -m 755 $(PROGRAM) $(DESTDIR)$(PREFIX)/bin/
install -d $(INSTALL_DIR)/games
install -d $(INSTALL_DIR)/common
install -d $(INSTALL_DIR)/ports
rm -f $(INSTALL_DIR)/games/freedoom.ugh
install -o root -m 644 bindings.cfg $(INSTALL_DIR)/bindings.cfg
install -o root -m 644 defaults.cfg $(INSTALL_DIR)/defaults.cfg
install -o root -m 644 operations.cfg $(INSTALL_DIR)/operations.cfg
install -o root -m 644 misc/about_logo.png $(INSTALL_DIR)/about_logo.png
install -o root -m 644 games/*.* $(INSTALL_DIR)/games
install -o root -m 644 common/*.* $(INSTALL_DIR)/common
install -o root -m 644 ports/*.* $(INSTALL_DIR)/ports

full-install: install
xdg-desktop-menu  install --novendor misc/eureka.desktop
xdg-icon-resource install --novendor --size 32 misc/eureka.xpm

uninstall:
rm -v $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
rm -Rv $(INSTALL_DIR)

full-uninstall: uninstall
xdg-desktop-menu  uninstall --novendor misc/eureka.desktop
xdg-icon-resource uninstall --novendor --size 32 eureka

.PHONY: all clean stripped

.PHONY: install uninstall full-install full-uninstall

#--- editor settings ------------
# vi:ts=8:sw=8:noexpandtab

Update: alien'ом из тарболла собралось и установилось всё просто замечательно, с первого же раза. Всё-таки кривоватые у меня руки, буду исправлять.
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #4 : 18.04.2019 10:46:09 »
В Makefile используется переменная PREFIX, которая в spec не переопределяется. Попробуйте так:
%makeinstall_std PREFIX=%_prefix

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #5 : 18.04.2019 11:44:11 »
В Makefile используется переменная PREFIX, которая в spec не переопределяется.
Попробовал. Нет, не получается, временный каталог сборки сносится до начала сборки пакета, на что система и жалуется - "сама себе хвост откусывает".

Попробовал просто вместо макросов попросить собрать пакет - пытается залезть в /local/usr/bin, куда ему нельзя.

Сейчас колдую со смесью типа %install
mkdir -p %buildroot%_prefix
%makeinstall_std  PREFIX=%_prefix
посмотрим, что получится.

===================================

Итак, ура! Пакетик собрался!
Собрал командой rpmbuild -ba
Исправленный спек:
%define oversion 124

Name: eureka
Version: 1.24
Release: alt1
Summary: A cross-platform map editor for the classic DOOM games
Group: Editors
License: GPLv2
Url: http://eureka-editor.sourceforge.net/
Packager: Arbars Zagadkin <ubuntigroid@mail.ru>

Source: http://sourceforge.net/projects/eureka-editor/files/Eureka/%version/%name-%version-source.tar.gz

# Automatically added by buildreq on Thu Apr 18 2019
# optimized out: fontconfig fontconfig-devel libGL-devel libX11-devel libcloog-isl4 libstdc++-devel python-base python-modules python3 python3-base xorg-xproto-devel zlib-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXinerama-devel
BuildRequires: libfltk-devel
BuildRequires: libjpeg-devel
BuildRequires: libnss-role
BuildRequires: libpng-devel
BuildRequires: python3-module-yieldfrom

%description
Eureka is a cross-platform map editor for the classic DOOM games.

It started when the ported the Yadex editor to a proper GUI toolkit, namely
FLTK, and implemented a system for multi-level Undo / Redo. These and other
features have required rewriting large potions of the existing code, and adding
lots of new code too. Eureka is now an independent program with its own
work-flow and its own quirks.

%prep
%setup -n %name-%version-source

 
%build
%make_build OPTIMISE="%optflags"


%install
mkdir -p %buildroot%prefix



%files
%doc AUTHORS.txt CHANGES.txt README.txt TODO.txt docs/*
%doc GPL.txt

%changelog
* Thu Apr 18 2019 Arbars Zagadkin <ubuntigroid@mail.ru> 1.24-alt1
- initial build for ALT Sisyphus

* Sun Sep 23 2018 umeabot <umeabot> 1.24-2.mga7
  (not released yet)
+ Revision: 1297633
- Mageia 7 Mass Rebuild

* Mon Aug 06 2018 daviddavid <daviddavid> 1.24-1.mga7
+ Revision: 1248377
- new version: 1.24
- rename and rediff Makefile patch

* Sun Jan 15 2017 daviddavid <daviddavid> 1.21-1.mga6
+ Revision: 1081851
- new version: 1.21
- rename and rebase Makefile patch

* Tue Jan 26 2016 daviddavid <daviddavid> 1.11-1.mga6
+ Revision: 927949
- new version: 1.11
- rename and rediff Makefile patch

* Mon Nov 09 2015 daviddavid <daviddavid> 1.07-1.mga6
+ Revision: 900022
- imported package eureka
« Последнее редактирование: 25.07.2019 15:47:46 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #6 : 25.07.2019 16:04:43 »
Продолжение марлезонского балета.

Собранные пакеты удалил, ибо мусор - рпм-ка - чисто с документацией ( а то, бинарник-то не собрался  ;-D)

А теперь серъёзно.
При попытке сборки бинарника компилятор выдаёт вот это:
/usr/bin/ld: obj_linux/ui_window.o: undefined reference to symbol 'XInternAtom'
/usr/lib64/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [eureka] Error 1
Итог одинаковый что при сборке пакета, что при компиляции прямо в каталоге.
Попытка добавить флаг с либой результатов не дал.
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #7 : 25.07.2019 18:16:43 »
Соблюдайте правильный порядок указания компоновки библиотек.
Андрей Черепанов (cas@)

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #8 : 25.07.2019 21:08:24 »
Соблюдайте правильный порядок указания компоновки библиотек.
Спасибо за совет!  ;-)
Нашлась причина как раз именно в этом направлении - автор забыл добавить  lX11 в список нужных библиотек Makefile.
Было так:
# general things needed by Eureka
CXXFLAGS += $(CXX_DIALECT)
LIBS += -lz -lm
А надо так:
# general things needed by Eureka
CXXFLAGS += $(CXX_DIALECT)
LIBS += -lz -lm -lX11
Линк на маячок, "подсветивший" решение: https://github.com/NanoComp/libctl/issues/1#issuecomment-46762382
Спойлер
По ходу поиска наткнулся на интереснейшую книжку на opennet'е... Почитаю на досуге

И что самое интересное - в Makefile из магеевского пакета такого косяка нету! То есть молча исправили, а автору проги не сказали... Вот редиски!
« Последнее редактирование: 25.07.2019 21:11:12 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #9 : 26.07.2019 01:06:52 »
Итак, чему я научился, пытаясь опакетить этот несчастный редактор, который за это время успел уйти на пенсию (главный разработчик отошёл от дел, сказал, чо будет фиксить серьёзные баги, но не более):

0. Не бойся спрашивать, за спрос не ударят в нос. Но будь готов к косвенному ответу, ибо старший знает, что лучшее решение то, до которого дошёл сам, а не верхом на чужой шее.
1. Перед тем, как спрашивать, погугли по форуму / GitHub / StackOverflow, может быть, кто-то уже спрашивал про решение похожей проблемы.
2. Не беги впереди паравоза, особенно с выкладыванием пакета. Поспешишь - людей насмешишь (а самому потом долго будет стыдно  8-| )
3. Перед тем, как изобретать велосипед, посмотри, нет ли где поблизости мотоцикла - на pkgs.org, например.
4. Перед тем, как сесть на мотоцикл, убедись в том, что его не придётся переделывать в "инвалидку"  :-D
5. А если придётся, то приготовься - пилить придётся долго.
6. Не бойся ошибок - не ошибается лишь тот, кто ничего не делает.

Спек (магеевский, причёсанный под альтовые макросы, с патчем для Makefile, который оттуда же), проверенный в Hasher
Name: eureka
Version: 1.24
Release: alt1
Summary: A cross-platform map editor for the classic DOOM games
Group: Editors
License: GPLv2
Url: http://eureka-editor.sourceforge.net/
Packager: Arbars Zagadkin <ubuntigroid@mail.ru>

Source: eureka-1.24-source.tar.gz
Patch0: eureka-1.24-Makefile.patch
# Automatically added by buildreq on Thu Apr 18 2019
# optimized out: fontconfig fontconfig-devel libGL-devel libX11-devel libcloog-isl4 libstdc++-devel python-base python-modules python3 python3-base xorg-xproto-devel
BuildRequires: gcc-c++
BuildRequires: binutils
BuildRequires: make
BuildRequires: zlib-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXinerama-devel
BuildRequires: libfltk-devel
BuildRequires: libjpeg-devel
BuildRequires: libnss-role
BuildRequires: libpng-devel
BuildRequires: python3-module-yieldfrom

%description
Eureka is a cross-platform map editor for the classic DOOM games.

It started when the ported the Yadex editor to a proper GUI toolkit, namely
FLTK, and implemented a system for multi-level Undo / Redo. These and other
features have required rewriting large potions of the existing code, and adding
lots of new code too. Eureka is now an independent program with its own
work-flow and its own quirks.

%prep
%setup -n %name-%version-source
%patch0 -p1 -b .eureka-1.24-Makefile

%build
%make_build OPTIMISE="%optflags"


%install
mkdir -p %buildroot%prefix
%makeinstall_std PREFIX=%_prefix

%files
%doc AUTHORS.txt CHANGES.txt README.txt TODO.txt GPL.txt docs/*
%_bindir/%name
%_datadir/%name/
%_datadir/applications/%name.desktop
%_datadir/pixmaps/%name.xpm
%_man6dir/%name.6.xz

%changelog
* Thu Apr 18 2019 Arbars Zagadkin <ubuntigroid@mail.ru> 1.24-alt1
- initial build for ALT Sisyphus
- getting the Makefile and patch from Mageia's package
- updating the sources

* Sun Sep 23 2018 umeabot <umeabot> 1.24-2.mga7
  (not released yet)
+ Revision: 1297633
- Mageia 7 Mass Rebuild

* Mon Aug 06 2018 daviddavid <daviddavid> 1.24-1.mga7
+ Revision: 1248377
- new version: 1.24
- rename and rediff Makefile patch

* Sun Jan 15 2017 daviddavid <daviddavid> 1.21-1.mga6
+ Revision: 1081851
- new version: 1.21
- rename and rebase Makefile patch

* Tue Jan 26 2016 daviddavid <daviddavid> 1.11-1.mga6
+ Revision: 927949
- new version: 1.11
- rename and rediff Makefile patch

* Mon Nov 09 2015 daviddavid <daviddavid> 1.07-1.mga6
+ Revision: 900022
- imported package eureka

Пакеты:
RPM: https://mega.nz/#!c4NQ1SYT!Nfc1LJc0ASk1OLuwjkA2DEbaNcUFZTygIdfLSTJ_xeE
SRPM: https://mega.nz/#!t9FSlaAZ!8xA4bNMneQPpHm4xpZbb4C0nATmeFlpp6V1KC78hsGQ
Debug-Info: https://mega.nz/#!gsNUwYAY!SJhQ1lwdNfkaAdAO7s4SyVvAEEVi0kuhwJh7mDXR13Y
« Последнее редактирование: 28.07.2019 06:13:10 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #10 : 26.07.2019 13:20:30 »
Новости с полей. Получил ответ от автора:
Цитировать
The "fltk-config" tool should automatically add the -lX11 library (when using "--ldflags" option). It does that here in Debian Linux, and I believe Fedora Linux is also ok, so it is strange that in your Linux distribution the "fltk-config --ldflags" command does not add it.
Ссылка на диалог: https://sourceforge.net/p/eureka-editor/discussion/general/thread/bff45a4439/?limit=25
То есть, пропущенные библиотеки должны при сборке бинарника добавляться утилитой fltk-config. В Debian, Ubuntu, Fedora она есть, а у нас, походу её нету, или она не включается. Дела становятся всё чудесатей и чудесатей...
« Последнее редактирование: 26.07.2019 13:26:30 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #11 : 26.07.2019 21:43:05 »
Да ладно?
/usr/bin/fltk-config    libfltk-devel

$ fltk-config --ldflags
-L/usr/lib64 -lfltk -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -ldl -lm -lX11
Андрей Черепанов (cas@)

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #12 : 26.07.2019 22:39:35 »
Да ладно?
/usr/bin/fltk-config    libfltk-devel

$ fltk-config --ldflags
-L/usr/lib64 -lfltk -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -ldl -lm -lX11

То есть всё-таки автор промограл... Или я затупил... Блин, я запутался >.<...

Так, вчитался в Makefile... По идее, перед сборкой библиотек программы сборщик должен прошуршать систему на наличие нужных либ. Но часть из них он не видит (или не хочет видеть), что и выливается в ошибки, подобные вышеописанной.
« Последнее редактирование: 26.07.2019 23:28:51 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #13 : 26.07.2019 23:51:16 »
Поэтому собирать нужно в хэшере, указывая только необходимые пакеты для сборки. В данном случае или недоуказали или кривой апстрим, что более вероятно. Нет, чтобы meson/cmake/autotools использовать для сборки. Нет, лепят свои велосипеды.
Андрей Черепанов (cas@)

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Eureka Doom Editor - ошибка в spec-файле
« Ответ #14 : 27.07.2019 00:05:59 »
Нет, чтобы meson/cmake/autotools использовать для сборки. Нет, лепят свои велосипеды.
И так в большей части опенсурса... Эх... Разозлиться, что ли, да научиться с cmake работать?
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения