problema a compilar programas em C (instalar build-essential) - [Resolvido]

Iniciado por zmee, 04 de Outubro de 2007, 21:35

tópico anterior - próximo tópico

zmee

Vivas,

Pessoal, estou com um pequeno problema que penso não ser bem igual aos muitos que encontrei pela pesquisa.

O problema "base" é não conseguir compilar um simples "Hello World" no Ubuntu 7.04.

Pelo que li e percebi no forum, parece que é um pequeno (grande) promenor no gcc que vem instalado por defeito no Feisty. (a solução que encontrei no forum foi instalar o pacote build-essential).

No entanto, ao fazer:
sudo apt-get install build-essential

não funciona, dizendo no fim:


"Os pacotes a seguir têm dependências não satisfeitas:
  build-essential: Depende: libc6-dev mas não vai ser instalado ou
                            libc-dev
                   Depende: g++ (>= 4:4.1.1) mas não vai ser instalado"



Ora, posto isto, tentei instalar o "libc6-dev", no entanto dá um erro do género do anterior a dizer que tambem tem como dependencia o "libc6".

Próximo passo, foi tentar instalar o "libc6", mas este não deu erro, simplesmente diz que o pacote já está instalado e que nada foi feito (instalado, removido ou actualizado) pois a versão instalada já é a mais recente.

Tentei depois virar-me para a 2ª dependencia que aparece na instalação do build-essential (o "g++"). No entanto, parece que este necessita de ter instalado o "g++-4.1", que por sua vez necessita para além de outros pacotes do "libstdc++6-4.1-dev",necessitando este ultimo do libc.

Resumindo, começando por tentar instalar o build-essential e tentando ir instalando as dependencias que vao sendo pedidas, acabo sempre por receber o erro a dizer que preciso do libc6.

Tentei primeiro por consola e depois pelo Synaptic mas deram ambos no mesmo.

Pensei em tentar remover o libc6 e voltar a instalar, mas na consola ele diz:
Depois de descompactar, 2115MB de espaço em disco serão libertados.
Você está prestes a fazer algo potencialmente nocivo.
Para continuar escreva a frase 'Sim, faça como eu digo!'

pelo que fiquei com algum receio...

Peço desculpa se estiver a fazer repost do mesmo problema, mas nos problemas que encontrei no forum normalmente ficavam resolvidos só com "apt-get install build-essential".

Peço desculpa também pelo texto estar um pouco confuso.

Alguém tem ideias?

Desde já obrigado.

-------------------------------------

Não sei se ajuda mas, esqueci-me de dizer que:
O Feisty está instalado num notebook Asus A6JC.
O processador é um Core2Duo T5600 (1.83Ghz)
A gráfica é uma GeForce Go 7300.

O disco é de !00Gb e está particionado da seguinte forma:
1 partição NTFS com instalação do windows XP
1 partição NTFS sem nada instalado
1 partição para o ubuntu (~9.5Gb ext3 + 512Mb swap)

No ubuntu, ainda não instalei mais nada para além do que vinha com o sistema, pois só preciso mesmo do compilador de C para a escola.

Darcamo

Ainda bem que você ficou com receio, porque o estrago realmente seria grande.  :P
A libc é a biblioteca básica do C e obviamente muita coisa depende (quase tudo na verdade).

Você tem algum repositório que não seja oficial? Não deveria ter problemas para instalar o build-essential.
Tente atualizar a lista de pacotes com o comando
sudo apt-get update
antes de mandar instalar alguma coisa.

Depois disso você pode querer atualizar qualquer coisa que possua versões mais novas disponíveis com o comando
apt-get upgrade

Depois tente instalar novamente o build-essential.

zmee

Darcamo,

Pois, eu bem que me quis parecer que nao devia ser muito boa ideia remover a libc (ainda para mais com a mensagem intimidatoria que aparece para a confirmacao...) :)

o primeiro comando actualizou alguma coisa...

Não sei ao certo o que é, mas pelo nome parace ser importante. ;D

Os seguintes pacotes serão actualizados:
  libsndfile1
1 pacotes actualizados, 0 pacotes novos instalados, 0 a remover e 0 não actualizados.


Já o segundo, penso que não fez nada


zmee@amelia:~$ sudo apt-get upgrade
A Ler Listas de Pacotes... Pronto
Construindo Árvore de Dependências       
Lendo informação de estado... Pronto
0 pacotes actualizados, 0 pacotes novos instalados, 0 a remover e 0 não actualizados.


No fim tentei instalar o build-essential e deu o mesmo erro nas dependencias.

Os repositorios que tenho, nao sei se são todos oficiais, o sources-list que tenho foi um que saquei do Guia-UbuntuPT.

Em baixo segue o conteudo do ficheiro de sources.


##Portuguese Sources.list

## MAIN
deb http://pt.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src http://pt.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse

## MAJOR BUG FIX UPDATES produced after the final release
deb http://pt.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
deb-src http://pt.archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse

## UBUNTU SECURITY UPDATES
deb http://pt.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src http://pt.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse

## BACKPORTS REPOSITORY (Unsupported.  May contain illegal packages.  Use at own risk.)
deb http://pt.archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb-src http://pt.archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse

## Proposed Repository ( Repositório com pacotes propostos para o Ubuntu pela comunidade )
## Descomentar se quiser usar
deb http://pt.archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse
deb-src http://pt.archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse

## Internacional
## Medibuntu - Ubuntu 6.10 "edgy eft"
## Please report any bug on https://launchpad.net/products/medibuntu/+bugs
deb http://medibuntu.sos-sts.com/repo/ edgy free non-free
deb-src http://medibuntu.sos-sts.com/repo/ edgy free non-free                                         

deb http://archive.canonical.com/ubuntu edgy-commercial main


Obrigado.

Mais ideias? :P

Darcamo

Os repositórios parecem estar OK.
Estranho então o build-essential dar problema.

Tenta instalar uma versão mais antiga do gcc/g++ então.
O build-essential é apenas um meta-pacote que instalar o gcc/c++ 4.x e outras coisas.

Tenta instalar então o gcc/g++ 3.4.

zmee

Ora vivas,

Isto deve ser mesmo azar...

Ao instalar o g++-3.4, dá erro de dependencia do "libstdc++6-dev" que por sua vez precisa do libc6-dev e depois....bem...desse já contei a história... :'(

Nenhum dos meus colegas de turma tiveram este problema e instalaram todos nos respectivos nootebooks (mas nenhum é asus...) terá sido algum problema na instalação? Ou será que fiz algo de mal....  ???

Darcamo

Tenta mudar para o servidor internacional no synaptic (não esquece de atualizar a lista de pacotes depois de mudar o servidor) e vê se você consegue instalar.

Certa vez tive um problema semelhante para instalar um pacote e ao mudar para o servidor internacional consegui instalar. Depois de um tempo voltei para o servidor BR.

zmee

Fantástico!

(/me salutes Darcamo) ;D

Resultou, e desta vez ao fazer o "apt-get upgrade" actualizou 20 pacotes.

Precisei só de fazer:

sudo apt-get install build-essential

Já há "HelloWorld" para todos... :P

Um muitissimo obrigado Darcamo,  ;)

Darcamo

Provavelmente foi apenas uma falta temporátia do pacote.
O servidor internacional é atualizado primeiro e as atualizações se propagam para os demais. Pelo visto o que aconteceu é que alguns pacotes foram atualizados e outros não (ainda). Isso resultou em problema de dependência.