The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"и опять проблемы с licq :("
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"и опять проблемы с licq :("
Сообщение от LinaS emailИскать по авторуВ закладки on 06-Авг-02, 13:15  (MSK)
Всем привет в какой раз уже!!!
Вот тут опять проблемы с licq - пытаюсь ее собрать с поддержкой SOCKS.
Имею установленным dante-1.1.13
теперь хочу licq с поддержкой SOCKS (ибо иначе не ходить :()

мои действия:

1. cd /usr/ports/net/licq-devel
2. make WITH_SOCKS=yes WITH_DANTE=yes install
.............
socket.cpp: In method `bool INetSocket::SetLocalAddress(bool = true)':
socket.cpp:303: passing `int *' as argument 3 of `Rgetsockname(int, sockaddr getsockname(m_nDescriptLicq Segmentation Violation Detected.
Abort trap (core dumped)
or, (struct sockaddr*)&m_sLocalAddr, &sizeofSockaddr)*,
socklen_t *)' changes signedness
socket.cpp: In method `void TCPSocket::RecvConnection(TCPSocket &)':
socket.cpp:656: passing `int *' as argument 3 of `Raccept(int, sockaddr *, sockl
en_t *)' changes signedness
gmake[2]: *** [socket.o] Ошибка 1
gmake[2]: Выход из каталог `/usr/ports/net/licq-devel/work/licq-20020312/src'
gmake[1]: *** [all-recursive] Ошибка 1
gmake[1]: Выход из каталог `/usr/ports/net/licq-devel/work/licq-20020312'
gmake: *** [all] Ошибка 2
*** Error code 2
............................
3. В отчаянии (тяжело без Аси) лезу в /usr/ports/net/licq-devel/work/licq-20020312/src/socket.cpp
4. Некоторое время поковырявшись там нахожу следующее:
Имеется переменная sizeofSockaddr
В случае, если компилим без поддержки SOCKS, эта переменная объявлена как
socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
Если же компилим с поддержкой SOCKS (то есть в моем случае), она объявлена как
int sizeofSockaddr = sizeof(struct sockaddr_in);
Дальше в указанных местах (303 и 656 строчки) происходит вызов функций getsockname() и accept() с третьим аргументом - этой переменной (не проверяется, какого она типа)
Вызов (для одной из них) выглядит так:
getsockname(m_nDescriptor, (struct sockaddr*)&m_sLocalAddr, &sizeofSockaddr)
5. В man getsockname вижу, что третий аргумент сей функции должен быть типа socklen_t. То же говорит man 2 accept для функции accept()
6. (Простите меня, UNIX- и просто- программисты). Правлю (еще раз простите) вышеуказанный вызов (и второй тоже аналогично) на следующее:
getsockname(m_nDescriptor, (struct sockaddr*)&m_sLocalAddr, (socklen_t *)sizeofSockaddr)
7. Компилю (ошибок нет) (+ licq-qt-gui WITH_LICQ_DEVEL=yes)
8. Запускаю licq
9. Лезу в настройки - получаю
Licq Segmentation Violation Detected.
Abort trap (core dumped)

А вопрос в общем-то такой: почему и что делать?
И вообще собирал ли кто-нибудь licq с поддержкой SOCKS причем именно с dante?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: и опять проблемы с licq :("
Сообщение от lavr emailИскать по авторуВ закладки on 06-Авг-02, 16:22  (MSK)
>Всем привет в какой раз уже!!!
>Вот тут опять проблемы с licq - пытаюсь ее собрать с поддержкой
>SOCKS.
>Имею установленным dante-1.1.13
>теперь хочу licq с поддержкой SOCKS (ибо иначе не ходить :()
>
>мои действия:
>
>1. cd /usr/ports/net/licq-devel
>2. make WITH_SOCKS=yes WITH_DANTE=yes install
>.............
>socket.cpp: In method `bool INetSocket::SetLocalAddress(bool = true)':
>socket.cpp:303: passing `int *' as argument 3 of `Rgetsockname(int, sockaddr getsockname(m_nDescriptLicq Segmentation
>Violation Detected.
>Abort trap (core dumped)
>or, (struct sockaddr*)&m_sLocalAddr, &sizeofSockaddr)*,
>socklen_t *)' changes signedness
>socket.cpp: In method `void TCPSocket::RecvConnection(TCPSocket &)':
>socket.cpp:656: passing `int *' as argument 3 of `Raccept(int, sockaddr *, sockl
>
>en_t *)' changes signedness
>gmake[2]: *** [socket.o] Ошибка 1
>gmake[2]: Выход из каталог `/usr/ports/net/licq-devel/work/licq-20020312/src'
>gmake[1]: *** [all-recursive] Ошибка 1
>gmake[1]: Выход из каталог `/usr/ports/net/licq-devel/work/licq-20020312'
>gmake: *** [all] Ошибка 2
>*** Error code 2
>............................
>3. В отчаянии (тяжело без Аси) лезу в /usr/ports/net/licq-devel/work/licq-20020312/src/socket.cpp
>4. Некоторое время поковырявшись там нахожу следующее:
>Имеется переменная sizeofSockaddr
>В случае, если компилим без поддержки SOCKS, эта переменная объявлена как
>socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
>Если же компилим с поддержкой SOCKS (то есть в моем случае), она
>объявлена как
>int sizeofSockaddr = sizeof(struct sockaddr_in);
>Дальше в указанных местах (303 и 656 строчки) происходит вызов функций getsockname()
>и accept() с третьим аргументом - этой переменной (не проверяется, какого
>она типа)
>Вызов (для одной из них) выглядит так:
>getsockname(m_nDescriptor, (struct sockaddr*)&m_sLocalAddr, &sizeofSockaddr)
>5. В man getsockname вижу, что третий аргумент сей функции должен быть
>типа socklen_t. То же говорит man 2 accept для функции accept()
>
>6. (Простите меня, UNIX- и просто- программисты). Правлю (еще раз простите) вышеуказанный
>вызов (и второй тоже аналогично) на следующее:
>getsockname(m_nDescriptor, (struct sockaddr*)&m_sLocalAddr, (socklen_t *)sizeofSockaddr)
>7. Компилю (ошибок нет) (+ licq-qt-gui WITH_LICQ_DEVEL=yes)
>8. Запускаю licq
>9. Лезу в настройки - получаю
>Licq Segmentation Violation Detected.
>Abort trap (core dumped)
>
>А вопрос в общем-то такой: почему и что делать?
>И вообще собирал ли кто-нибудь licq с поддержкой SOCKS причем именно с
>dante?

