Os pacotes -devel geralmente contêm arquivos de cabeçalho, dados do pkgconfig e similares - qualquer coisa que seja necessária para link uma aplicação na biblioteca em questão. Não sei ao certo como as portas funcionam, mas verifique /opt/local (ou /opt/local/include ) para archive.h e archive_entry.h . Sem esses arquivos, você não poderá compilar o aplicativo. Como o caminho parece não-padrão ( /opt/local/... ), você provavelmente precisará informar ao sistema de compilação, que deve procurar as bibliotecas e os cabeçalhos nesse diretório específico.
O layout genérico básico de arquivos em sistemas semelhantes a unix atualmente é regido pelo Padrão de Hierarquia do Sistema de Arquivos . As partes mais importantes são as seguintes:
PREFIX
|-- bin
|-- etc
|-- include
|-- lib
|-- sbin
'-- share
-
binesbinpossuem binários (os programas que você executa) - é por isso que esses diretórios são geralmente mencionados na variável$PATHshell. Osemsbinusado para representar estático como no binário vinculado estaticamente, que não precisa de nenhuma vinculação dinâmica e pode ser basicamente executado "como está". -
lib(e / oulib64ou mesmolib32) mantêm as bibliotecas compartilhadas (e possivelmente estáticas) -
includecontém arquivos de cabeçalho que permitem vincular seu código a bibliotecas (basicamente definições de APIs). -
etcesharesão para configuração e arquivos de dados adicionais. -
PREFIXgeralmente é/usr,/usr/local,/optou/opt/<something>, mas você também pode criar essa estrutura em seu diretório pessoal, por exemplo.
Como dizer ao sistema de construção onde procurar binários depende de qual código o código usa. Geralmente esse tipo de informação é colocado no arquivo README ou INSTALL que acompanha a origem. Por exemplo, para GNU autotools, geralmente é na forma de --with-name=PREFIX ou --with-name-lib=PREFIX/lib --with-name-include=PREFIX/include argumentos passados para o script configure . Se isso não estiver disponível, você poderá exportar explicitamente as variáveis usadas pelo compilador e pelo vinculador:
$ export CFLAGS="-IPREFIX/include $CFLAGS"
$ export LDFLAGS="-LPREFIX/lib $LDFLAGS"
No seu caso, isso seria -I/opt/local/include e -L/opt/local/lib , respectivamente.