qmake procurando por arquivos lib chamados * .pc

1

Estou tentando compilar um software ( FocusWriter ) no openSUSE 11.3, (linux 2.6.34.7-0.5-desktop). (Não consigo encontrar um link de download real para o suposto openSUSE RPM ... apenas muitos metadados sobre os RPMs). Então eu descompactei a fonte do git e, seguindo as instruções, executei qmake . Eu entendo isso:


Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing 'ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing 'hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing 'libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing 'ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing 'hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing 'libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found

Eu sei que todos esses pacotes estão de fato instalados, de acordo com o YaST e o zypper. /usr/lib64/ contém arquivos como libao.20.2 e libzip.so.1 e libzip.so.1.0.0 - mas em nenhum lugar no disco rígido eu posso encontrar qualquer coisa chamada ao.pc, hunspell.pc ou libzip.pc. / p>

Alguma sugestão do que estou sentindo falta aqui?

Obrigado.

    
por Wolf 27.02.2011 / 22:16

1 resposta

2

Você tem as bibliotecas do usuário instaladas, mas também precisa instalar as bibliotecas do desenvolvedor e os arquivos de cabeçalho.

Tomando ao como exemplo:

O pacote normal de usuários inclui arquivos como:

/usr/lib/libao.so.4.0.0
/usr/lib/libao.so.4

enquanto o pacote do desenvolvedor inclui arquivos como:

/usr/include/ao/ao.h
/usr/include/ao/os_types.h
/usr/include/ao/plugin.h
/usr/lib/pkgconfig/ao.pc

E é o segundo conjunto de arquivos que você está perdendo.

Eu não estou familiarizado com o YaST2 do SUSE, mas os comandos devem ser parecidos com% yast2 --install libao-devel .

E o mesmo para os outros pacotes, é claro.

Uma maneira de verificar o nome do RPM a instalar é ir para rpmfind.net e colar um dos nomes de arquivo que faltam , por exemplo %código%. Ele fornecerá uma lista de RPMs : procure pelo OpenSUSE 11.3 e use esse nome ao executar /usr/lib/pkgconfig/ao.pc .

UPDATE

De acordo com Usando o zypper para determinar qual pacote contém um determinado arquivo , você pode usar yast2 --install em vez de precisar usar o rpmfind.net.

Tente isto:

zypper wp ao.pc

(não testado)

Além disso, em um sistema baseado em RPM, você pode achar melhor tentar pesquisar um arquivo RPM zypper e criar usando isso.

Eu encontrei um arquivo de especificação do focuswriter no site do OpenSUSE.

Em seguida, se você criar usando .spec , ele deverá fornecer um erro informando quais pacotes ainda precisam ser instalados para que você possa criá-lo.

Isso também tem a vantagem de fornecer a você um RPM que você pode instalar, atualizar e desinstalar facilmente, que usa as opções de construção recomendadas pelo SUSE.

    
por 27.02.2011 / 22:24