yandex

Частозадаваемые вопросы

Author:

Содержание

  1. Что мне делать, если я получаю сообщение об ошибке “Userfile не найден (Userfile not found)”?
  2. Мой Eggdrop не хочет запускаться; Просто показывает сообщение “Невозможно найти ваш хостнейм! (Can’t find your hostname!)”
  3. Что за хрень этот ваш Tcl?
  4. Мой бот вываливается, и последняя запись в файле журнала следующая: “Получен сигнал завершения (Received terminate signal)”. Что это значит и как мне это предотвратить?
  5. Мне не нравится, как кое-кто настроил бота. Есть ли какие-нибудь лазейки, чтобы вырубить бота?
  6. Что за модули?
  7. Могу ли я скомпилировать Eggdrop без динамических модулей?
    1. Мне все еще загружать модули?
  8. Где мне взять уже скомпилированный Eggdrop?
  9. Когда я пытаюсь скомпилировать командой “make”, я получаю “Makefile:3 : invalid operator” или что-нибудь в этом роде.
  10. Когда я пытаюсь выполнить команду “tclsh scripts/weed <userfile> c” то интерпретатор выкидывает меня и прекращает работу. 🙁
  11. При попытке запустить бота я вижу сообщение “ld-elf.so.1: Shared object \t”libtcl80.so.1″ not found” или “eggdrop: error in loading shared libraries / libtcl8.1.so: cannot open shared object file: No such file or directory”.
  12. Я получаю кучу сообщений “unresolved symbol ‘Tcl_AppendResult'” (или любой другой символ), когда я пытаюсь загрузить модуль.

1.Что мне делать, если я получаю сообщение об ошибке “Userfile не найден (Userfile not found)”?

  • Запустить Eggdrop с ключом -m (например “eggdrop -m eggdrop.conf”).
  • Зайдите в IRC и отправьте “hello” в приват боту (например \t”/msg mybot hello”).
  • После этого вы станете владельцем бота. Вы можете оставить \tбота запущенным (никто более не может стать владельцем бота \tпосле того, как ему сказали “hello”), но в будущем \tключ -m при запуске бота использовать не требуется.

2. Мой Eggdrop не хочет запускаться; Просто показывает сообщение “Невозможно найти ваш хостнейм! (Can’t find your hostname!)”

Ваш компьютер странно настроен и Eggdrop не может обозначить свой сетевой хост. Вы можете обойти это установкой “my-ip” в конфигурационном файле.

3. Что за хрень этот ваш Tcl?

Tcl – скриптовый язык, написанный Джоном Остерхутом. Он намного лучше, чем большинство “встроенных” скриптовых языков (как в ircII) и подразумевает свою прилинковку к чему-либо, использующее скриптовый язык, так я линкую его с Eggdrop. Tcl-команды Eggdrop содержит список дополнительных комманд Tcl, предоставляемых Eggdrop. Так же, директории scripts/ есть несколько примеров и в директории doc/ под названием first_script.txt. А еще существуют сотни скриптов на ftp/web-сайтах, если вы любите пользоваться примерами (что нередко является более правильным путем).

4. Мой бот вываливается, и последняя запись в файле журнала следующая: “Получен сигнал завершения (Received terminate signal)”. Что это значит и как мне это предотвратить?

Здесь вы уже ничего не сможете поделать. В сообщении говорится о том, что системный администратор убивает процесс. В большинстве случаев боту кажется, что система перезагрузилась, поэтому страшного здесь ничего нет. Если вы будете использовать crontab, бот будет запускаться после того, как система вышла с сеть. К несчастью, системный администратор может удалять бота вручную. К примеру, если он\она не желает видеть бота на сервере.

5. Мне не нравится, как кое-кто настроил бота. Есть ли какие-нибудь лазейки, чтобы вырубить бота?

Нет. Их не было и не будет, поэтому перестаньте спрашивать. Так будет до тех пор, пока кто-нибудь не найдет способ\ошибку в Eggdrop, но и тогда мы исправим эти ошибки и недочеты. Если вы хотите завалить чьего-нибудь бота, нашей помощи вы не получите.

6. Что за модули?

Модули это способ добавления новых возможностей боту, подобно Tcl-скритам, без перекомпиляции самого бота. Для более подробной информации обратитесь к файлу doc/MODULES.

7. Могу ли я скомпилировать Eggdrop без динамических модулей?

