Home
Objective Caml
ocaml@conference.jabber.ru
Воскресенье, 6 ноября 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | http://camlunity.ru/ (теперь с git доступом!) | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on | stdlib only? - ССЗБ
Конфигурация комнаты
Участники комнаты

GMT+3
[01:06:33] shaggie вышел(а) из комнаты
[01:34:50] gds вышел(а) из комнаты
[01:54:45] bobry вышел(а) из комнаты
[01:57:04] bobry вошёл(а) в комнату
[10:19:08] ermine вошёл(а) в комнату
[10:26:46] Kakadu вошёл(а) в комнату
[10:41:10] ygrek вошёл(а) в комнату
[10:44:55] arhibot вошёл(а) в комнату
[10:45:00] arhibot вышел(а) из комнаты
[11:04:26] gds вошёл(а) в комнату
[11:27:05] komar вышел(а) из комнаты: Replaced by new connection
[11:27:05] komar вошёл(а) в комнату
[11:46:13] ygrek вышел(а) из комнаты
[12:19:40] ygrek вошёл(а) в комнату
[13:09:44] f[x] вышел(а) из комнаты
[13:44:41] ermine пульнула lablqt и пробует собрать
[13:44:57] <ermine> облом-с
[13:45:04] <Kakadu> ermine: угу
[13:45:37] <Kakadu> крайзис так сказать
[13:47:27] <ermine> не, пока что обычный забытый путь к инклюду
[13:47:50] <ermine> теперь другой облом
[13:48:47] <ermine> какой-то camlobj
[13:48:52] <Kakadu> лучше собери то что в папочке inher
[13:50:07] <ermine> если бы оно там собиралось
[13:50:21] <Kakadu> а там что не так?
[13:51:39] <ermine> headers.h:2:26: error: QtCore/QObject: No such file or directory
[13:52:03] <Kakadu> ну да. это инклуды
[13:52:21] <Kakadu> ну да, я долбоеб
[13:52:31] <Kakadu> хотя не
[13:53:39] <ermine> там путь из pkg-config подставляется
[13:53:42] <ermine> щас проверю
[13:53:51] Kakadu реквестирует pkg-config для инклудов
[13:54:38] <ermine> а
[13:54:46] <ermine> это надо в п++
[13:54:58] <Kakadu> pkg-config --cflas QtGui
[13:55:06] <ermine> надо добавлять параметр -x cpp
[13:55:39] <Kakadu> короче я хз как
[13:55:53] <Kakadu> у меня кризис энтузиазма
[13:56:04] <ermine> -ccopt -x -ccopt cpp
[13:56:34] <ermine> инклюд же плюсатый, а в gcc не бывает без .h
[13:57:06] <Kakadu> всё бывает
[13:57:13] <ermine> тьфу, там же и сам g++ вызывается
[13:58:30] <ermine> g++ -c -g -O5 -fno-inline  -I `ocamlc -where` -I . -I /usr/include/qt4 -fpic AA.
[13:58:37] <ermine> о! вот в чем причина!
[13:59:19] <ermine> Kakadu: кто съел слово local между usr и include?
[13:59:19] <ygrek> причина в том что во всё проекте куча захардкоженых путей, и решения вида - "захардкодим ещё один" - очень помогают
[14:00:41] <ygrek> читать ещё раз -> https://git.kernel.org/?p=linux/kernel/git/kay/libabc.git;a=blob_plain;f=README
[14:01:02] <ygrek> для сишныз бибиотек - только pkg-config и никаких /usr/include/qt4
[14:01:36] <ermine> ygrek: если бы pkg-config знал всё
[14:01:45] <ygrek> и чего он не знает?
[14:01:58] <Kakadu> ermine: может вообще лучше забить на lablqt и идти писать на qml?
[14:02:01] <ermine> libgl к примеру
[14:02:33] <ygrek> ermine: что с libgl?
[14:03:27] <ermine> ygrek: lablqt не собирается (который в master бранче), потому что не видит в путях инклюды к GL
[14:03:40] <ermine> приходится подставлять в переменные gcc пути
[14:04:13] <Kakadu> ermine: я имел ввиду inher что во второй бранче
[14:04:30] <ygrek> ermine: и где тут проблема pkg-config?
[14:05:05] <ygrek> $ pkg-config --cflags QtOpenGL
-DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui
[14:05:30] <ermine> ygrek: ну найди в своем pkg-config пути к GL инклюдам
[14:06:00] <ermine> так я не про qt
[14:06:33] <ermine> сам он зависит от иксовых gl (или от драйверов видеокарточки)
[14:07:16] <ygrek> $ pkg-config --cflags gl

[14:07:18] <ygrek> ну?
[14:08:10] <ygrek> никаких -I не надо т.к. код в /usr/include/GL/gl.h
[14:08:17] <ermine> и хде они?
[14:08:34] <ygrek> /usr/include в дефолтных путях компилятора
[14:08:36] <ermine> а у меня их нет в /usr/include
[14:09:15] <ermine> о, а у меня выдаются пути
[14:09:34] <ygrek> т.е. никакой проблемы нет?
[14:10:05] <ermine> ygrek: теперь как обозначить, что в lablqt надо запрашивать еще и pkg-config gl?
[14:10:13] <ygrek> ну я рад что минус одним FUD'ом меньше
[14:10:16] <ygrek> зачем?
[14:10:26] <ygrek> lablqt юзает QtOpenGL
[14:10:37] <ygrek> который по зависимостям притянет gl
[14:11:01] <ermine> без gl оно не соберется
[14:11:25] <ygrek> покажи
[14:13:06] <ermine> $ pkg-config --cflags gl
-D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/drm
[14:13:12] <ermine> ]$ pkg-config --cflags QtOpenGL
-DQT_SHARED -I/usr/local/include/qt4 -I/usr/local/include/qt4/QtOpenGL -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtGui  
[14:15:10] <ygrek> а какая ошибка?
[14:16:43] <ermine> not found GL/gl.h в инклюдах у qtopengl
[14:17:37] <ygrek> значит кривой порт qt в freebsd
[14:17:44] <ygrek> hardly a pkg-config fault
[14:22:27] <ermine> так, с lablqt облом, пойду потрогаю lablgtk
[14:22:46] <Kakadu> ermine: расскажи мне почему крешится inher
[14:22:50] <Kakadu> в немастер бранче
[14:23:26] <ermine> Kakadu: не крешится, не собирается же
[14:24:01] <Kakadu> в немастер бранче
[14:25:36] <ermine> ну я в new2 пробовала
[14:26:24] <Kakadu> так там не нужен опенжл
[14:27:19] <ermine> ну ладно, вписала слово local
[14:28:01] <Kakadu> я запушил новый сорец
[14:28:45] <ermine> там еще -L надо вписать
[14:30:35] <ermine> не, ну лень ковыряться в мейкфейле
[14:30:52] <Kakadu> куда вписать?
[14:32:12] <ygrek> ermine: http://paste.in.ua/3277/
[14:32:15] <ygrek> g++ qtgl.cpp $(pkg-config --cflags --libs QtOpenGL) -o qtgl
[14:32:18] <ygrek> что будет?
[14:32:36] <Kakadu> ermine: пульнись
[14:34:02] <ygrek> Kakadu: крэш это всё тот же в test1?
[14:34:09] <Kakadu> нет
[14:34:18] <ygrek> а в чём там была причина?
[14:34:25] <ermine> собрала ваше поделие аццкое
[14:34:29] <Kakadu> я уже не помню. Много крешей
[14:34:48] <ermine> крэшится
[14:38:58] <ermine> Kakadu: ну наверное опять читал через строчку доку по биндингу
[14:39:14] <Kakadu> конечно
[14:39:39] <gds> а вы там не пробовали убрать все тайпкасты?  плюсеки без тайпкастов не будут ерундой заниматься, разве что классика наподобие обращения к кривому указателю либо выход за границы массива, ну и подобная мелочь.
[14:40:05] <Kakadu> да вообще всё надо на qml делать
[14:40:14] <Kakadu> lablqt не нужен
[14:40:50] <gds> а логику где-как описывать?  а формы в рантайме создавать там можно?
[14:41:29] <Kakadu> там много чего можно
[14:41:44] <Kakadu> логику можно в плюсаз
[14:42:02] <ygrek> докатились
[14:42:24] <ermine> ноябрь уже, а дело начатое летом, всё на том же месте
[14:42:35] <ermine> чо вы делали два месяца?
[14:42:44] <ygrek> ermine: что ТЫ делала два месяца?
[14:43:04] <ermine> ygrek: я - прочитала много книжек, а  ты?
[14:43:08] <ygrek> ermine: собери http://paste.in.ua/3277/
[14:43:19] <ygrek> ermine: g++ qtgl.cpp $(pkg-config --cflags --libs QtOpenGL) -o qtgl
[14:43:44] ygrek ничего не делал, ясно же
[14:53:27] <gds> ygrek: правильно ли я понял, что в идеале сишная-плюсовая либа обязана предоставить pkgconfig-файл, и при её использовании необходимо использовать именно pkg-config?
[14:54:38] <ermine> ygrek: как скачать файл?
[14:55:21] <ygrek> gds: да!
[14:55:37] <ygrek> ermine: там ссылка на raw должна быть
[14:55:51] <ygrek> gds: это то же самое что META для камлолиб
[14:55:52] <gds> ygrek: чото думал, что pkgconfig -- чото бсдшное.
[14:56:06] <ygrek> ermine: http://paste.in.ua/3277/raw/
[14:57:06] <ygrek> gds: ну проблемы с ним в основном на бсд, потому что во всех нормальных ОС либы ставятся в дефолтные пути и проблемы в pc (если есть) - не заметны
[14:57:41] <gds> ага, вот теперь понял.  ибо только там видел какие-то движухи с pkg-config.
[14:58:16] <gds> кстати вот, ведь pkg-config, если раскрывается через `` или даже $(), это ведь криво -- пробелы в путях поломают всё.
[14:59:18] <ermine> сплошные нот декларед
[15:00:04] <ermine> In file included from /usr/local/include/qt4/QtOpenGL/QGLWidget:1,
                 from y.cpp:2:
