gentoo.ru
rion-overlay
rion-overlay@conference.gentoo.ru
Среда, 13 октября 2010< ^ >
slepnoga установил(а) тему: Overlay rion http://code.google.com/p/rion-overlay || Документация по ебилдам : http://devmanual.gentoo.org || логи: http://marsoft.dyndns.info/cgr-calendar.php?room=rion-overlay
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:16] <qnikst> или тебе на конкретный тег, что выложен?
[00:01:11] <slepnoga> на автотулзыэ
[00:04:19] <qnikst> http://github.com/qnikst/kbdd/blob/v0.2/configure.ac http://github.com/qnikst/kbdd/blob/v0.2/Makefile.am http://github.com/qnikst/kbdd/blob/v0.2/src/Makefile.am http://github.com/qnikst/kbdd/blob/v0.2/src/dbus/Makefile.am
[00:15:26] <slepnoga> # FIXME: Replace `main' with a function in `-lX11':
AC_CHECK_LIB([X11], [XNextEvent], [X11_LIBS=[-lX11]], [AC_MSG_ERROR([libX11 not found])])
[00:15:41] <slepnoga> в архиве смотрели - навернякя есть макрос
[00:15:57] <slepnoga> AC_TYPE_PID_T
[00:15:59] <nah> zomg
[00:16:00] <slepnoga> глупо
[00:16:05] <slepnoga> STD же
[00:16:42] <slepnoga> AC_FUNC_FORK - ботан отжигаэ
[00:17:52] <slepnoga> PKG_CHECK_MODULES([GLIB], [glib-2.0], [], [AC_MSG_ERROR([Glib not found])]) а проверки самого пкгконфига нету
[00:19:02] <slepnoga> utom4te.cache configure Makefile.in в репке хранить не надо
[00:19:32] <slepnoga> nah: /
[00:19:34] <slepnoga> ?
[00:20:29] <nah> wut?
[00:20:52] nah autoconf так и не осилил
[00:21:28] nah изменил(а) имя на Котярка
[00:27:33] <qnikst> хм..
[00:27:55] <slepnoga> nah: а их никто кроме Бороды не освоил
[00:28:07] <slepnoga> кто то больше не освоил, кто то меньше
[00:28:08] <qnikst> т.е. это уже то из чего билдится, в master этих файлов нет
[00:28:18] <slepnoga> qnikst: ага
[00:28:31] <qnikst> т.к. мне ж надо tar с ними делать
[00:28:52] <qnikst> можно конечно need autoreconf,
[00:29:05] <qnikst> но тогда это только для генту будет адекватно вроде как
[00:29:08] <slepnoga> qnikst: http://www.gnu.org/software/autoconf-archive/The-Macros.html#The-Macros
[00:29:23] <slepnoga> qnikst: тар надо делать с конфигуре
[00:29:29] <qnikst> ну вот
[00:29:45] <qnikst> а на github тар делается по tag
[00:29:53] <qnikst> так что пришлось эти файлы добавить
[00:30:02] <qnikst> только в ветку versions
[00:30:40] <qnikst> так щас буду спрашивать по комментариям
[00:31:43] <qnikst> AC_TYPE_PID_T не нужно?
[00:32:12] <qnikst> или нужно проверить есть ли такой тип и если нету, то использовать другой в программе?
[00:33:29] <slepnoga> qnikst:  AC_STDC_HEADERS
[00:33:42] <slepnoga> oftware/autoconf/manual/autoconf.html#AC_005fHEADER_005fSTDC
[00:33:52] <slepnoga> http://www.gnu.org/software/autoconf/manual/autoconf.html#AC_005fHEADER_005fSTDC
[00:34:45] <slepnoga> Define pid_t to a suitable type, if standard headers do not define it.
This macro caches its result in the ac_cv_type_pid_t variable.
[00:34:54] <slepnoga> suitable type, if standard headers do not define it.
[00:35:39] <qnikst> хм.. это просто в configure.ac добавляется?
[00:37:20] winterheart вошёл(а) в комнату
[00:37:32] <slepnoga> что именно ?
[00:37:50] <qnikst> AC_STDC_HEADERS -> AC_HEADER_STDC This macro is obsolescent, as current systems have conforming header files. New programs need not use this macro.
[00:38:22] <slepnoga> да
[00:38:30] <qnikst> его не пользовать
[00:39:55] <slepnoga> который из ?
[00:40:02] <qnikst> оба
[00:40:19] <qnikst> AC_STDC_HEADERS ссылается на AC_HEADER_STDC
[00:40:24] <qnikst> а тог obsolescent
[00:40:27] <qnikst> тот
[00:41:33] <slepnoga> почему ссылается ?
[00:43:12] <qnikst> Macro: AC_STDC_HEADERS
    Replaced by AC_HEADER_STDC (see AC_HEADER_STDC).
