Pergunta

Eu estou tentando construir ZooKeeper em uma caixa de RedHat Linux. (Exatamente o que ZooKeeper é provavelmente não é importante: -)

Quando eu siga as instruções da embalagem, eu recebo:

 $ autoreconf -if
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

Não consigo instalar CPPPUNIT no local padrão. (Não tem privilégios de root, o Team System tem uma política de "sem desvios" da configuração padrão.)

Eu trabalhei em torno do problema comentando as referências a AM_PATH_CPPUNIT no meu arquivo configure.ac, mas o que eu realmente gostaria de fazer é instalar CPPPUNIT no meu diretório pessoal e apontar para ele, mas eu sou não fazendo muito progresso em descobrir como dizer a autoconf / auotmake sistema para procurá-lo em um lugar não-padrão. Alguém tem alguma dica sobre como fazer isso?

Foi útil?

Solução

Você deseja definir a variável de ambiente ACLOCAL_PATH.

ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if

Para descobrir o diretório que você precisa para ponto ACLOCAL_PATH em, você terá que encontrar o diretório que contém o arquivo .m4 que define AM_PATH_CPPUNIT.

Outras dicas

No meu caso, eu tenho esse erro por causa da falta do pacote cppunit-devel. Depois de instalar este pacote no meu servidor centos por yum -y install cppunit-devel, tudo funciona bem.

Se a variável de caminho não pode ser adicionado ao seu perfil ou environmen .. ou o que você tem, você pode tentar "exportar" o caminho antes da execução do autoconf. Isto irá definir essa opção, pelo menos para essa sessão ...

export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal

Além disso, se o impulso vem shove, você pode .. (Isso limpa para fora seu Makefiles de qualquer porcaria não-trabalho que o autoconf / configure comandos deixou com ...)

make clean

E abrir seu script "./configure", e é amiguinhos (qualquer coisa chamada 'configure. *') .. em um editor de texto. Então, um pouco cuidado "Localizar e substituir" as instâncias de qualquer "coisa" está mexendo-lo. Depois de corrigir as directivas nos scripts configurar e executá-los de novo ... com alguma sorte seus arquivos fizer vai trabalhar em seu ambiente.

Nota: Este é o que eu faço no meu MAC, geralmente para compilar LINUX SW que não é testado ou concebido para ser executado em um Mac. Esta pode ser a maneira errada de fazê-lo, mas quando não há um monte de opções, às vezes você apenas tem que chegar lá e muck com ele.

Em caso de múltiplos caminhos, adicioná-los com: separador. Como:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top