O Autotools não detecta minha arquitetura corretamente. Como lidar?

1

Estou tentando criar o ffmpeg mais recente do repositório do git. No entanto, como você pode ver abaixo, o autotools não detecta corretamente que minha caixa tem arquitetura de 64 bits (Ubuntu 12.04) . Consequentemente, durante a construção, algumas bibliotecas x86 são necessárias, mas não estão presentes, e a construção falha. Como faço para resolver isso?

mvitkov@mms:~/projects/ffmpeg/build$ ../ffmpeg/configure --enable-shared
output:
install prefix /usr/local
source path /home/users/mvitkov/projects/ffmpeg/ffmpeg
C compiler gcc
ARCH x86 (generic)

Por outro lado, os autotools geralmente funcionam bem:

mvitkov@mms:~/projects/x264/build$ ../x264/configure --enable-static output:
*platform: X86_64*

    
por Vorac 26.10.2012 / 13:05

1 resposta

1

Então você quer construir uma versão de 64 bits do ffmpeg? Tem certeza de que seu compilador não está fazendo binários de 64 bits por padrão? Se não estiver, o mais comum é editar o CFLAGS , CXXFLAGS e LDFLAGS .

Você provavelmente usaria algo assim: -

CFLAGS="-m64 -O3 -fPIC"  CXXFLAGS="$CFLAGS" LDFLAGS="-melf_x86_64 -O3" ../ffmpeg/configure --enable-static

Vale sempre a pena verificar as outras opções disponíveis em 'configure --help'. O ffmpeg tem muitas dependências opcionais, algumas das quais você provavelmente desejará ativar.

A outra maneira de segmentar uma arquitetura e uma plataforma específicas é usar os sinalizadores --host , --target e --build configure. Estes são sinalizadores de autotools padrão. Eu sempre os confundo, mas uma explicação concisa deles pode ser encontrada em em linuxforums .

    
por 26.10.2012 / 15:23