Como cruzar elfutils de compilação

1

Meu sistema (uname --all)

Linux shyamdaramubtnb 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Meu alvo

ARM Cortex A7

Estou no processo de compilação cruzada de perf tools para ARM, mas perf enquanto a compilação requer que o pacote elfutils leia o arquivo VMLinux mais tarde, qualquer um pode me sugerir uma maneira de compilar elfutils de compilação

Pacote baixado de aqui .

Atualmente, estou seguindo o procedimento abaixo:

$ aclocal
$ autoheader
$ autoconf
$ automake --add-missing
$ ./configure --host=arm-none-linux-gnueabi \
--prefix=/home/kwangwoo/tools/arm-2010q1/arm-none-linux-gnueabi/libc/usr/
$ make
$ make install

mas fiquei preso no processo de execução de ./configure, que me lança um erro de

./configure: line 5115: syntax error near unexpected token 'zlib,ZLIB,z,gzdirect,gzip'
./configure: line 5115: 'eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip)'

Qual pode ser o motivo? Estranho que eu não encontrei um Makefile na pasta baixada, o configure deveria criar um arquivo make? (Eu vejo arquivos como Makefile.in , Makefile.am ).

OS ÚLTIMOS DESENVOLVIMENTOS 1: Comecei a seguir o link que tem poucos hacks para meus problemas e estou tentando fazer o mesmo que eu estou tentando

anteriormente eu enfrentei alguns avisos que eu ignorei, e eu entendi que eles são a causa real dos problemas, na execução de aclocal i recebi um erro dizendo

warning: macro AM_PO_SUBDIRS not found in library.

que foram resolvidos com a instalação de intltool e gettext

depois de executar automake --add-missing i, recebi um aviso dizendo que

libdwfl/Makefile.am:73: ZLIB does not appear in AM_CONDITIONAL
libdwfl/Makefile.am:76: BZLIB does not appear in AM_CONDITIONAL
libdwfl/Makefile.am:79: LZMA does not appear in AM_CONDITIONAL
tests/Makefile.am:59: BIARCH does not appear in AM_CONDITIONAL
tests/Makefile.am:122: BIARCH does not appear in AM_CONDITIONAL
tests/Makefile.am:135: LZMA does not appear in AM_CONDITIONAL
tests/Makefile.am:139: ZLIB does not appear in AM_CONDITIONAL

como sugerido pelo link eu tentei autoreconf -f -i e, em seguida, automake --add-missing novamente, que funcionou como charme

então eu corri o ./configure como acima, que realmente não parou em nenhum lugar, desde que eu também fiz poucos pensa como comentar partes do Makefile e backends / Makefile que envolvem em algum script relacionado ao i386 e x86_64 que resolveram o meu problema na construção de elfutils para ARM!

Alguém pode explicar o que realmente está acontecendo nas etapas acima?

    
por kakeh 19.08.2015 / 07:06

1 resposta

1

A suíte autotools é uma estrutura de scripts e ferramentas para automatizar as configurações e a compilação de um pacote de software virtualmente em qualquer tipo de sistema (em teoria).

É bastante complexo.

Normalmente, a primeira fase é configurar o sistema de compilação para verificar se tudo o que você precisa para compilar o software está presente em seu sistema e, também, para saber onde ele está. é (e em qual versão está presente).

Em seguida, o sistema de compilação (baseado em Makefiles) está configurado e pronto para ser usado.

Você parece parar na fase de configuração porque em algum erro interno ao script de configuração.

Observe que o comando que você executou, anterior ao script configure , geralmente é para desenvolvedores, eles provavelmente são necessários devido à compilação cruzada.

Finalmente, a mensagem de erro parece parar na detecção da biblioteca zip (o script tem a escolha entre a exibição da lista, como o zip é um algoritmo padrão, ele pode simplesmente escolher uma das lib, mas parece que não está feliz com o script que encontra).

Não sei dizer muito mais, já que você não especificou mais sobre sua distribuição e o contexto em que você está trabalhando.

    
por 19.08.2015 / 09:13