onde colocar bibliotecas eu me instalo?

0

Ao criar ffmpeg da fonte, recebi o seguinte erro para ./configure --with-libcelt :

ERROR: libcelt not found

Então eu fui para link , clonei o repo e ./autogen.sh; ./configure; make; make install; make check ed.

De volta ao diretório ffmpeg source, ./configure --with-libcelt retornou o mesmo erro.

Eu tentei usar o soft-linking /opt/celt/libcelt/celt.h em /usr/local/lib , mas agora estou oficialmente esfaqueando no escuro.

Eu achei que /usr/local/lib é o lugar canônico que um pacote ./configure procuraria por uma biblioteca, e que o arquivo principal .h eader seria suficiente para mostrar ao configurador onde as coisas estão. Qual é a resposta certa?

    
por isomorphismes 24.08.2017 / 21:37

1 resposta

0

Arquivos de cabeçalho, entre outras coisas, dizem ao compilador quais funções, valores, etc. existem em uma biblioteca. Só porque você aponta para o arquivo de cabeçalho, isso não significa que o vinculador saberá onde procurar a biblioteca correspondente. /usr/lib e /usr/local/lib são normalmente usados ao instalar programas de terceiros. Agora, /opt é normalmente usado para programas untar em uma pasta.

Pelo que vejo, você celtou a pasta /opt/celt . Procure por um arquivo que se pareça com libcelt.so . Isto é, você precisa apontar o linkador para. Supondo que o arquivo esteja em algum lugar lá, você pode apontar o vinculador para examinar essa pasta atualizando a variável de caminho da biblioteca da seguinte forma:

export LD_LIBRARY_PATH=/opt/celt:$LD_LIBRARY_PATH

Em seguida, execute seu configure e faça scripts novamente. Você pode precisar iniciar uma instalação limpa.

    
por breheme 24.08.2017 / 22:03