SAGA для Wheezy не собирается

Вопросы и ответы по ГИС SAGA
Ответить
Аватара пользователя
rhot
Гуру
Сообщения: 1681
Зарегистрирован: 25 янв 2011, 17:50
Статьи: 1
Репутация: 180
Ваше звание: доктор
Откуда: Архангельск

SAGA для Wheezy не собирается

Сообщение rhot » 08 авг 2013, 22:46

Не могу собрать SAGA 2.0.8 на Debian 7.0 Wheezy.
На этапе make получаю:
выводShow
make all-recursive
make[1]: Entering directory `/home/rhot/compilation/saga-2.0.8'
Making all in .
make[2]: Entering directory `/home/rhot/compilation/saga-2.0.8'
make[2]: Leaving directory `/home/rhot/compilation/saga-2.0.8'
Making all in src
make[2]: Entering directory `/home/rhot/compilation/saga-2.0.8/src'
Making all in saga_core
make[3]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core'
Making all in saga_api
make[4]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_api'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_api'
Making all in saga_odbc
make[4]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_odbc'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_odbc'
Making all in saga_gdi
make[4]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_gdi'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_gdi'
Making all in saga_cmd
make[4]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd'
Making all in man
make[5]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/man'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/man'
make[5]: Entering directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd'
/bin/bash ../../../libtool --tag=CXX --mode=link g++ -fPIC `wx-config --unicode=yes --cxxflags` -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -I.. -D"MODULE_LIBRARY_PATH=\"/home/rhot/apps/lib/saga\"" -D_SAGA_UNICODE -g -O2 -fPIC `wx-config --unicode=yes --libs` -lm -o saga_cmd callback.o module_library.o saga_cmd.o ../saga_api/libsaga_api.la
libtool: link: g++ -fPIC -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -I.. -DMODULE_LIBRARY_PATH=\"/home/rhot/apps/lib/saga\" -D_SAGA_UNICODE -g -O2 -fPIC -pthread -o .libs/saga_cmd callback.o module_library.o saga_cmd.o -L/usr/lib/x86_64-linux-gnu -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8 -lm ../saga_api/.libs/libsaga_api.so -pthread
saga_cmd.o: In function `Error_Library(wchar_t const*)':
/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:340: undefined reference to `SG_Translate(wchar_t const*)'
/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:375: undefined reference to `SG_Translate(wchar_t const*)'
/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:350: undefined reference to `SG_Translate(wchar_t const*)'
/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:354: undefined reference to `SG_Translate(wchar_t const*)'
/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:368: undefined reference to `SG_Translate(wchar_t const*)'
saga_cmd.o:/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd/saga_cmd.cpp:346: more undefined references to `SG_Translate(wchar_t const*)' follow
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_MetaData::Add_Child(CSG_String const&, char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_String::AfterFirst(char) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_MetaData::Load(CSG_String const&, char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Bytes::CSG_Bytes(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_String::BeforeFirst(char) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Data_Object::Save_MetaData(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_String::operator=(char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_MetaData::Save(CSG_String const&, char const*) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Table_Record::Set_Value(int, char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `SG_File_Exists(char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Data_Object::Set_Name(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `SG_File_Make_Path(char const*, char const*, char const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Translator::Get_Translation(wchar_t const*, bool) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `SG_File_Get_Name(char const*, bool)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Bytes::Create(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Translator::Get_Translation(wchar_t const*, CSG_String&) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Data_Object::Set_File_Name(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Data_Object::Load_MetaData(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_File::Printf(char const*, ...)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_Data_Object::Set_Description(wchar_t const*)'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_String::AfterLast(char) const'
../saga_api/.libs/libsaga_api.so: undefined reference to `CSG_String::Format(char const*, ...)'
collect2: error: ld returned 1 exit status
make[5]: *** [saga_cmd] Error 1
make[5]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core/saga_cmd'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src/saga_core'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rhot/compilation/saga-2.0.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rhot/compilation/saga-2.0.8'
make: *** [all] Error 2
Самая свежая SAGA 2.1 вообще не дружит с Debian: скрипт configure.in написан для autoconf 1.3.7 в то, время как актуальная версия в дебиане 2.69.

Куда копать? Реально вообще поставить SAGA на Debian Wheezy не из исходников? (Репозитории sid не предлагать, т.к. SAGA оттуда тянет за собой ещё и обновления libc6)
Последний раз редактировалось rhot 12 авг 2013, 22:17, всего редактировалось 1 раз.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5112
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 749
Ваше звание: званий не имею
Откуда: Москва

Re: SAGA для Wheezy не собирается

Сообщение Александр Мурый » 09 авг 2013, 14:26

Собрал самую свежую SAGA 2.1 из SVN. Никакие сборочные утилиты оказались ни при чём, дело в версии wxWidgets (об этом подробнее здесь).

-- Вначале собираем wxWidgets 2.9.5 (архив с исходниками). Там всё стандартно (./configure, make, make install), ставил в $HOME/bin (чтоб не путалось с системным). Компилировалось очень долго и мучительно. Не забываем добавить путь к библиотекам в LD_LIBRARY_PATH.

-- Далее перед сборкой SAGA нужно обязательно установить версию 2.9.5 для wx-config. Делаем это через механизм "update-alternatives":

Код: Выделить всё

# update-alternatives --install /usr/bin/wx-config wx-config /home/amuriy/bin/_src_/wxWidgets-2.9.5_bin/lib/wx/config/gtk2-unicode-2.9 100

Здесь "/home/amuriy/bin/_src_/wxWidgets-2.9.5_bin/lib/wx/config/gtk2-unicode-2.9" — полный путь к скрипту "gtk2-unicode-2.9" в составе свежесобранной wxWidgets 2.9.5.

Затем надо выбрать версию 2.9.5:

Код: Выделить всё

# update-alternatives --config wx-config
-- После этого собираем SAGA стандартно, как сказано здесь:

Код: Выделить всё

autoreconf -i
./configure
make 
make install
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1681
Зарегистрирован: 25 янв 2011, 17:50
Статьи: 1
Репутация: 180
Ваше звание: доктор
Откуда: Архангельск

Re: SAGA для Wheezy не собирается

Сообщение rhot » 09 авг 2013, 17:36

Это, конечно, костыль и долгий путь и проблему со стабильной SAGA 2.0.8 не решает.

К тому же, по предложенному решению процесс обвалился на этапе ./configure

Код: Выделить всё

checking for strtol... yes
checking for local include/lib path... none
        GUI and interactive modules will be built
        ODBC support will be built
        Building with OpenMP support using libgomp
        libharu was not found, pdf creation will be disabled
./configure: line 17399: syntax error near unexpected token `AX_PKG_SWIG'
./configure: line 17399: `AX_PKG_SWIG(1.3.17,,)'
Ревизия SAGA последняя

Код: Выделить всё

Path: saga-gis-code-0
URL: svn://svn.code.sf.net/p/saga-gis/code-0/trunk
Repository Root: svn://svn.code.sf.net/p/saga-gis/code-0
Repository UUID: 5852f345-3237-4a1a-914e-b28fb4781291
Revision: 1770
Node Kind: directory
Schedule: normal
Last Changed Author: reklov_w
Last Changed Rev: 1770
Last Changed Date: 2013-07-31 14:30:22 +0200 (Wed, 31 Jul 2013
wxWidgets перенаправил на 2.9.5

Код: Выделить всё

# update-alternatives --config wx-config
There are 3 choices for the alternative wx-config (providing /usr/bin/wx-config).

  Selection    Path                                                          Priority   Status
------------------------------------------------------------
  0            /usr/lib/x86_64-linux-gnu/wx/config/gtk2-unicode-release-2.8   288       auto mode
* 1            /home/rhot/apps/lib/wx/config/gtk2-unicode-2.9                 100       manual mode
  2            /usr/lib/x86_64-linux-gnu/wx/config/base-unicode-release-2.8   287       manual mode
  3            /usr/lib/x86_64-linux-gnu/wx/config/gtk2-unicode-release-2.8   288       manual mode
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Статьи: 7
Проекты: 2
Репутация: 261
Откуда: Москва

Re: SAGA для Wheezy не собирается

Сообщение Дмитрий Барышников » 09 авг 2013, 20:56

Похоже swig у вас старый.

Аватара пользователя
rhot
Гуру
Сообщения: 1681
Зарегистрирован: 25 янв 2011, 17:50
Статьи: 1
Репутация: 180
Ваше звание: доктор
Откуда: Архангельск

Re: SAGA для Wheezy не собирается

Сообщение rhot » 09 авг 2013, 21:40

у меня 2.0.7, разве это старый по сравнению с 1.3.17?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
rhot
Гуру
Сообщения: 1681
Зарегистрирован: 25 янв 2011, 17:50
Статьи: 1
Репутация: 180
Ваше звание: доктор
Откуда: Архангельск

Re: SAGA для Wheezy не собирается

Сообщение rhot » 12 авг 2013, 22:15

Не пойму в чём было дело. Но вероятнее всего, что я пропускал команду autoreconf -i

Код: Выделить всё

[user@localhost ~]$ aclocal
[user@localhost ~]$ autoheader
[user@localhost ~]$ libtoolize
[user@localhost ~]$ automake --add-missing
[user@localhost ~]$ autoconf
[user@localhost ~]$ autoreconf -i
[user@localhost ~]$ configure --enable-unicode
Я наивно полагал она не нужна. Сейчас всё собралось в самой свежей версии. :)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5112
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 749
Ваше звание: званий не имею
Откуда: Москва

Re: SAGA для Wheezy не собирается

Сообщение Александр Мурый » 12 авг 2013, 22:21

По идее, "autoreconf -i" заменяет всё остальное, написанное выше (до "./configure"). По крайней мере, у меня сработало и с одной этой командой.
Редактор материалов, модератор форума

Ответить

Вернуться в «SAGA»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость