Eu precisava instalar o Network Simulator (NS) no meu Debian lenny. Entre muitas dificuldades, estavam o fato de não conseguir compilar com a tcl/tk 8.5a6 (versão mais nova até agora) instalada no meu micro. Não ia me desfazer delas, até mesmo porque eu gosto do anti aliasing no meu aMSN 0.97b. Pois bem, vejamos como eu resolvi isso:
Primeiro, baixar tudo o que se precisa para o diretório /usr/src:
cd /usr/src wget ftp://ftp.tcl.tk/pub/tcl/tcl8_5/tcl8.5a6-src.tar.gz wget ftp://ftp.tcl.tk/pub/tcl/tcl8_5/tk8.5a6-src.tar.gz wget http://ufpr.dl.sourceforge.net/sourceforge/otcl-tclcl/otcl-src-1.13.tar.gz wget http://ufpr.dl.sourceforge.net/sourceforge/otcl-tclcl/tclcl-src-1.19.tar.gzDepois disso, o primeiro passo é compilar o tcl 8.5a6 . Aproveitemos pra compilar isso já nos moldes do uso com o amsn, pra deixar todo mundo feliz...
aptitude install make gcc libc6-dev cd /usr/src tar zxvf tcl8.5a6-src.tar.gz cd /usr/src/tcl8.5a6/unix ./configure --prefix=/usr make make installDepois disso, temos que compilar a tk 8.5a6 com os cabeçalhos (.h) da tcl 8.5a6, senão a gente não consegue compilar a otcl.
aptitude install libx11-dev libxft-dev cd /usr/src tar zxvf tk8.5a6-src.tar.gz cd /usr/src/tk8.5a6/unix ./configure --includedir=/usr/src/tcl8.5a6/generic/ --enable-xft make make installAgora, pra terminar a compatibilidade com o meu amsn, eu desinstalei e reinstalei a tcltls. Ela pede a tcl8.3, mas isso não é problema. Já existe pacote debian para a tcltls 1.5, é só instalar via aptitude. Mas caso vc não consiga, instale manualmente:
aptitude install libssl-dev cd /usr/src wget http://ufpr.dl.sourceforge.net/sourceforge/tls/tls1.5.0-src.tar.gz tar zxvf tls1.5.0-src.tar.gz cd tls1.5 ./configure --with-ssl-dir=/usr make make installFeito isso, a gente agora descompacta e compila a otcl. É importante que ela fique instalada em /usr/lib, e não em /usr/local/lib como por default. O NS verifica a existencia dessa biblioteca em /usr/lib, e não consegui fazê-lo olhar em outro lugar.
cd /usr/src tar zxvf otcl-src-1.13.tar.gz cd otcl-1.13 ./configure --prefix=/usr make make installAgora, a gente compila a tclCL, nos mesmos moldes
cd /usr/src tar zxvf tclcl-src-1.19.tar.gz cd tclcl-1.19 ./configure --prefix=/usr make make installE o último passo de compilação: o código fonte do ns-2
cd /usr/src tar zxvf ns-src-2.31.tar.gz cd ns-2.31 ./configure --prefix=/usr makeApós a copilação, é preciso se verificar se tudo foi construido corretamente. É só executar esse script, que se encontra na pasta do ns:
./validateDepois disso, acho que o ns vai estar instalado perfeitamente.