/usr/local/include/qt4/QtOpenGL/qgl.h:77:20: error: GL/gl.h: No such file or directory
[15:06:45] <ygrek> ermine: значит таки да - проблема в qt+bsd
[15:06:49] <ygrek> репорть багу
[15:06:58] <ygrek> lablqt и pkg-config не виноваты
[15:07:42] <ygrek> как достаточно ровный воркараунд - делать $(pkg-config --cflags QtOpenGL gl)
[15:08:09] <gds> кстати, интересно, но типы
type w = (module Q with type t = somefixedtype)
и
module type W = Q with type t = somefixedtype
type w = (module W)
считаются камлом как разные.
[15:08:11] <ygrek> gds: почему?
[15:08:40] <gds> не знаю, почему.  ща наколбашу тестовый пример.
[15:08:44] <ygrek> если пути с пробелами закавыченные то они синлайнится в комстроку и будет ок
[15:08:49] <gds> ааа.
[15:09:11] <ygrek> ой, ну это я хз, не щупал ни разу
[15:12:01] <gds> отчего-то были кучи проблем с кавычением, в том числе для bash/make, кто-то съедал кавычки.  а проверил -- вроде нормально (но чисто башем проверил).
[15:31:42] ermine пытается побороть в горгоне проблему с сигналами в поле ввода
[19:20:19] shaggie вошёл(а) в комнату
[21:35:02] ermine всплыла из исходников empathy
[21:35:16] <ermine> похоже зря хотела странного и светлого
[21:36:19] <ermine> в смысле - надо возвращаться к старому методу работы с клавиатурой, а не пытаться родить что-то кажущееся более логичным
[21:49:07] <gds> ermine: если есть моск, всегда надо пытаться рожать что-то более логичное, чем есть, потому что текущий зоопарк -- полное говно.
[21:51:43] <ermine> ну тут есть еще два момента - не хватает глубин познаний и не хватает полноты биндинга в lablgtk2
[21:52:14] <ermine> но что-то я себе уяснила в попытке найти более логичного слона
[21:53:12] <gds> не нужны глубины познаний, нужно знать цель -- как надо сделать, чтобы тебе (опционально другим) было хорошо.
[21:54:55] <ermine> ну цель-то известна, неизвестна была полпути к ней
[21:55:48] <ermine> сократила путь до одной трети пути
[21:56:14] <ermine> а вот что осталось с этим делать - неясно, но всяко бросаю пока поиски
[21:56:25] <gds> гуй -- это очень важно для гуи-софтин.  там это не полпути, а даже побольше.  в общем, не могу ничего сказать конкретного, про общее, скорее.
[21:56:35] <gds> а поиски -- на lablgtk2 остановилась?
[21:57:53] <ermine> где-то между ним и gtk самим
[21:58:03] <ermine> как смухлевать в принципе ясно
[21:58:22] <ermine> наверное стоило попробовать, но лень, ибо результат не интересует
[21:59:00] <ermine> короче - надо обрабатывать нажатие ентера в многострочном поле ввода
[21:59:22] <ermine> два способа - ловить каждую кнопку, нажатую в этом поле, и повесить акселератор
[21:59:32] <ermine> вот я копала второй способ
[22:00:25] <ermine> а вот оказалось, что акселераторы работают лишь с сигналами-экшнами, которые создаются в меню, а я хочу без меню
[22:11:15] <gds> может можно типа-невидимое меню сделать?
[22:11:48] <gds> или, наоборот, вывести в штатную кнопку.
я не особо в теме.
[22:19:16] <ermine> не
[22:19:30] <gds> ок.
[22:19:39] <ermine> ну пришлось бы создать несколько пунктов для всех видов хоткеев
[22:20:03] <gds> ок, и это плохо?
[22:20:42] <gds> я сейчас ем лимон, у меня вообще извращённая картина того, что есть плохо, а что хорошо.
[22:21:51] <ermine> ну вот обычные хоткеи - copy, paste, cut, select, еще вставить смайлики, еще создать новую строку (shift-enter), еще отправить все это дело в чатик, еще чонить :)
[22:22:34] <ermine> ну нажми правую кнопку на своем инпуте в пиджине, может там попап меню появится
[22:22:46] <ermine> это и есть акселераторы
[22:22:48] <gds> ну создай, ёмоё, чо?  Людям нравится, когда не только хоткеи, но и меню тоже.
[22:23:09] <gds> (но, опять же, я ем лимон.)
[22:24:20] ermine недавно поела ягод лимонника, вот это круче чем типичный лимон
[22:25:38] <gds> (лимонник -- слышал, видел, не ел.  но, в целом, человек, который ест лимон, не может быть адекватным.  ermine, смотри сама насчёт менюшек -- я выразил пожелания 80% пользователей.)
[22:28:37] <ermine> ну тогда щас вопрос в том, как выловить уже существующее меню, чтобы тогда добавлять туда новые пункты
[22:28:51] ermine пошла копаться в lablgtk2
[22:30:14] <ermine> мнээ
[22:39:34] <ermine> таки не доставать, а создать новое
[22:41:07] <ermine> но уже только завтра бодать буду
[22:43:07] <ermine> создание попап аналогично тому, как первым способом работают с клавой - надо ловить все мышиные евенты
[22:43:23] <ermine> эх, нет щастья в сегодняшней жизни
[22:43:50] <ermine> пойду утоплюсь
[22:44:10] <Kakadu> ermine: как обычно
[22:44:40] <ermine> Kakadu: а ты допилил inher?
[22:44:56] <Kakadu> нет
[22:45:14] <ermine> не компилится
[22:45:25] <Kakadu> inher?
[22:45:37] <ermine> не линкуется точнее
[22:45:47] <Kakadu> что хочет?
[22:46:07] <ermine> pkg-config --libs забыл вставить
[22:46:18] <Kakadu> куда*
[22:46:19] <Kakadu> ?
[22:46:32] <ermine> в cclib
[22:46:44] <ermine> там где lqtgui
[22:47:40] <Kakadu> "-lQtGui -lQtCore " превращать в "-cclib -lQtGui -cclib -lQtCore" руками?
[22:47:56] ermine сегодня успешно собрала только новый оксигень со всеми потрохами
[22:48:08] <ermine> всё остальное шаткое какое-то
[22:49:16] <ermine> крэшится
[22:49:47] <ermine> на кейпрессе
[22:49:54] <Kakadu> дада
[22:49:59] <Kakadu> осилить креш я не могу
[22:50:03] <Kakadu> что с ним не так хз
[22:50:05] <ermine> #0  0x0000000800b8beca in QWidget::keyPressEvent ()
[22:50:22] <Kakadu> самое интересное что одного итема в стектрйсе нет
[22:50:26] <Kakadu> и почему я хзз
[22:50:53] <ermine> кого нет?
[22:51:23] <Kakadu> QWidget_twin::call_super_keyPressEvent
[22:51:54] <ermine>    from /usr/local/lib/qt4/libQtGui.so.4
#1  0x000000000041e5e9 in qWidget_twin_super_keyPressEvent (self=34422034240,
    arg0=0) at AA.cpp:51
[22:52:01] <ermine> а что вот тут?
[22:52:36] ermine тупо смотрит в frame 1
[22:52:39] <Kakadu> вызов метода QWidget_twin::call_super_keyressevent
[22:53:08] <ermine> там небось arg0 кривое
[22:53:18] <Kakadu> да фигня это всё
[22:53:30] <Kakadu> и в сишечке NULL передавал, она съедала
[22:53:39] <ermine> а ты туда вместо arg0 подставь конкретное значение
[22:53:43] <ermine> может не упадеть
[22:54:01] <Kakadu> у класса QKeyEvent нет конструкторов
[22:54:26] <ermine> ну NULL?
[22:54:39] <Kakadu> что ну NULL
[22:54:42] <Kakadu> я его и подставил
[22:55:49] <ermine> да, пожалуй нолик, если правильно помню как расшифровать результат команды print
[22:56:44] <gds> Kakadu: ты уже убрал hardcoded paths и casts?
[22:57:17] <ermine> тогда кривой self
[22:57:18] <Kakadu> нихера
[22:57:41] <Kakadu> gds: крайзис, и я ничего не могу делать. смотрю тупо на qml
[22:58:29] <ermine> а что такое qml?
[22:58:33] <gds> Kakadu: кстати вот, может действительно qml?  По слухам, только callback'и, может проще+лучше будет?
[22:59:46] <Kakadu> gds: +100500
[23:00:31] <gds> Kakadu: ну не факт.  В рантайме гуй строить можно будет?  Если нет, то уныло.
[23:00:45] <ermine> еще один язык программирования?
[23:00:51] <gds> надо подумать над этим.
[23:00:58] <ermine> ml-like, но с запашком qt
[23:01:14] <gds> вроде xml-like.
[23:01:20] <Kakadu> json-like
[23:01:56] <ermine> тогда надо yaml
[23:02:17] <Kakadu> ermine: не надо
[23:02:22] <Kakadu> уже сделали всё
[23:05:19] <gds> у гейдевелоперов популярна мысль "надо разрабатывать всё на самом идеальном железе, потому что, как дойдёт до релиза, оно будет lo/mid, и будет как раз ок".  я вот разделил дела на <=3.11 и на >=3.12 по отношению к окамлу, и вот, где-то полгода как не пользую <=3.11 ну вообще никак.
[23:15:04] <Kakadu> я не понял
[23:16:00] ermine патчит AA.cpp
[23:17:18] <ermine> не помогло
[23:17:48] <ermine> но за такое использование value фкп0 без конверта бить  тоже надо
[23:18:04] <Kakadu> ммм?
[23:19:49] <ermine> и value self
[23:19:53] <ermine> короче, всё
[23:19:57] <ermine> всё понятно
[23:20:05] ermine ушла утопицо
[23:20:17] <Kakadu> ermine: меня возьми, расскажешь
[23:20:17] <ermine> бульк
[23:20:23] ermine вышел(а) из комнаты
[23:20:39] <Kakadu> хнык
[23:54:38] gds вышел(а) из комнаты
[23:54:48] gds вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!