Como eu instalo o gcc-4.3?

5

Existe uma maneira fácil de instalar o gcc-4.3 no Oneiric? Eu realmente preciso disso porque o matlab depende de i para a criação de arquivos mex

Eu tentei mudar todas as minhas resopistories de volta para o Maverick apenas para instalar o gcc-4.3, mas recebo este erro:

refl_v0p8_linux_and_windows % sudo apt-get install gcc-4.3-multilib libstdc++6-4.3-        dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcc-4.3-multilib : Depends: gcc-4.3 (= 4.3.5-3ubuntu1) but it is not going to be     installed
                Depends: libc6-dev-i386 (>= 2.5) but it is not going to be installed
 libstdc++6-4.3-dev : Depends: g++-4.3 (= 4.3.5-3ubuntu1) but it is not going to be         installed
    E: Broken packages
    
por Martin Hansen 03.11.2011 / 06:08

5 respostas

1

Definitivamente, não há necessidade de usar o gcc-4.3. É claro que você sempre recebe a mensagem de aviso durante a criação de arquivos mex:

Aviso: você está usando a versão do gcc "4.6.x.x)". A versão atualmente suportada pelo MEX é "4.3.4". Para obter uma lista de compiladores atualmente suportados, consulte: link

mas isso é um aviso - a função MEX ainda irá compilar !!!

A única coisa a mudar é o novo link na biblioteca libc.so.6: (veja link )

Então, para 64 bits: Remover link antigo

sudo rm /lib64/libc.so.6

(Tenha cuidado ao remover o link antigo. É essencial para o Linux inicializar. Então, se você reiniciar antes de substituir o link com a nova versão, então será hora de cavar um disco ao vivo. Se você é paranóico então você pode copiar "cp" libc.so.6 para algo como libc.so.6.backup primeiro.

Substituir por novo link

sudo ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

para 32 bits: (Eu não testei isso porque eu só executo sistemas x64, mas pelos comentários eu acho que deveria funcionar)

Remover link antigo (novamente, tenha cuidado com este comando)

sudo rm /lib32/libc.so.6

Substituir por novo link

sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

Claro que se esta for uma nova instalação do Ubuntu, você provavelmente não precisará do comando rm (remove).

    
por michal kvasnicka 10.12.2011 / 18:53
1

1) Edite o arquivo sources.list:

sudo gedit /etc/apt/sources.list

adicione esta linha:

deb http://mirror.pnl.gov/ubuntu/ hardy-updates main universe

uma lista completa de sites espelho é fornecida aqui

Salve e feche o arquivo

2) Faça o logout do login

3) Abra o Synaptic. Se você não vir o mirror.pnl.gov/ubuntu/ hardy-updates main universe na lista de fontes à esquerda, clique em Recarregar .

4) Escolha mirror.pnl.gov/ubuntu/ hardy-updates main universe da esquerda coluna - isso deve mostrar a lista de pacotes.

5) Escolha g77 da lista, marque para instalação e aplique. O g77 está agora instalado e pronto para uso.

    
por Kaustubh 01.04.2012 / 22:24
0

Você quebrou dependências. Você pode "consertá-los" fazendo

sudo apt-get -f install

Mas antes de dizer sim, por favor, olhe o que o apt tenta desinstalar.

E como uma dica: Não é uma boa ideia fazer o downgrade da versão do ubuntu apenas para obter outra versão do gcc. Você pode ter várias versões do gcc em uma máquina! Eu iria novamente para a versão que você tinha antes de sua tentativa fracassada de fazer o downgrade e manter a versão do gcc que você tinha antes. Então pegue o tar-ball do gcc 4.3 e compile você mesmo, não é difícil. Depois disso você tem duas versões do gcc, então você pode apontar o matlab para a outra versão (especifique o caminho do gcc em algum lugar no matlab).

Não recomendamos que você compile outro software com uma versão do gcc diferente daquela que foi instalada por padrão no Ubuntu.

    
por Michael K 03.11.2011 / 08:38
0

Possível solução alternativa: (correção para MATLAB , não GCC-4.3 )

de:

(em resumo)

Etapa 1:

para o MATLAB, com o sudo executando mex -setup e selecionando o (mais recente) compilador do GCC.

Etapa 2:

sudo gedit ~/.matlab/R2009b/mexopts.sh

Substitua TODAS as instâncias de CC = 'gcc' por CC = 'gcc-4.6 ′

(opcional) Substitua -ansi por -std = c99 , para permitir o uso do estilo C ++ // comentários.

Nota: Se mais tarde você executar novamente o mex -setup , ele sobrescreverá o arquivo mexopts.sh .

    
por david6 03.12.2011 / 06:03
0

Eu sei que essa pergunta tem dois anos, mas eu não gosto de ver perguntas que nunca recebam uma resposta, então estou tentando ajudar.

Isso não usa o gerenciador de pacotes, mas no link você pode encontrar quase todas as versões do GCC. A versão 4.3.0 (e provavelmente todas as outras) inclui instruções de instalação em HTML. Se você não gosta de servidores do Reino Unido, há uma lista de espelhos no site do GCC; alguns deles podem ter versões antigas como esta.

Eu tenho que discordar de Michal Kvasnicka, você deve sempre usar a versão especificada do GCC.

    
por Wutaz 17.06.2013 / 17:27