Como instalar o pacote Xaw com arquivos de cabeçalho?

4

Estou com esse erro no Ubuntu 14.04:

checking for X... libraries , headers /usr/include/X11/
configure: error: Cannot find required Xaw header file Box.h; PDCurses cannot be configured

Como posso corrigir isso?

    
por Sebastian Milhas 21.10.2014 / 02:24

3 respostas

4

O recurso bonito do ubuntu é a capacidade de procurar por bibliotecas ... você precisa do Xax com arquivos de cabeçalho ... cada pacote que dá cabeçalhos termina com -dev ... em uma pesquisa de terminal emitindo:

apt-cache search  Xaw  # any library will start with lib and end with dev

aqui coloco essas restrições todas na mesma linha

apt-cache search  Xaw | grep lib | grep -i Xaw | grep dev

saída

libxaw7-dev - X11 Athena Widget library (development headers)
libxaw3dxft8-dev - Extended version of Xaw3d with support for UTF8 (Development files)

escolha a listagem acima da mais próxima ... que é

libxaw7-dev  # desired package - starts with lib has xaw ends with dev

faça isso para instalar

sudo apt-get install libxaw7-dev

uma vez instalado, edite isso para listar os arquivos contidos no pacote (para ver os arquivos de cabeçalho)

 dpkg -L libxaw7-dev
    
por Scott Stensland 30.12.2015 / 22:57
2

Parece que não há resposta aceita ainda ... Então, vamos tentar: Na minha máquina out-of-the-box do Ubuntu, primeiro eu instalo o pacote de desenvolvimento necessário com os cabeçalhos:

sudo apt-get install libxaw7-dev

Em seguida, preciso informar ao script ./configure o local correto para esses arquivos de desenvolvimento. Na minha máquina, isso é /usr/lib/x86_64-linux-gnu . Você obtém isso de apt-cache show libxaw7 . Com esse conhecimento, ligue para

./configure --x-libraries=/usr/lib/x86_64-linux-gnu
    
por Clemens 26.01.2015 / 14:00
1

TL; DR: Instale libxaw7-dev .

Parece que você está construindo software a partir do código-fonte, e que o software que você está construindo não é o próprio Xaw, mas usa Xaw por linking contra ele.

Para criar um software vinculado a uma biblioteca, você deve instalar os arquivos de cabeçalho dessa biblioteca (que é a mensagem de erro - "Não é possível localizar o arquivo de cabeçalho Xaw necessário, Box.h" - está informando que você não usa) t tem).

No Ubuntu, os arquivos de cabeçalho são fornecidos por pacotes separados, cujos nomes terminam em -dev . Neste caso, você precisa de libxaw7-dev . (Você também precisa de libxaw7 , mas se você ainda não o tiver, ele será instalado automaticamente quando você instalar o pacote -dev correspondente Em contraste, instalando ele não instalará automaticamente seu pacote -dev .

Você pode instalar o libxaw7-dev no Centro de Software ou executando:

sudo apt-get update
sudo apt-get install libxaw7-dev

Embora não seja necessário instalar o libxaw7 explicitamente, talvez você queira, para que ele não seja automaticamente removido se o pacote -dev for desinstalado posteriormente e nenhum outro pacote declarar uma dependência . (De modo geral, o gerenciador de pacotes não sabe sobre o software que você construiu e instalou manualmente a partir do código-fonte.) Se você deseja fazer isso, substitua a segunda linha por:

sudo apt-get install libxaw7-dev libxaw7

Ou apenas execute sudo apt-get install libxaw ou sudo apt-mark manual libxaw7 , se você já tiver instalado libxaw7-dev .

No caso desta biblioteca em particular ( libxaw7 ), foi fácil adivinhar o nome do pacote que fornece seus arquivos de cabeçalho libxaw7-dev . Às vezes não é tão fácil. Nesse caso, ou em geral para descobrir qual pacote oficial do Ubuntu fornece um arquivo (cujo nome de arquivo você conhece), você pode procurar o Banco de dados de pacotes do Ubuntu , em "Pesquisar o conteúdo dos pacotes".

Isso revela que vários pacotes fornecem arquivos com esse nome ou um nome semelhante. No entanto, apenas um dos resultados da pesquisa fornece um arquivo de cabeçalho para o Xaw: libxaw7-dev (o arquivo é /usr/include/X11/Xaw/Box.h .)

Essa pesquisa é exibida outros arquivos de cabeçalho relacionados fornecidos por dois outros pacotes relacionados, que eu acredito que você não precisa, já que sua mensagem de erro dizia "Não é possível encontrar o necessário Xaw cabeçalho" (e não Xaw3d ou < em> Xaw3dxft ). No entanto, caso você precise das bibliotecas relacionadas ' Box.h files, elas são fornecidas pelo xaw3dg-dev e xpaint-dev pacotes.

    
por Eliah Kagan 11.03.2017 / 20:03