чуть внимательнее посмотри на ошибку и sources, там берется прототип
функции getsockname из socks.h от DANTE, где он имеет определенный define
- о чем можешь отписать портировщику или в maillist портов, те отправить
send-pr (man send-pr), ну или поправь самостоятельно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: и опять проблемы с licq :("
Сообщение от LinaS emailИскать по авторуВ закладки on 06-Авг-02, 17:56  (MSK)
Лавр, спасибо ОГРОМНОЕ - заработало (правда криво, но это от кривых рук и большого пробела в с++)

Действительно прошляпила я файло socks.h.
Заработала ася после того, как я в этом файле подправила прототипы, а вот так ли надо было делать, не уверена... (?)

Ася коннектится через SOCKS, нормально пашут кодировки - по-русски общаюсь (!), но один раз уже упала (с той же ошибкой, по сигналу 6).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: и опять проблемы с licq :("
Сообщение от lavr emailИскать по авторуВ закладки on 06-Авг-02, 18:11  (MSK)
>Лавр, спасибо ОГРОМНОЕ - заработало (правда криво, но это от кривых рук
>и большого пробела в с++)
>
>Действительно прошляпила я файло socks.h.

это портер прошляпил, чем дальше, тем с портами все хуже и хуже! :-E
Куда гонят!? На пожар что-ли, видимо поэтому среди портеров все больше
и больше наших спецов из .ru и .ua, в их портах у меня больше уверенности

И вообще, так пишут что руки уже не отрывать, а отрубать надо.
От redefine'ов может просто крыша съехать. :(((
Правильные (коммерческие) компиляторы (Sun/HP/IBM/...) от такого кода
просто одуревают. Чем выше версия GCC тем более помоечный вариант он
напоминает.
А такой весны-лета как в этом году, я и вовсе не помню - такого количества
дыр и постоянных пересборок ядер, системы и софта за последние ТРИ МЕСЯЦА,
такого еще точно никогда не было. :(((

>Заработала ася после того, как я в этом файле подправила прототипы, а
>вот так ли надо было делать, не уверена... (?)
>
>Ася коннектится через SOCKS, нормально пашут кодировки - по-русски общаюсь (!), но
>один раз уже упала (с той же ошибкой, по сигналу 6).
>

рядовая ситуация, зайди на официальный сайт licq - почитай и поймешь что
продукт только-только начали спрямлять после желания совместимости с новым протоколом и объятия необъятного. Встает вопрос, а не забить ли на
этот сервис вовсе?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: и опять проблемы с licq :("
Сообщение от LinaS emailИскать по авторуВ закладки on 06-Авг-02, 18:47  (MSK)
>А такой весны-лета как в этом году, я и вовсе не помню
>- такого количества
>дыр и постоянных пересборок ядер, системы и софта за последние ТРИ МЕСЯЦА,
>
>такого еще точно никогда не было. :(((

Да уж, особенно печальны частые пересборки системы и ядра - каждую перезагрузку каждого рабочего сервера приходится тщательно согласовывать...  Хотя я думала, что так всегда и было (?) Просто работаю недавно (а с фрей знакома всего месяца 3, но после Линуха это не страшно :)), но уже устала патчить и компилить...

>>один раз уже упала (с той же ошибкой, по сигналу 6).
>>

>необъятного. Встает вопрос, а не забить ли на
>этот сервис вовсе?

Я бы и забила (и так уже месяца 2 без нее сижу), но все друзья/знакомые/коллеги веревочкой привязаны к ICQ - по почте общения не получается :(((

В любом случае еще раз большущее спасибо :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру