Obtendo uma versão mais recente do GEOS do que está disponível nos repositórios do Debian

3

Eu preciso instalar um GEOS version > = 3.2.2, e fazê-lo está além da minha aptidão atual (trocadilho pretendido).

A versão atual do Debian squeeze é 3.2.0 , que não funcionará para meus propósitos (usando o pacote rgeos em R).

Eu tentei o seguinte:

  • Instalando o pacote 3.3.3 do repositório wheezy do Debian via dpkg -i
  • Instalando vários pacotes 3.2.2 do repositório do Ubuntu.

Todos falham porque eu preciso de libstdc++6 (>=4.6) e tenho a versão 4.4.5-8.

Eu suponho que o que eu preciso é instalar uma nova versão da libstdc ++ 6, mas eu quero fazer isso de uma maneira que não quebre pacotes existentes. É possível ter duas versões instaladas de uma só vez, sendo a mais nova usada apenas para o GEOS? E se sim, como faço isso?

Atualizar

De acordo com a sugestão do @ Marco, eu compilei o GEOS e ele compila / instala corretamente, mas com o 3.3.3 e 3.2.3 recebo o seguinte erro quando tento instalar o pacote rgeos em R:

* installing *source* package ‘rgeos’ ...
** package ‘rgeos’ successfully unpacked and MD5 sums checked
checking geos-config usability... yes
configure: geos-config: geos-config
configure: GEOS version: 3.2.3
checking geos version over 3.2.1... yes
checking geos-config clibs... no
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.
    
por Ari B. Friedman 07.10.2012 / 14:23

1 resposta

4

Provavelmente, uma maneira mais fácil e segura é pegar as fontes para 3.3.3 e compilar seu próprio backport. Isto liga-se às bibliotecas antigas em vez das novas. Pode falhar nos casos em que o pacote depende da funcionalidade presente apenas na versão mais recente.

Obtenha as fontes

Para criar um backport, adicione os repositórios ao seu sources.list de a versão que você deseja compilar. Você também precisa do deb-src entradas. Execute apt-get update para atualizar o banco de dados. Não se esqueça de restaurá-lo depois de terminar.

As fontes podem ser obtidas com apt-get source libgeos-3.3.3 . Ou você pode recuperar os pacotes de origem de Debian manualmente. Você extrai a fonte com dpkg-source -x libgeos-3.3.3.dsc .

Recuperar dependências

Para instalar todos os pacotes que dependem da compilação, execute

apt-get build-dep libgeos-3.3.3

Compile a fonte e crie o pacote

Se necessário, você pode ajustar as opções de compilação no arquivo %código%. Para criar uma execução do pacote Debian

dpkg-buildpackage -rfakeroot -b -us -uc

Você acaba com um pacote normal que pode ser instalado e removido usando seu gerenciador de pacotes. Instale-o com debian/rules .

    
por 07.10.2012 / 17:46