Autoconf, Libtool e um AC_PROG_LIBTOOL indefinido

16

Eu estou tentando construir uma biblioteca, e as instruções do README são chamadas para configure.ac, então faça.

Infelizmente, estou com um erro:

configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token is legitimate please use m4_pattern_allow

Agora, eu sei que tenho o libtool instalado (estou executando o Scientific Linux 6.2 (não atualizado) e usei o yum --downloadonly para obter o rpms do automake, autoconf, libtool e libtool-devel apenas no caso ).

Eles estão instalados e o libtool atualmente mora em / usr / share / libtool. No entanto, o autoconf não consegue encontrá-lo.

Todos os resultados do google foram do tipo 'instalar libtool', o que não me ajuda em nada. Qualquer ajuda ou orientação seria muito apreciada. Eu não tenho certeza se o problema é que o rpm -i errou ao obter o libtool aqui, ou se eu precisar linkar o / usr / share / libtool para algum outro lugar (então qual e todo o resto pode encontrá-lo).

    
por user2093082 14.03.2013 / 18:52

5 respostas

11

você deve instalar o libtool

no Ubuntu:

sudo apt-get install libtool

no redhat baseado em:

yum install libtool
    
por 21.12.2013 / 17:28
7

Eu não estava satisfeito com todas as respostas "apenas reinstalar" que encontrei em toda a Internet em vários fóruns, então estava determinado a resolver isso sem instalar um libtool sem distribuição. (Estou rodando no CentOS 7.)

A lâmpada acima da minha cabeça fica acesa quando eu leio o link . O caminho de pesquisa usado para localizar os arquivos de macro é aquele definido por --prefix , que por padrão geralmente é /usr/local . Então autoconf para um pacote que será instalado em /usr/local pesquisas /usr/local/share/aclocal-APIVERSION e /usr/local/share/aclocal .

Em muitas distros, incluindo o CentOS7, os sete arquivos de macro para libtools estão instalados em /usr/share/aclocal em vez de /usr/local/share/aclocal . Consequentemente, eles não são encontrados quando o pacote que você está construindo define o prefixo para /usr/local .

Para corrigir isso, se você já tiver um diretório /usr/local/share/aclocal , digite o seguinte como root:

for file in argz libtool ltdl ltoptions ltsugar ltversion lt~obsolete
do
  ln -s /usr/share/aclocal/$file.m4 /usr/local/share/aclocal/$file.m4
done

Para corrigir isso se você não tiver um diretório /usr/local/share/aclocal , digite o seguinte como root:

ln -s /usr/share/aclocal /usr/local/share/aclocal

Voilà - problema resolvido.

    
por 07.06.2016 / 18:21
7

Eu também instalei o libtool e outros para diretórios não-padrão, e este erro é, na verdade, o autoconf não sendo capaz de encontrar macros m4 do libtool. Sim, isso pode ser causado pelo fato de o libtool não estar instalado, mas também por estar em um diretório de instalação não padrão. Aqui está minha correção:

export ACLOCAL_PATH=$HOME/install/libtool/share/aclocal:$ACLOCAL_PATH

que eu coloquei no meu .bash_profile

    
por 12.11.2016 / 04:12
1

Você precisa reinstalar para corrigir o erro, portanto, siga estas etapas:

1] Remova o libtool atual se instalado: sudo apt-get purge libtool

2] Faça o download do site oficial link

3] Descompacte: tar -xzvf "name of the tar_file"

4] Digite a pasta e digite: ./configure && make

5] Instale: sudo make install

E você está pronto, o erro deve ser corrigido!

    
por 20.10.2015 / 00:50
0
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token is legitimate please use m4_pattern_allow

Now, I know I have libtool installed ...

Descobri que isso geralmente indica que você não tem libtool equipamentos de desenvolvimento instalados (embora você possa ter libtool instalado).

Você deve instalar o libltdl-dev no Debian e no Ubuntu; e libtool-ltdl-devel no Fedora.

Aqui estão as pesquisas para os pacotes.

Fedora

$ yum search libtool
======================== Name Exactly Matched: libtool =========================
libtool.x86_64 : The GNU Portable Library Tool
======================= Summary & Name Matched: libtool ========================
libtool-ltdl.x86_64 : Runtime libraries for GNU Libtool Dynamic Module Loader
libtool-ltdl.i686 : Runtime libraries for GNU Libtool Dynamic Module Loader
libtool-ltdl-devel.x86_64 : Tools needed for development using the GNU Libtool
                          : Dynamic Module Loader
libtool-ltdl-devel.i686 : Tools needed for development using the GNU Libtool
                        : Dynamic Module Loader
=========================== Summary Matched: libtool ===========================
mingw32-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader
mingw64-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader

Ubuntu

$ apt-cache search libtool
autotools-dev - Update infrastructure for config.{guess,sub} files
libltdl-dev - System independent dlopen wrapper for GNU libtool
libltdl7 - System independent dlopen wrapper for GNU libtool
libtool - Generic library support script
libtool-bin - Generic library support script (libtool binary)
libtool-doc - Generic library support script
...
    
por 15.11.2017 / 16:27

Tags