Да, конечно можете. Если скрипт конфигурирования определит, что ваша система НЕ МОЖЕТ запускать модули, то он будет выполнять компиляцию со статической линковкой. Вы можете изменить эту опцию самостоятельно, используя команду ‘make static’. Еще вы можете попытаться скомпилировать динамические модули на полностью статическую систему, используя ‘make eggdrop’.

7a. Надо ли мне теперь загружать модули?

НЕТ. После того, как статически скомпилировали Eggdrop, все модули прилинковались к основному исполняющему файлу. Тем не менее, сами модули недоступны до тех пока, пока вы не выполните команду “loadmodule” для запуска, отсюда следует, что получаете функциональность, сродне той, если бы вы использовали динамические модули.

8. Где мне взять уже скомпилированный Eggdrop?

ОЧЕНЬ НЕ РЕКОМЕНДУЕТСЯ использовать скомпилированного Eggdrop из непроверенных источников. Ибо Eggdrop регулярно является мишенью для хакерских атак и взлома. Распространение скомпилированных (бинарных) версий Eggdrop наиболее простой способ получения хакерами полного доступа не сколько к вашему боту, сколько к вашему компьютеру напрямую. Даже не пытайтесь опубликовывать ссылки на бинарные файлы Eggdrop. =P

9. Когда я пытаюсь скомпилировать командой “make”, я получаю “Makefile:3 : invalid operator” или что-нибудь в этом роде.

Попробуй команду ‘gmake’.

10. Когда я пытаюсь выполнить команду “tclsh scripts/weed c” то интерпретатор выкидывает меня и прекращает работу. 🙁

Обновите свой Tcl, вполне возможно, что вы пользуетесь Tcl 7.5 или более ранней версией. Некоторые команды запрашивают работу под Tcl 7.6 , поэтому обновите интерпретатор, или удалите строки, на которые ругается Tcl, из вашего userfile вручную (в основном они начинаются с символа “.”) и подтвердите потерю этих данных.

11. При попытке запустить бота я вижу сообщение “ld-elf.so.1: Shared object “libtcl80.so.1″ not found” или “eggdrop: error in loading shared libraries / libtcl8.1.so: cannot open shared object file: No such file or directory”.

Скрипт ‘./configure’ показывает ошибку для Tcl; Это выглядит так, словно бот скомпилирован с одной версией Tcl и пытатся загрузить другую. Возможно ваш сисадмин обновил Tcl и не сообщил вам. В этом случае вам требуется просто перекомпилировать бота.Возможно, при обновлении вы не удалили старую версию Tcl, и скрипт ‘./configure’ находит неверные файлы или пытается использовать различные версии tcl.h и libtcl*. Пните вашего админа, чтобы он установил Tcl как следует. 😉 Так же вы можете попробовать:

./configure –with-tcllib=<path-to-tcl-lib> –with-tclinc=<path-to-tcl-inc>

Это укажет скрипту верное расположение файлов Tcl.Попробуйте поискать файлы libtcl так:

ls /usr/lib/libtcl* ls /usr/local/lib/libtcl*

А так поискать файл tcl.h:

ls /usr/include/*/tcl.h ls /usr/local/include/*/tcl.h

Если все это не помогло, попытайтесь установить Tcl в свою домашнюю директорию 😉 (Предложено dw@Undernet, [email protected]).

12. Я получаю кучу сообщений “unresolved symbol ‘Tcl_AppendResult'” (или любой другой символ), когда я пытаюсь загрузить модуль. Предположение A: Смотри раздел 11. Предположение B: Некоторые стандартные библиотеки скомпилированы только для статической линковки. У вас есть три варианта:

  1. Если бот запущен на вашем компьютере, перекомпилируйте Tcl, используя динамическую линковку в скрипте как ‘./configure –enable-shared’ когда вы отконфигурируете Tcl (не бота) перекомпилируйте его и переустановите
  2. Если это не ваш компьютер, вы можете прибегнуть к командам ‘make static’ и ‘make install DEST=”path”‘ для компиляции и установке вашего бота.
  3. Если вы человек выспыльчивый и уже не в состоянии контроллировать свои эмоции, можете набить морду лица вашему админу за корявые статические библиотеки. 🙂

Copyright © 1997 Robey Pointer Copyright © 1999 – 2006 Eggheads Development Team Eggheads Development Team Copyright © 2003-2004, 2005-2006, 2007 Перевод vadim s. sabinich

    Mentions

  • 💬 Блог Сабынича Вадима
  • 💬 Блог Сабынича Вадима

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *