Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: vukor on December 22, 2005, 22:02:25

Title: не могу собрать пропатченную dclib для dc-клиента
Post by: vukor on December 22, 2005, 22:02:25
Приветствую !

Задача - нужен работающий p2p клиент (поддерживающий DC), который правильно понимает кириллицу, т.е. поддерживает поиск по русским ключевым словам. Система - FreeBSD 6.0.
Что сделал - тут мне посоветовали посмотреть ссылку ftp://slackware.tomsk.ru/soft/network/p2p/ (http://ftp://slackware.tomsk.ru/soft/network/p2p/). Взял следующие файлы - dcgui-qt-0.3.1.tar.bz2, и патчи к ним - dclib-0.3.1-russian.patch.gz, dcgui-qt-0.3.1-russian.patch.gz. Дальнейшие действия:
1) перемещаюсь в каталог с выкачанными архивами, делаю так:
#tar -xjf dcgui-qt-0.3.1.tar.bz2
Появляются каталоги dclib-0.3.1 и dcgui-qt-0.3.1. Дальше делаю:
#zcat dclib-0.3.1-russian.patch.gz > dclib-0.3.1-russian.patch
#zcat dcgui-qt-0.3.1-russian.patch.gz > dcgui-qt-0.3.1-russian.patch
#patch -p0 <dclib-0.3.1-russian.patch
#patch -p0 <dcgui-qt-0.3.1-russian.patch
2) захожу в каталог dclib-0.3.1/, запускаю confgiure, потом make
через некоторое время получаю ошибку:
...........................
In file included from cconfig.cpp:191:
charset.h: In function `CString cstring_recode(const CString&, int)':
charset.h:51: error: invalid conversion from `char**' to `const char**'
charset.h:51: error:   initializing argument 2 of `size_t libiconv(void*, const char**, size_t*, char**, size_t*)'
*** Error code 1

Stop in /usr/temp/dclib-0.3.1/dclib.
*** Error code 1

Stop in /usr/temp/dclib-0.3.1/dclib.
*** Error code 1

Stop in /usr/temp/dclib-0.3.1.
*** Error code 1

Stop in /usr/temp/dclib-0.3.1.

Кто-нть встречался с этой проблемой? Пожалуйста поделитесь решением. А то исходники править неохота. :(


Title: не могу собрать пропатченную dclib для dc-клиента
Post by: deepwalker on December 22, 2005, 23:46:15
Примени патчи к правильной версии, для которой они собственно и предназначены. У меня было именно это : )) Спутал случайно, патчи то к предыдущей версии шли, потом парился : ))
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: vukor on December 23, 2005, 00:28:09
Quote
Примени патчи к правильной версии, для которой они собственно и предназначены. У меня было именно это : )) Спутал случайно, патчи то к предыдущей версии шли, потом парился : ))
[snapback]6464[/snapback]

Я тебя не понял.
Патчи такие - dclib-0.3.1-russian.patch.gz и dcgui-qt-0.3.1-russian.patch.gz для
dclib-0.3.1 и dcgui-qt-0.3.1 соответственно. Исходники этой либы и клиента извлечены из архива dcgui-qt-0.3.1.tar.bz2. Или я что-то не так делаю? Объясни поподробнее, пожалуйста.
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: mars on December 23, 2005, 01:14:39
а перед тем как патчи прикладывать ты заходишь в нужный каталог?
т.е.
Code: [Select]
#cd dclib-0.3.1
#patch -p0 <dclib-0.3.1-russian.patch

может вот такой клиент стоит попробовать /usr/ports/net/dctc-gui-qt ?
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: deepwalker on December 23, 2005, 01:28:17
Извини, не внимательно читал : ((
Просто у меня ошибка точка в точку такая же была - пропатчил потом заново и все заработало. Только у меня слака, но в данном случае по моему не принципиально.
DC брал на slackware.tomsk.ru
И патчил я по одному файлику - вследствие неопытности
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: vukor on December 23, 2005, 12:20:43
Quote
а перед тем как патчи прикладывать ты заходишь в нужный каталог?
т.е.
Code: [Select]
#cd dclib-0.3.1
#patch -p0 <dclib-0.3.1-russian.patch

может вот такой клиент стоит попробовать /usr/ports/net/dctc-gui-qt ?
[snapback]6468[/snapback]

Насколько я понял, для того, чтобы пропатчить библиотеку (и клиент тоже), нужно находиться не в каталоге dclib-0.3.1/ (dcgui-qt-0.3.1/), а на уровень выше - т.е. в ../dclib-0.3.1/.
Вот так:

/usr/temp|# ls -l
total 1636
drwxr-xr-x  4 root   wheel     1024 28 май  2004 dcgui-qt-0.3.1
-rw-r--r--  1 bugor  bugor    27241 22 дек 15:55 dcgui-qt-0.3.1-russian.patch
-rw-r--r--  1 bugor  bugor  1611392 19 дек 01:05 dcgui-qt-0.3.1.tar.bz2
drwxr-xr-x  4 root   wheel      512 28 май  2004 dclib-0.3.1
-rw-r--r--  1 bugor  bugor     2865 22 дек 15:55 dclib-0.3.1-russian.patch
/usr/temp|# patch -p0 <dclib-0.3.1-russian.patch
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -Naur dclib-0.3.1/dclib/cconfig.cpp dclib-0.3.1-new/dclib/cconfig.cpp
|--- dclib-0.3.1/dclib/cconfig.cpp      2004-05-25 01:38:44.000000000 +0700
|+++ dclib-0.3.1-new/dclib/cconfig.cpp  2004-06-03 10:41:03.000000000 +0700
--------------------------
Patching file dclib-0.3.1/dclib/cconfig.cpp using Plan A...
Hunk #1 succeeded at 188.
Hunk #2 succeeded at 2697.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -Naur dclib-0.3.1/dclib/cfilemanager.cpp dclib-0.3.1-new/dclib/cfilemanager.cpp
|--- dclib-0.3.1/dclib/cfilemanager.cpp 2004-05-25 01:38:45.000000000 +0700
|+++ dclib-0.3.1-new/dclib/cfilemanager.cpp     2004-06-03 10:39:40.000000000 +0700
--------------------------
Patching file dclib-0.3.1/dclib/cfilemanager.cpp using Plan A...
Hunk #1 succeeded at 41.
Hunk #2 succeeded at 538.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -Naur dclib-0.3.1/dclib/charset.h dclib-0.3.1-new/dclib/charset.h
|--- dclib-0.3.1/dclib/charset.h        1970-01-01 07:00:00.000000000 +0700
|+++ dclib-0.3.1-new/dclib/charset.h    2004-06-03 16:25:02.000000000 +0700
--------------------------
(Creating file dclib-0.3.1/dclib/charset.h...)
Patching file dclib-0.3.1/dclib/charset.h using Plan A...
Hunk #1 succeeded at 1.
done
/usr/temp|#

Так, насчет dctc-gui-qt. Cтавил я этот клиент, не знаю почему, но он виснет у меня. И еще оставляет после себя кучку процессов dctc. Приходиться убивать их потом. Да и к тому же предполагаю, что поиск по ключевым словам на русском он не поддерживает. Или я не прав?
Если есть какие идеи по теме, поделись.
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: Krueger on December 23, 2005, 12:23:25
Quote
а перед тем как патчи прикладывать ты заходишь в нужный каталог?
т.е.
Code: [Select]
#cd dclib-0.3.1
#patch -p0 <dclib-0.3.1-russian.patch

может вот такой клиент стоит попробовать /usr/ports/net/dctc-gui-qt ?
[snapback]6468[/snapback]
пытался поставить dctc-gui и dctc-gui-qt
ни один из них не соединяется с сервером, хотя выглядят красиво. но похоже за всё надо платить ;)
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: Krueger on December 23, 2005, 16:42:37
Quote
пытался поставить dctc-gui и dctc-gui-qt
ни один из них не соединяется с сервером, хотя выглядят красиво. но похоже за всё надо платить ;)
[snapback]6477[/snapback]
сделал, чтобы заработало dctc-gui, проблем с русским языком нету никаких. собственно, как и русского языка, как такового:-) ни ввод, ни вывод кирилицы не поддерживается, радует отсутствие кракозябер, но это пожалуй единственное (кроме интерфейса) что радует. забил, снёс. dc-gui-qt не могу постаивить ругается:
dctc-gui-qt-0.0.6 is marked as broken: Build fails.
кто-нибудь знает как пофиксить?
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: vukor on December 24, 2005, 14:33:32
up
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: anonymous on January 02, 2006, 23:20:09
ftp://ftp.slackware.tomsk.ru/soft/network...t-0.3.7.tar.bz2 (http://ftp://ftp.slackware.tomsk.ru/soft/network/p2p/valknut-0.3.7.tar.bz2)

Можешь этот клиент ещё попробовать.
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: Dimmus on January 06, 2006, 04:00:05
он все равно базед на dclib... :) так что русских буковок не видать.
залил туда свеженький.
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: Terminator on January 06, 2006, 16:29:05
Всё там видать. Единственная его проблема он по русски искать не умеет.
Title: не могу собрать пропатченную dclib для dc-клиента
Post by: Dimmus on January 06, 2006, 19:36:54
Я именно про это и имел ввиду. :unsure: