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
-
bin
esbin
possuem binários (os programas que você executa) - é por isso que esses diretórios são geralmente mencionados na variável$PATH
shell. Os
emsbin
usado 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 / oulib64
ou mesmolib32
) mantêm as bibliotecas compartilhadas (e possivelmente estáticas) -
include
contém arquivos de cabeçalho que permitem vincular seu código a bibliotecas (basicamente definições de APIs). -
etc
eshare
são para configuração e arquivos de dados adicionais. -
PREFIX
geralmente é/usr
,/usr/local
,/opt
ou/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.