Перейти до

Проблемы сборки stg-2.409-rc1 в FreeBSD 10.2 amd64


Рекомендованные сообщения

# uname -a
FreeBSD vm-10-1.domain.com 10.2-STABLE FreeBSD 10.2-STABLE #0: Sun Aug 23 07:02:19 EEST 2015     root@vm-10-1.domain.com:/usr/obj/usr/src/sys/vm-10.2-4  amd64

 

 

# cd /usr/local/ubinstaller/distfiles/stg-2.409-rc1/projects/stargazer

 

Во всех файлах build правки вида:

113c113
<     CC=/usr/bin/clang
---
>     CC=gcc
118c118
<     CXX=/usr/bin/clang++
---
>     CXX=g++

для использования clang

 

# ./build

 

...
/usr/bin/clang++ -I/usr/local/include -DARCH_LE -DNDEBUG -DFREE_BSD5 -I ../../stglibs/scriptexecuter.lib/include -I ../../stglibs/dotconfpp.lib/include -I ../../stglibs/logger.lib/include -I ../../stglibs/common.lib/include -I ../../include -c users_impl.cpp
/usr/bin/clang++ admin_impl.o admins_impl.o corps_impl.o eventloop.o main.o pidfile.o plugin_runner.o plugin_mgr.o settings_impl.o services_impl.o stg_timer.o store_loader.o tariff_impl.o tariffs_impl.o traffcounter_impl.o user_impl.o user_property.o users_impl.o -L/usr/local/lib -Wl,-E -L ../../stglibs/scriptexecuter.lib -L ../../stglibs/dotconfpp.lib -L ../../stglibs/logger.lib -L ../../stglibs/common.lib -lstgscriptexecuter -lstgdotconfpp -lstglogger -lstgcommon -lpthread -liconv -lc -o stargazer
/usr/bin/ld: cannot find -liconv
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [stargazer] Ошибка 1


Где искать библиотеку iconv?

В системе, вроде, есть:

# ll /usr/lib/*iconv*
-r--r--r--  1 root  wheel  7380 23 авг 07:03 /usr/lib/libkiconv.a
lrwxr-xr-x  1 root  wheel    19 23 авг 07:03 /usr/lib/libkiconv.so@ -> /lib/libkiconv.so.4
-r--r--r--  1 root  wheel  7932 23 авг 07:03 /usr/lib/libkiconv_p.a

Или еще ставить converters/libiconv ?

Відредаговано supportod
Ссылка на сообщение
Поделиться на других сайтах

# uname -a

FreeBSD vm-10-1.domain.com 10.2-STABLE FreeBSD 10.2-STABLE #0: Sun Aug 23 07:02:19 EEST 2015     root@vm-10-1.domain.com:/usr/obj/usr/src/sys/vm-10.2-4  amd64

 

 

# cd /usr/local/ubinstaller/distfiles/stg-2.409-rc1/projects/stargazer

 

Во всех файлах build правки вида:

113c113
<     CC=/usr/bin/clang
---
>     CC=gcc
118c118
<     CXX=/usr/bin/clang++
---
>     CXX=g++

 

Вам бы за такие правки руки-то пооткручивать. CC/CXX - это переменные окружения. Их можно изменять без внесения правок в скрипты.

 

для использования clang

 

# ./build

...
/usr/bin/clang++ -I/usr/local/include -DARCH_LE -DNDEBUG -DFREE_BSD5 -I ../../stglibs/scriptexecuter.lib/include -I ../../stglibs/dotconfpp.lib/include -I ../../stglibs/logger.lib/include -I ../../stglibs/common.lib/include -I ../../include -c users_impl.cpp
/usr/bin/clang++ admin_impl.o admins_impl.o corps_impl.o eventloop.o main.o pidfile.o plugin_runner.o plugin_mgr.o settings_impl.o services_impl.o stg_timer.o store_loader.o tariff_impl.o tariffs_impl.o traffcounter_impl.o user_impl.o user_property.o users_impl.o -L/usr/local/lib -Wl,-E -L ../../stglibs/scriptexecuter.lib -L ../../stglibs/dotconfpp.lib -L ../../stglibs/logger.lib -L ../../stglibs/common.lib -lstgscriptexecuter -lstgdotconfpp -lstglogger -lstgcommon -lpthread -liconv -lc -o stargazer
/usr/bin/ld: cannot find -liconv
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [stargazer] Ошибка 1

