Como o gcc no Solaris encontra suas bibliotecas?
Pergunta
Estou tentando instalar o 'quadrupel', uma biblioteca que depende do ffmpeg no Solaris x86.
Consegui construir o ffmpeg e suas bibliotecas estão em /opt/gnu/lib e as inclusões estão em /opt/gnu/include, mas quando tento construir o quadrupel, ele não consegue encontrar os cabeçalhos do ffmpeg.
Quais sinalizadores/configuração são necessários para incluir esses dois diretórios nos caminhos de pesquisa adequados para bibliotecas e inclusões?Não sou muito hacker de Makefile.
Solução
Você pode substituir o caminho configurando a variável ambiental LD_LIBRARY_PATH.No entanto, eu sugeriria alterar também os caminhos do sistema, para que você não precise alterar o caminho da biblioteca para todos os usuários.Isso pode ser feito usando crel.
crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib
Para incluir, basta adicionar -I/opt/gnu/include à sua variável CFLAGS.
Outras dicas
Acredito que você precise adicionar o seguinte ao Makefile:
CFLAGS += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib
O argumento -I informa ao gcc onde encontrar os arquivos incluídos.O sinalizador -L informa ao ld onde encontrar as bibliotecas durante a vinculação.O sinalizador -R grava /opt/gnu/lib no caminho de pesquisa da biblioteca no binário quadrupel, para que possa encontrar suas bibliotecas quando for iniciado.