[00:43:50] <qnikst> получается, таким образом что типы прове AC_TYPE_PID_T не лишены смысла
[00:44:20] <qnikst> а не
[00:45:13] <slepnoga> ./autoconf/oldnames.m4:AU_ALIAS([AC_STDC_HEADERS],      [AC_HEADER_STDC])
[00:45:14] <qnikst> slepnoga, а ваще насколько эти проверки полезны, просто можно и AC_TYPE_UINT32_T добавить
[00:46:37] <qnikst> так давай я попытаюсь понять какие ты увидел проблемы: 1).  AC_CHECK_LIB([X11], [XNextEvent], [X11_LIBS=[-lX11]], [AC_MSG_ERROR([libX11 not found])]) 2). AC_TYPE_PID_T  3).  AC_FUNC_FORK 4). проверка pkd-config
[00:46:53] <qnikst> самая понятная мне ошибка это 4
[00:47:31] <slepnoga> qnikst: адд PKG_PROG_PKG_CONFIG
[00:48:21] <slepnoga> AC_PROG_CC
AC_PROG_RANLIB
[00:48:33] <slepnoga> PKG_PROG_PKG_CONFIG
[00:48:36] <slepnoga> следом
[00:48:53] <qnikst> угу с этим разобрался
[00:49:06] <qnikst> далее 3). AC_FUNC_FORK
[00:49:19] <qnikst> тут ты думаешь, что это не имеет смысла т.к. есть везде?
[00:50:17] <qnikst> или нужно AC_CHECK_FUNCS(fork) ?
[00:50:29] <slepnoga> qnikst: 1) /usr/lib64/pkgconfig/x11.pc
[00:50:36] <slepnoga> ;-)
[00:50:44] <slepnoga> /usr/lib64/pkgconfig/x11-xcb.pc
[00:51:37] <qnikst> я плохо понимаю
[00:52:02] <slepnoga> есть файлеги для pkg-kонфига
[00:52:06] <slepnoga> для X11
[00:52:11] <slepnoga> и надо юзать их
[00:52:35] <slepnoga> AC_CHECK_LIB([X11], [XNextEvent], [X11_LIBS=[-lX11]], [AC_MSG_ERROR([libX11 not found])])
[00:52:45] <qnikst> аа
[00:52:47] <qnikst> ясно
[00:53:16] <slepnoga> ты хочешь проверить наличие декларации функции XNextEvent ?
[00:53:43] <slepnoga> X11_LIBS=[-lX11]] - как минимум не верно - надо через пкг-конфиг
[00:54:49] <slepnoga> qnikst: а форк - это не то, что ты думаешь
[00:54:52] <slepnoga> — Macro: AC_FUNC_FORK
This macro checks for the fork and vfork functions. If a working fork is found, define HAVE_WORKING_FORK. This macro checks whether fork is just a stub by trying to run it.
If vfork.h is found, define HAVE_VFORK_H. If a working vfork is found, define HAVE_WORKING_VFORK. Otherwise, define vfork to be fork for backward compatibility with previous versions of autoconf. This macro checks for several known errors in implementations of vfork and considers the system to not have a working vfork if it detects any of them. It is not considered to be an implementation error if a child's invocation of signal modifies the parent's signal handler, since child processes rarely change their signal handlers.
Since this macro defines vfork only for backward compatibility with previous versions of autoconf you're encouraged to define it yourself in new code:
          #ifndef HAVE_WORKING_VFORK
          # define vfork fork
          #endif