Где искать библиотеку iconv?

В системе, вроде, есть:

# ll /usr/lib/*iconv*
-r--r--r--  1 root  wheel  7380 23 авг 07:03 /usr/lib/libkiconv.a
lrwxr-xr-x  1 root  wheel    19 23 авг 07:03 /usr/lib/libkiconv.so@ -> /lib/libkiconv.so.4
-r--r--r--  1 root  wheel  7932 23 авг 07:03 /usr/lib/libkiconv_p.a
Или еще ставить converters/libiconv ?

 

В системе вроде нет. libkiconv отнюдь не libiconv.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
Вам бы за такие правки руки-то пооткручивать. CC/CXX - это переменные окружения. Их можно изменять без внесения правок в скрипты.

 

Не суди́те, да не судимы будете.  (с)Евангелие от Матфея. Глава 7, стих 1

 

Как правильно переобозначить эти переменные?

В /etc/make.conf ?

 

Или так?

 

# env CC=clang CXX=clang++ sh build

Відредаговано supportod
Ссылка на сообщение
Поделиться на других сайтах

 

Вам бы за такие правки руки-то пооткручивать. CC/CXX - это переменные окружения. Их можно изменять без внесения правок в скрипты.

 

Не суди́те, да не судимы будете.  (с)Евангелие от Матфея. Глава 7, стих 1

 

Как правильно переобозначить эти переменные?

В /etc/make.conf ?

 

Или так?

 

# env CC=clang CXX=clang++ sh build

 

Установка сервера. (с) Официальная документация от madf. Глава 3, раздел 3.1

 

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

Відредаговано jcomm
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

 

 

Вам бы за такие правки руки-то пооткручивать. CC/CXX - это переменные окружения. Их можно изменять без внесения правок в скрипты.

 

Не суди́те, да не судимы будете.  (с)Евангелие от Матфея. Глава 7, стих 1

 

Как правильно переобозначить эти переменные?

В /etc/make.conf ?

 

Или так?

 

# env CC=clang CXX=clang++ sh build

 

Установка сервера. (с) Официальная документация от madf. Глава 3, раздел 3.1

 

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

 

 

Ключи сборки и переменные окружения немного разные вещи и в разных местах системы определяются.

В данном разделе только про флаги компилятора.

А make  файл в каком-то обозримом будущем предвидится?

Відредаговано supportod
Ссылка на сообщение
Поделиться на других сайтах

...

А make  файл в каком-то обозримом будущем предвидится?

Если имеется в виду пакет для FreeBSD, то я не мейнтейнер.
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Благодарю всем отписавшимся. Помогло.

# Обновляем pkg
make BATCH=yes reinstall -C /usr/ports/ports-mgmt/pkg
# устанавливаем libiconv
make WITH="DOCS ENCODINGS" BATCH=yes reinstall -C /usr/ports/converters/libiconv

cd /usr/local/ubinstaller/distfiles/stg-2.409-rc1/projects/stargazer						
env CC=clang CXX=clang++ sh build
gmake
gmake install

 

# ldd /usr/sbin/stargazer
/usr/sbin/stargazer:
        libthr.so.3 => /lib/libthr.so.3 (0x800953000)
        libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x800b77000)
        libc.so.7 => /lib/libc.so.7 (0x800e71000)
        libc++.so.1 => /usr/lib/libc++.so.1 (0x80121d000)
        libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x8014dc000)
        libm.so.5 => /lib/libm.so.5 (0x8016f8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801921000)

 

 

P.S. Опции -V  и -v  не работают :( Не возможно посмотреть версию программы и настройки сборки :(

Відредаговано supportod
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...