Onde é libraryname.pc?

0
  1. Ao instalar uma biblioteca com configure , make e make install , make install copy <libraryname>.pc em algum lugar?

    • Se sim: Onde fica?
    • Se não: Devemos copiá-lo em algum lugar, em vez de deixá-lo onde estão?
  2. Eu estou perguntando isso, porque em um caderno antigo meu, eu vi:

    add the directory containing libraryname.pc to the PKG_CONFIG_PATH environment variable, so that pkg-config --clags libraryname and pkg-config --libs libraryname can find them.

  3. O dpkg -l conseguirá acompanhar a biblioteca instalada, dependendo se o caminho foi adicionado a PKG_CONFIG_PATH ?

  4. Depois que eu copiar <libraryname>.pc para algum lugar, dpkg -l será capaz de rastrear os pacotes instalados?

por Tim 09.07.2014 / 19:50

1 resposta

1

Em geral, ./configure && make && make install sem nenhum parâmetro coloca tudo sob /usr/local , o que colocaria foo.pc em /usr/local/lib/pkgconfig/foo.pc

Para fazer uso disso, você precisa fazer basicamente PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags foo ou compilar desta maneira:

./configure --prefix=/usr #places built binaries under /usr instead of /usr/local
make
make install

Agora, o arquivo foo.pc estará onde é esperado.

Nota: Isso coloca coisas em pastas do sistema, portanto, você pode sobrescrever coisas importantes se não tiver cuidado.

E para responder sobre a questão dpkg , não. Os gerenciadores de pacotes só podem rastrear arquivos instalados por eles. Agora, se você estiver se sentindo entusiasmado, poderá escrever os arquivos necessários para encapsular o processo padrão ./configure && make && make install buils para produzir um pacote dpkg installable deb, que seria rastreado:)

Já faz algum tempo desde a última vez que fiz um pacote debian, alguns anos, e para ser honesto, eu odiava o processo, então não espere informações minhas sobre isso. Desde então, mudei para o archlinux e escrever PKGBUILD s (scripts que constroem pacotes em arco usando makepkg ) é uma tarefa bastante simples:)

    
por 09.07.2014 / 20:10