Hydranode

Есть такой замечательный p2p-клиент - Hydranode.

Поддерживает eDonkey, Torrent и еще что-то. Использует Qt4 и boost.
Разделена на две части - core и gui. Core может исполняться на удаленной машине.
В общем, отличная штука.

Очень нехватает сворачивания в системный трей. Решил написать его сам. А то что-то проект давно не обновлялся - не думаю что можно надеятся на скорое появление этой фичи.

Скачал исходники, проверил что все зависимости удовлетворены, решил для начала просто скомпилировать их и сразу же наткнулся на ошибки. После пяти минут компиляции вываливается следующее:

$ bjam release
…patience…
…found 1052 targets…
…updating 78 targets…
gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/config.o
hnbase/config.cpp: In member function ‘virtual void Config::load(const std::string&)’:
hnbase/config.cpp:57: ошибка: нет декларации ‘logWarning’ в этой области видимости
hnbase/config.cpp: In member function ‘virtual void Config::save(const std::string&) const’:
hnbase/config.cpp:114: ошибка: нет декларации ‘logError’ в этой области видимости

    “g++”  -Wall -ftemplate-depth-100 -O3 -finline-functions -Wno-inline -fPIC -Wno-long-long -pedantic -pthread  -DBUILDING_HNBASE -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_INTEGRAL_MAX_BITS=64 -D_LARGE_FILES  -I“.” -I“/home/were/boost_1_33_1”  -c -o “bin/hnbase/gcc/release/threading-multi/config.o”  “hnbase/config.cpp” 

…failed gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/config.o…
gcc.compile.c++ bin/hnbase/gcc/release/threading-multi/hash.o
./hnbase/hash.h: In constructor ‘HashSet<HashType, FileHashType, ChunkSize>::HashSet(std::istream&)’:
./hnbase/hash.h:384: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h:384: ошибка: (с ключом ‘-fpermissive’, G++ примет данный код, но разрешение использовать недекларированные имена будет отменено в дальнейших версиях)
./hnbase/hash.h:394: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h:409: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h:423: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h:435: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h:450: ошибка: ‘logError’ не имеет аргументов, зависящих от параметра-шаблона, поэтому должна быть досьупна декларация ‘logError’
./hnbase/hash.h: In constructor ‘HashSet<HashType, FileHashType, ChunkSize>::HashSet(std::istream&) ’:
hnbase/hash.cpp:82:  instantiated from here
./hnbase/hash.h:381: ошибка: нет декларации ‘logError’ в этой области видимости
hnbase/hash.cpp:82:  instantiated from here
./hnbase/hash.h:389: ошибка: нет декларации ‘logError’ в этой области видимости
hnbase/hash.cpp:82:  instantiated from here
./hnbase/hash.h:401: ошибка: нет декларации ‘logError’ в этой области видимости
hnbase/hash.cpp:82:  instantiated from here
./hnbase/hash.h:418: ошибка: нет декларации ‘logError’ в этой области видимости
./hnbase/hash.h:430: ошибка: нет декларации ‘logError’ в этой области видимости
hnbase/hash.cpp:82:  instantiated from here

И т.д. Приходится нажимать Ctrl+C, иначе ошибки будут лезть довольно долго. Никак не пойму откуда ‘logError’, ‘logWarning’ и прочее. Ругается именно на них.

Неужели девелоперы забыли написать о каких-то зависимостях? Гугл посылает на сайт IBM - ничего полезного.
Нет, оказывается с зависимостями все нормально.
Покопался в исходниках, оказывается косяк в них.

Вызывают нестатический метод класса не через указатель или ссылку, а прямо так вот, в коде. Непонятно как у них оно собиралось.

Мож кто посмотрит?
mldonkey чем не устроил?
Тема в общем-то о Hydranode, ну да ладно.

Тем что консольный. Мне нужен eDonkey клиент с gtk2/qt4 мордой и не перегруженным интерфейсом (как в aMule).
mldonkey это демон. к нему дофигища гуев, включая вебморду, kmldonkey….
Ни вебморда ни kmldonkey мне не нужны.
Только gtk2/qt4 интерфейс.
http://mldonkey.sourceforge.net/Gui
Судя по этому списку ничего подходящего нет.

Давайте не разводить оффтоп. Топик называется Hydranode.
 
Зарегистрироваться или войдите чтобы оставить сообщение.