Pessoal,
comecei o processo de migração, para o VSTB que contém a versão 0.12.1 do Ginga, de uns componentes que ajudei a desenvolver. Gostaria de reportar aqui os problemas que tive:
1) Não encontrei no diretório /usr/src, como era de costume encontrar em versões anteriores, o script getGingaNclCode.sh. Essa ausência foi proposital?
2) Ao tentar compilar o componente telemidia-util-cpp, obtenho o seguinte erro:
root@gingavm:/usr/src/gingaNcl/telemidia-util-cpp# make
make all-recursive
make[1]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp'
Making all in include/util
make[2]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp/include/util'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp/include/util'
Making all in src
make[2]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp/src'
/bin/bash ../libtool --tag=CXX --mode=link g++ -fPIC -g -O2 -Wl,-soname,libtelemidiautil.so -shared -o libtelemidiautil.so Color.o functions.o
libtool: link: g++ -fPIC -g -O2 -Wl,-soname -Wl,libtelemidiautil.so -o libtelemidiautil.so Color.o functions.o
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make[2]: *** [libtelemidiautil.so] Error 1
make[2]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp'
make: *** [all] Error 2
Comecei então a fazer uma checagem seguindo as instruções do site http://svn.softwarepublico.gov.br/trac/ginga/wiki/Building_Wiki_GingaNCL. Os exemplos df_dok e df_andi estão rodando corretamente e as variáveis de ambiente também estão corretamente configuradas. O único problema que percebi foi que a versão da libtool instalada no VSTB é a 2.2.6b, enquanto que o a wiki diz que deveria ser "libtool >= 1.3.4 (até 1.5.x)". Será que é esse o problema?
Baixei a versão 1.5.25 a partir de um dos links indicados pelo site http://packages.ubuntu.com/hardy/i386/libtool/download e forcei o uso da mesma:
wget http://ubuntu.mirrors.pair.com/archive//pool/main/libt/libtool/libtool_1.5.26-1ubuntu1_i386.deb
dpkg --force-downgrade -i libtool_1.5.26-1ubuntu1_i386.deb
Porém, quando tento compilar agora, recebo o seguinte erro:
root@gingavm:/usr/src/gingaNcl/telemidia-util-cpp# make
make all-recursive
make[1]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp'
Making all in include/util
make[2]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp/include/util'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp/include/util'
Making all in src
make[2]: Entering directory `/usr/src/gingaNcl/telemidia-util-cpp/src'
/bin/bash ../libtool --tag=CXX --mode=link g++ -fPIC -g -O2 -Wl,-soname,libtelemidiautil.so -shared -o libtelemidiautil.so Color.o functions.o
../libtool: line 467: CDPATH: command not found
../libtool: line 1145: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b Debian-2.2.6b-2ubuntu1, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b Debian-2.2.6b-2ubuntu1
libtool: and run autoconf again.
make[2]: *** [libtelemidiautil.so] Error 63
make[2]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/gingaNcl/telemidia-util-cpp'
make: *** [all] Error 2
Percebi então que ficou algum resquício da versão 2.2.6b no meu sistema. Resolvi desinstalar a libtool e instalar de novo a versão velha:
dpkg -r libtool
dpkg -i libtool_1.5.26-1ubuntu1_i386.deb
Mas não adiantou, o erro de compilação continua sendo o mesmo.
O problema é que após chamar ./autogen.sh, surge dentro da pasta telemidia-util-cpp uma cópia da libtool, que é da versão 2.2.6b. Não sei de onde o autogen.sh tira essa versão. Imagino que quem coloca essa versão na pasta local seja a libtoolize, que é chamada pelo autogen.sh. Mas a libtoolize também está na versão 1.5.26, pois vem junto com o pacote libtool.
Alguém teria alguma dica para me dar?
Abraços,
Diogo
Autor: Diogo Pedrosa
22 comentários
Diogo