$ wget http://sourceforge.net/projects/gearbox/files/gearbox/9.11/gearbox-9.11.tar.gz
$ tar -zxvf gearbox-9.11.tar.gz
Instale as dependências do Gearbox:
$ sudo apt-get install libboost-python-dev libzeroc-ice33-dev
Por causa de um problema com os nomes dos arquivos o cmake não irá localizar uma das libs que acabamos de instalar (libboost_python-mt-py27.so), então basta criar um link simbólico para resolver o problema:
$ sudo ln -s /usr/lib/libboost_python-mt-py27.so /usr/lib/libboost_python-mt.so
Mude para o diretório do Gearbox:
$ cd gearbox-9.11
Crie um diretório para a versão final do pacote e mude para ele:
$ mkdir build
$ cd build
Agora vamos configurar, compilar e instalar o pacote:
$ cmake ..
$ make
$ sudo make install
Devemos acrescentar o path das libs do Gearbox ao arquivo ld.so.conf para que seja possível a sua localização automática. Para isso acrescente o texto /usr/local/lib/gearbox em uma nova linha do arquivo.
$ sudo gedit /etc/ld.so.conf
Recarregue o arquivo para que as alterações sejam consideradas:
$ sudo ldconfig
Além disso é necessário corrigir alguns arquivos de configuração. A compilação não chega a criar todos os arquivos necessários e alguns apresentam um erro de sintaxe que compromete a resposta do comando pkg-config.
Acesse o diretório onde estão as informações para o pkg-config
$ cd /usr/local/lib/pkgconfig
Substitua o ponto-e-virgula por um espaço nas entradas “Requires” dos arquivos: GbxGarminAcfr.pc, GbxNovatelAcfr.pc, GbxSickAcfr.pc e GbxSmartBatteryAcfr.pc, separando as dependências que a lib em questão possui.
$ sudo gedit GbxGarminAcfr.pc GbxNovatelAcfr.pc GbxSickAcfr.pc GbxSmartBatteryAcfr.pc
Agora vamos criar os arquivos que estão faltando:
$ sudo gedit GbxIceUtilAcfr.pc GbxLockFileAcfr.pc GbxNovatelUtilAcfr.pc GbxSerialDeviceAcfr.pc GbxUtilAcfr.pc
Os conteúdos serão, respectivamente:
Name: GbxIceUtilAcfrSalve todos os arquivos e verifique se está tudo correto, digitando:
Description: Part of GearBox.
Version: 1.0.0
Requires:
Libs: -L/usr/local/lib/gearbox -lGbxIceUtilAcfr
Cflags: -I/usr/local/include/gearbox
Name: GbxLockFileAcfr
Description: Part of GearBox.
Version: 1.0.0
Requires:
Libs: -L/usr/local/lib/gearbox -lGbxLockFileAcfr
Cflags: -I/usr/local/include/gearbox
Name: GbxNovatelUtilAcfr
Description: Part of GearBox.
Version: 1.0.0
Requires:
Libs: -L/usr/local/lib/gearbox -lGbxNovatelUtilAcfr
Cflags: -I/usr/local/include/gearbox
Name: GbxSerialDeviceAcfr
Description: Part of GearBox.
Version: 1.0.0
Requires:
Libs: -L/usr/local/lib/gearbox -lGbxSerialDeviceAcfr
Cflags: -I/usr/local/include/gearbox
Name: GbxUtilAcfr
Description: Part of GearBox.
Version: 1.0.0
Requires:
Libs: -L/usr/local/lib/gearbox -lGbxUtilAcfr
Cflags: -I/usr/local/include/gearbox
$ pkg-config --libs flexiport Gbx* hokuyo_aist
Espera-se que o resultado seja algo parecido com (mesmo que em ordem diferente):
-L/usr/local/lib/gearbox -lGbxGarminAcfr -lGbxNovatelAcfr -lGbxNovatelUtilAcfr -lGbxSickAcfr -lGbxIceUtilAcfr -lGbxSerialDeviceAcfr -lGbxSmartBatteryAcfr -lGbxSerialAcfr -lGbxLockFileAcfr -lGbxUtilAcfr -lhokuyo_aist -lflexiport
Para outras informações visite o site do projeto em http://gearbox.sourceforge.net/
That's it! =)
Um comentário:
Valeu pelo tutorial, Leandro.
Postar um comentário