On Wed, Sep 10, 2008 at 02:10:08AM +0400, Sergey Bolshakov wrote: > >> библиотека "сама по себе" работает, если приложение, в которое > >> встроена libtcl, потрудится установить в своё окружение переменную > >> TCL_LIBRARY, указывающую на специфический init.tcl -- например. > >> Есть и другие способы, желающие да насладятся разбором исходников tcl, > >> в районе generic/tclInterp.c и unix/tclUnix.Init.c > >> > >> Кроме того, я был бы признателен, если бы ты избирал для иллюстрации > >> своих, безусловно, интересных размышлений более подходящие примеры. > > > $ hsh --init > [skipped] > > > $ hsh-run -X ocamlbrowser > > xauth: creating new authority file /usr/src/.Xauthority > > Fatal error: exception Protocol.TkError("Can't find a usable init.tcl in the following directories: > > /usr/share/tcl/tcl8.5 /usr/lib/tcl8.5 /lib/tcl8.5 /usr/library /library /tcl8.5.4/library /tcl8.5.4/library > > > This probably means that Tcl wasn't installed properly. > > ") > > $ > > Что же это иллюстрирует ? Просили более подходящий пример для иллюстрации, нежели чем макетная программа. Есть реальный пример, который иллюстрирует проблему. > На мой взгляд, неполные зависимости в ocamlbrowser. Что же, в ocamlbrowser нужно добавить зависимость на tcl(init)? Но ведь эта зависимость "сидит" в бинарном коде libtcl. На самом деле tcl не предоставляет зависимость вида tcl(init), так что даже нет хорошего способа указать именно эту зависимость. Как тогда предлагается дополнить зависимости ocamlbrowser? > Бишь, в ответ на моё разъяснение, каким именно способом _возможно_ > использовать libtcl без tcl, ты продолжаешь меня уверять, что если > ничего этакого в приложении не делается, то оно и не работает -- ну > так я этого и не оспариваю. > > Для выделения libtcl в отдельный подпакет мне было достаточно > знания того, что такие способы существуют и практикуются. > Что должно значиться в зависимостях некоего пакета Пэ, > слинкованного с libtcl -- решать уважаемому майнтайнеру Пэ, > не мне. $ nm -D /usr/lib64/ocaml/stublibs/dlllabltk.so |grep Tcl_Init U Tcl_Init $ Вызов Tcl_Init приводит к облому, так что программы, "честно" слинковавшиеся с libtcl, имеют недостаточные зависимости. С одной стороны, программы, слинкованные с libtcl, могут и не использовать Tcl_Init. С другой стороны, можно ожидать, что программы будут использовать именно эту стандартную процедуру инициализации.