[00:55:38] <qnikst> т.е. я делаю PKG_CHECK_MODULES([X11],[],[],[AC_MSG_ERROR[]]) ?
[00:57:00] <qnikst> так а по п3. я просто в файле пишу #ifndef HAVE_WORKING_FORK \n error "aaaaa" #endif
[00:57:39] <slepnoga> qnikst: форк есть везде
[00:58:20] <slepnoga> и твой код как бы не зависит от реализации форка
[00:59:02] <qnikst> в общем-то да
[00:59:24] <qnikst> код правда daemon функцией умеет пользоваться, но она ж тоже через fork
[01:00:28] <slepnoga> а тут проверка: если есть форк -юзаем один код, если есть вфорк - другой
[01:01:14] qnikst углубился в маны по поводу надо ли мне это
[01:01:21] <qnikst> (vfork)
[01:02:32] <qnikst> понял, не нужно
[01:02:46] <qnikst> так.. т.е. я убираю AC_FUNC_FORK нафиг?
[01:02:48] <slepnoga> далее, AC_PROG_INSTALL тоже нету
[01:02:55] <slepnoga> традицыя , однака
[01:03:03] <slepnoga> надо же как то ставить
[01:03:06] <qnikst> добавил
[01:03:13] <qnikst> хм.. а оно ставилось и без :/
[01:03:56] <slepnoga> ну так оно у тебя же стояло
[01:04:08] <qnikst> ну я ж ебилд тестил
[01:04:24] <qnikst> он в ${D} поставил и раскидал куда надо всё
[01:04:48] <qnikst> я не спорю, что ты не прав, я просто удивляюсь и спрашиваю как так получилось
[01:05:02] <slepnoga> у тебя install уже был
[01:05:10] <slepnoga> просто его никто не проверял
[01:05:37] <slepnoga> добавить куда нибудь после проверки пкг-конфига
[01:06:42] <qnikst> т.е. я с git clean сделал autoreconf ;configure ;make ;make install
[01:06:51] <qnikst> ага, добавлю
[01:07:19] <slepnoga> еще, что тебе надо конкретно : : AC_CHECK_LIB или AC_SEARCH_LIBS
[01:07:55] <slepnoga> : AC_CHECK_LIB:Test whether the library library is available by trying to link a test program that calls function function with the library. function should be a function provided by the library. Use the base name of the library; e.g., to check for -lmp, use ‘mp’ as the library argument.
[01:08:10] <slepnoga> AC_SEARCH_LIBS Search for a library defining function if it's not already available. This equates to calling ‘AC_LINK_IFELSE([AC_LANG_CALL([], [function])])’ first with no libraries, then for each library listed in search-libs.
[01:09:28] <slepnoga> qnikst: и прочекай на http://www.gnu.org/software/autoconf/manual/autoconf.html#Function-Portability
[01:12:13] <slepnoga> и скажи, AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h unistd.h]) компил через гцц обязателен ?
[01:13:27] <qnikst> мне вобще нужно для pkg-config --cflags
[01:13:40] <qnikst> и pkg-config --libs
[01:13:57] <qnikst> (про dbus-glib, glib, x11)
[01:15:29] <slepnoga> вобщем AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h unistd.h]) выкинуть и заменить на AC_HEADER_STDC
[01:15:41] <slepnoga> AC_HEADER_STDC перенести повыше
[01:15:56] <slepnoga> а то смехотень
[01:16:14] <slepnoga> сначала чекаем флаги линковки иксов, а потом ищем сами иксы
[01:16:15] <slepnoga> :)
[01:17:03] <slepnoga> AC_ARG_ENABLE([dbus], - писал ботан - это сразу видно
[01:17:19] <slepnoga> у него явный питон головного мозга
[01:17:40] <slepnoga> незануленны и необявленные переменные - это круто
[01:17:58] <slepnoga> непосредственно перед AC_ARG_ENABLE([dbus]
[01:18:05] <qnikst> а как надо?
[01:18:13] <slepnoga> напиши  enableval=но
[01:18:15] <slepnoga> no*
[01:18:31] <slepnoga> oj
[01:18:33] <slepnoga> ой
[01:18:36] <slepnoga> ступил
[01:18:38] <slepnoga> сорри
[01:18:44] <slepnoga> не надо
[01:18:52] <slepnoga> сглючил :(
[01:20:35] <qnikst> http://dpaste.com/256996/ <- временное
[01:21:25] <qnikst> AC_TYPE_PID_T тоже закоментил
[01:21:33] <slepnoga> qnikst: мне кажатся, что если AC_ARG_ENABLE = NO , то зачем PKG_CHECK_MODULES([DBUSGLIB], [dbus-glib-1 >= 0.60], [], [AC_MSG_ERROR([Dbus-glib not found])]) ?
[01:21:51] <slepnoga> или так и надо и дбас в любом случе линкуется ?
[01:22:15] <qnikst> дбас должен только в случае ENABLE_DBUS линковаться
[01:23:49] <slepnoga> PKG_CHECK_MODULES([DBUSGLIB] - это не глиб ?
[01:24:01] <slepnoga> тфу, не дбас ?
[01:24:17] <qnikst> это glib-dbus
[01:24:24] <qnikst> который я пользую
[01:24:37] <slepnoga> ага
[01:24:39] <qnikst> в общем-то мне для программы только они нужны, а dbus формально нет
[01:26:07] <slepnoga> а config.h не используешь ?
[01:26:14] <qnikst> хороший вопрос
[01:26:28] <qnikst> я думал думал, что используется
[01:27:07] <slepnoga> а ты его написал ?
[01:27:16] <slepnoga> config.h.in
[01:27:24] <slepnoga> или сгенерил ?
[01:27:34] <qnikst> генерится
[01:27:44] <qnikst> config.h.in во всяком случае генерится
[01:27:45] <slepnoga> но в репке я его не вижу
[01:28:16] <slepnoga> AC_CONFIG_HEADERS(config.h) и где ?
[01:28:26] <slepnoga> он же пустой будет
[01:28:50] <qnikst> http://dpaste.com/257003/
[01:29:08] <slepnoga> мм, а где его инклюды в сорцы ? - как они сделаны ?
[01:29:45] <qnikst> #ifdef HAVE_CONFIG_H
#include "config.h"
#endif
[01:29:55] <qnikst> в src/kbdd.c
[01:30:06] <qnikst> и ещё где-то точно были
[01:30:24] winterheart вышел(а) из комнаты
[01:30:30] <qnikst> хотя можно логичнее сделать...
[01:30:38] <slepnoga> ага, и что из config.h ты юзаешь в сорцах ? :)
[01:30:45] <qnikst> у меня есть общий header
[01:30:52] <slepnoga> /* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
[01:30:53] <qnikst> ENABLE_DBUS хотя бы
[01:30:55] <slepnoga> как пример
[01:31:21] <qnikst> это config.h.in
[01:31:51] <slepnoga> давай запустимся ?
[01:32:36] <slepnoga> makefile.in покажи в kbdd / src
[01:32:46] <slepnoga> после autoreconf
[01:33:20] <slepnoga> или когда оно там генерилось
[01:35:26] <qnikst> сорри я наверное только завтра уже
[01:37:11] <slepnoga> ок
[02:01:38] qnikst вышел(а) из комнаты
[04:39:35] Котярка вышел(а) из комнаты
[04:49:06] slepnoga вышел(а) из комнаты
[04:49:42] nah вошёл(а) в комнату
[04:49:48] slepnoga вошёл(а) в комнату
[04:49:53] nah вышел(а) из комнаты
[05:55:36] slepnoga вышел(а) из комнаты
[07:54:25] nah вошёл(а) в комнату
[08:11:40] winterheart вошёл(а) в комнату
[08:27:30] nah вышел(а) из комнаты
[13:14:54] krigstask вошёл(а) в комнату
[13:41:12] Totktonada вышел(а) из комнаты
[13:41:23] Totktonada вошёл(а) в комнату
[14:31:27] slepnoga вошёл(а) в комнату
[16:06:00] slepnoga вышел(а) из комнаты
[17:06:46] winterheart вышел(а) из комнаты
[18:09:42] winterheart вошёл(а) в комнату
[18:17:18] slepnoga вошёл(а) в комнату
[18:43:48] slepnoga вышел(а) из комнаты
[18:45:08] slepnoga вошёл(а) в комнату
[19:23:30] slepnoga вышел(а) из комнаты
[20:42:39] winterheart вышел(а) из комнаты
[21:14:05] krigstask вышел(а) из комнаты: Logged out
[21:20:56] slepnoga вошёл(а) в комнату
[21:42:12] Totktonada вышел(а) из комнаты
[21:42:22] Totktonada вошёл(а) в комнату
[21:44:44] nah вошёл(а) в комнату
[22:32:15] slepnoga вышел(а) из комнаты
[23:06:44] qnikst вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!