Diga ao pkg-config para procurar arquivos * .pc também em / usr / local / lib / pkgconfig, em todo o sistema

6

Neste momento, pkg-config parece apenas em /usr/lib/pkgconfig . Eu posso ajustá-lo para um usuário exportando a variável de ambiente PKG_CONFIG_PATH , mas mais uma vez eu esqueci de fazer isso por root e desperdício de tempo me perguntando, porque meu plugin não está instalado corretamente (o makefile usado pkg-config ). Então, como é possível definir o sistema como um todo, para que ele sempre olhe para os dois /usr/lib e /usr/local/lib ?

    
por gruszczy 06.08.2011 / 12:30

2 respostas

2

O local tradicional para definir uma variável de ambiente em todo o sistema é /etc/profile . Esse arquivo é lido por shells estilo Bourne (incluindo bash, ksh, ash) quando você efetua login em uma sessão de modo de texto, localmente (em um console de modo de texto) ou remotamente (por meio de ssh). Se você efetuar login em um ambiente gráfico, /etc/profile poderá ou não ser lido, dependendo de seu gerenciador de login, ambiente de área de trabalho e distribuição do sistema operacional.

Um método melhor, se disponível em seu sistema, é definir a variável de ambiente em /etc/environment . Este arquivo é lido por PAM , especificamente pelo pam_env module . Essas variáveis estão disponíveis em todas as sessões iniciadas por um método de login que usa o PAM e tem o módulo pam_env referenciado em /etc/pam.conf ou /etc/pam.d/$method .

    
por 06.08.2011 / 20:03
-2

Provavelmente, a maneira mais fácil, embora não 100% confiável, seria adicioná-la a /etc/bashrc .

Não é confiável porque qualquer usuário individual pode definir para não processar /etc/bashrc .

Se você quiser seguir o caminho mais complexo, crie um wrapper que o defina. Primeiro, você renomeia pkg-config para pkg-config-real e, em seguida, crie um novo script chamado pkg-config que definirá a variável.

(Como root ou use o sudo)

cd /usr/bin
mv pkg-config pkg-config-real

Em seguida, crie um novo arquivo em / usr / bin / pkg-config com o seguinte conteúdo:

#!/bin/bash
export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib
pkg-config-real $*

Certifique-se de torná-lo executável.

chmod 755 pkg-config
    
por 06.08.2011 / 18:10