Como encontro as dependências ao criar software a partir do código-fonte?

3

Aqui está o que eu fiz. Eu baixei o foxtrotgps.1.1.1.tar.gz como ele é o mais recente em /home/crash/usr/local.src Eu extraí para o meu / home / crash / usr / local / src como diretório /foxtrotgps.1.1.1

Em seguida, verifiquei todos os pacotes necessários para o nível correto e eles estavam ou, se ausentes, eu os adicionei.

Então eu vou para o diretório do FTGPS e faço ./configure, e ele chega onde está escrito;

No package 'gtk+-2.0' found
No package 'gdk-2.0' found
No package 'gthread-2.0' found

Mas o gtk + -2.0 está lá, mas não encontro gdk ou gthread. E isso pára e não vai a lugar algum. O que estou fazendo de errado - que dependências de pacote estou faltando?

    
por Jeffrey Jones 05.08.2012 / 20:49

2 respostas

4

a condição

Estou assumindo que você está usando uma versão recente do Ubuntu, como 12.04. As versões no repositório são consideradas estáveis - então talvez você queira usar essa versão.

No entanto, se você gosta de viver na vanguarda - compilar ou instalar a partir de um PPA é o caminho a percorrer. Lembre-se, essa rota pode deixar seu sistema em um estado instável em potencial.

como compilar

As dependências que você precisa instalar são as seguintes:

sudo apt-get install autotools-dev intltool libbluetooth-dev libcurl4-gnutls-dev libexif-dev libgconf2-dev libglade2-dev libgps-dev libgtk2.0-dev  libsoup2.4-dev  libsqlite3-dev libxml2-dev

Lembre-se também de instalar o pacote build-essential , por exemplo,

sudo apt-get install build-essential

então como eu sabia que

... bem eu meio que trapaceei.

Pesquise em packages.ubuntu.com para o seu pacote - Eu procurei por foxtrotgps no repositório Quantal.

Veja os recursos e procure pelo arquivo debian.tar.xz. Clique nele - ele será aberto no gerenciador de arquivos. Navegue até o arquivo control na pasta debian.

Na seção de compilação, os pacotes que o Launchpad precisa para construir a fonte - são os mesmos pacotes que você precisa instalar.

    
por fossfreedom 05.08.2012 / 21:43
2

Às vezes, você pode compilar uma nova versão sem usar os PPAs para as dependências de origem e usar o ótimo recurso build-dep no Ubuntu. Certifique-se de ter os pacotes fonte selecionados e tenha esta linha em seu arquivo sources.list:

deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

Você pode verificar inserindo o terminal cat /etc/apt/sources.list .

Eu compilei com sucesso Stellarium 0.11.3 , Scummvm 1.5.0 e outros obtendo as dependências com build-dep ; por exemplo:

sudo apt-get build-dep scummvm

Para pacotes que já estão nos repositórios, você pode verificar as dependências com:

apt-cache show foxtrotgps

e comparam com as dependências necessárias para a versão mais recente, que será listada no site do programa, ou em um leia-me com o download do código-fonte.

Geralmente, ao obter as dependências através do método build-dep , você deve baixar o código-fonte estável do site do programa, e não a versão de desenvolvimento ou git. Não será nem sempre possível compilar uma nova versão desta forma, mas vale a pena tentar. (O Gimp 2.8, por exemplo, requer uma versão posterior do Gtk e não pode ser atendida usando os arquivos de origem do Precise.)

No entanto, usei o método build-dep com êxito para Foxtrotgps ; basta seguir estas etapas (supondo que você tenha instalado build-essential ):

  • Faça o download do código-fonte estável mais recente (versão 1.1.1 no momento) de o site da Foxtrot

  • Abra o terminal e insira sudo apt-get build-dep foxtrotgps

  • Descompacte o código-fonte baixado com tar xzvf <file> e cd na pasta foxtrot. Em seguida, execute os três comandos a seguir:
  • ./configure
  • make
  • sudo checkinstall (instale checkinstall se você não tiver, ou use sudo make install )

Abaixo está uma imagem do programa compilado, foxtrotgps:

    
por user76204 07.08.2012 / 02:07

Tags