Compilando o kit de ferramentas CARMEN Nav no Ubuntu 10.04

2

Sou iniciante no Ubuntu e tenho tentado instalar alguns kits de ferramentas de robótica para serem usados em um Powerbot em que estou trabalhando. No momento, estou tentando instalar o kit de ferramentas de navegação CARMEN e tenho seguido as instruções no Ubuntu Wiki para dar o passo passo a passo. Meu procedimento foi o seguinte:

  1. Importe canlib.h em / usr / include
  2. Instale o gtk + -2.0 através de: sudo apt-get install libgtk2.0 - *
  3. Instale pacotes adicionais (falha ao instalar o libwrap0-deb: E: Não foi possível encontrar o pacote libwrap0-deb). Caso contrário, todos os outros pacotes foram instalados.
  4. De acordo com o link especificado, eles especificaram um hack onde você comenta as linhas 274 a 286 no arquivo de configuração para que o sistema não procure por libgdk_imlib.a.
  5. Corri ./configure e recebi a seguinte saída:

    Using $CC as gcc...
    Found processor i686.
    Congratulations. You are running Linux.
    Found kernel 2.6.32-71-generic.
    This doesn't look like SuSE!
    Searching for linux kernel headers... found at /usr/src/linux-headers-2.6.32-71-generic/include
    Searching for canlib... Found canlib header at /usr/include/canlib.h
    Searching for GTK... found, version 2.20.1
    Searching for joystick... found at /usr/include/linux/joystick.h
    
    It looks like this is a system include, so I won't add it to the standard
    include path. Adding partial system include paths is usually a recipe for
    disaster. If this is the wrong thing to do, you could add the following
    line to Makefile.vars:
    JOYSTICK_INCLUDE = -I/usr/include/linux/joystick.h
    
    Searching for tcpd.h... not found
    Looks like your system does not support access control.
    Sorry about adding security holes.
    Searching for jpeglib.h... found
    Searching for zlib.h... found
    Searching for ImageMagick (Wand)... not found
    Searching for Java... not found
    Searching for doxygen... found
    Searching for SWIG... not found
    Should the C++ tools be installed for CARMEN: [Y/n] y
    Should the old laser server be used instead of the new one: [y/N] n
    
    Type the install prefix to use for public installs, or hit enter to keep the
    default as /usr/local. (This prefix is not currently used by any rules.)
    
    Install path [/usr/local/]: 
    
    You must have Linux kernel 2.0.20 to compile:
    Nomadic Technologies XR4000
    
    These are the robot types CARMEN currently supports:
    1. ActiveMedia Pioneer I
    2. ActiveMedia Pioneer II
    3. iRobot ATRV
    4. iRobot ATRV-JR
    5. iRobot B21R
    6. Scout
    7. OrcBoard v.4 
    8. OrcBoard v.5 (Experimental)
    9. Segway RMP
    10. *
    
    Please select which robots you wish to compile base modules for.
    e.g., 1, 2, 6 would compile support for both Pioneer types and a Scout.
    Hit enter to compile them all, or type "none" to compile no base module
    support, for example, if you will be working exclusively in simulation.
    
    Robot numbers [*]: 1,2,3,4,5,6,7,8 
    
    Compiling base support for: pioneer rflex scout orc4 orc5
    

O que eu não gostei foi o fato de que o tcpd.h não foi encontrado quando, de acordo com o link, ele deveria ter sido encontrado. Eu corri o arquivo make em qualquer caso e é isso que eu tenho quando tentou fazer as funções globais do CARMEN

    ****************************************************************
    * Module  : GLOBAL
    * Comment : CARMEN global functions
    ****************************************************************

    --> Starting make
    ---- Assigning dependencies in GLOBAL
    ---- Compiling global.c to global.o (cc)
    cc1: warnings being treated as errors
    global.c: In function ‘carmen_get_host’:
    global.c:411: error: ignoring return value of ‘fscanf’, declared with attribute     warn_unused_result
    make[3]: *** [global.o] Error 1
    exit: 7: Illegal number: -1
    make[2]: *** [libraries] Error 2
    make[1]: *** [phase1] Error 2
    exit: 1: Illegal number: -1
    make: *** [phase1] Error 2

Por favor, alguém pode me ajudar aqui? Não sei o que significam esses erros e não sei como corrigi-los! Devo recorrer a uma versão ainda mais antiga do Ubuntu?

    
por RachDar 13.01.2015 / 10:15

1 resposta

0

Eu não conheço a ferramenta em questão, mas provavelmente poderia ser útil:

  1. De acordo com apt-search , tcpd.h é fornecido pelo pacote libwrap0-dev (parece haver um erro de digitação, "de b " em vez de "de v ");

  2. Sobre o erro, a compilação é interrompida porque em algum lugar no configure ou Makefile gcc foi solicitado para tratar todos os avisos como erros. O aviso específico é aquele que poderia ser normalmente ignorado; você pode proceder de duas maneiras:

    • edite o arquivo global.c e, na linha 411, coloque um (void) na frente da chamada para fscanf que está causando erros, ou

    • edite o Makefile (s) e encontre onde a opção -Werror é adicionada e remova-a. Em seguida, mantenha os dedos cruzados.

A melhor maneira seria entrar em contato com os autores do software e relatar o problema.

BTW, voltar a versões antigas não é recomendado; Seria muito melhor trabalhar com os desenvolvedores para adaptar o software a um moderno. É mais trabalho a curto prazo, muito menos no longo prazo.

Boa sorte!

    
por Rmano 13.01.2015 / 11:22