Instalando o intel fortran 64 (ifort) no Ubuntu 9.10

Iniciado por wbcardoso, 01 de Novembro de 2009, 13:46

tópico anterior - próximo tópico

wbcardoso

Alô usuários Fortran...

Depois de muito quebrar a cabeça para instalar o ifort (l_cprof_p_11.1.059_intel64.tgz) no Ubuntu 9.10, sem sucesso, eu agora consegui que ele ficasse 100% no meu lap. Segue ai um mine tutorial para a instalação. Vale para a versão 32 tbm...

PS: Estou mostrando passo a passo como eu fiz aqui no meu lap...

Primeiro passo: Baixar o arquivo l_cprof_p_11.1.059_intel64.tgz so site da intel (http://software.intel.com/en-us/articles/non-commercial-software-development/). Lá vc pega um "Serial Number" (SN) que será necessário para a instalação.

Segundo passo: descompacte o arquivo l_cprof_p_11.1.059_intel64.tgz em um local qualquer. Eu aqui fiz isso na pasta Downloads.

Terceiro passo: Verifique se as seguintes dependências estão instaladas:
g++

Iniciando a instalação:

Entre na pasta descompactada (/l_cprof_p_11.1.059_intel64) usando o terminal. Em seguida use o comando:
# sudo ./instal.sh

Não se esqueça do SN...

Passo 1/7: Apresentação
Passo 2/7: 1. View the license agreement. Vá até o final e digite: "accept"
Passo 3/7: 1. Ativação da licença.
É aqui que é necessário o SN.
Passo 4/7: 1. Typical Install.
O instalador checa os pré-requisitos.

Em seguida aparece a seguinte mensagem de erro:
Missing critical pre-requisite
-- 32-bit libraries not found


não pode ser encontrado:
libstdc++
libstdc++5
glibc
libgcc


O problema é que essas bibliotecas são ultrapassadas na versão 9.10. Porém, seguindo o tópico:
http://pastebin.software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/69247/reply/98963/
poderemos solucionar nosso problema.

Lá o autor diz para instalarmos as bibliotecas atualizadas e depois simplesmente criar links dinâmicos para tentar enganar o instalador... Vamos ver se isso funciona...

Criando os links (em outra aba):

# sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so.5
# sudo ln -s /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5


De volta a primeira aba (instalador):

Saia do instalador e repita os passos 1-4, acima. No meu sistema aparece agora as seguintes mensagens de erro:

Missing optional pre-requisite
-- No compatible Java* Runtime Environment (JRE) found
-- operating system type is not supported.
-- system glibc or kernel version not supported or not detectable
-- binutils version not supported or not detectable


Vamos ignorar isso por enquanto. Dê enter e aparecerá:

Activation Type:
   Existing License File
Component(s):
   Intel(R) Fortran Compiler Professional Edition for Linux*
      Intel(R) Fortran Compiler for applications running on Intel(R) 64
      Intel(R) Debugger for applications running on Intel(R) 64
      Intel(R) Math Kernel Library for applications running on Intel(R) 64
Location:
   /opt/intel/Compiler/11.1/059
Install Mode:
   NONRPM



Em seguida a opção: 1. Install

Espere a instalação ser concluída e em seguida "Enter" para sair... Pronto! Está instalado. Metade do caminho concluído.

Eu gosto de criar um link para o compilador, tipo "f90". Para isso usaremos o seguinte comando:

# ln -s /opt/intel/Compiler/11.1/059/bin/intel64/ifort /usr/local/bin/f90

Caso queira, troque f90 por outro comando no qual vc está mais familiarizado. Agora você pode compilar usando o comando f90 -o nome_do_executável nome_do_programa (nome_do_programa geralmente com a extensão .f90).

Ainda não terminou. Agora, quando tento compilar algo aparece a mensagem de erro:

/opt/intel/Compiler/11.1/059/bin/intel64/fortcom: /usr/lib/libstdc++.so.5: version `CXXABI_1.2' not found (required by /opt/intel/Compiler/11.1/059/bin/intel64/fortcom)
/opt/intel/Compiler/11.1/059/bin/intel64/fortcom: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by /opt/intel/Compiler/11.1/059/bin/intel64/fortcom)


Veja o seguinte: usando o comando
# strings /usr/lib64/libstdc++.so.5 | grep CXXABI
teremos o retorno:
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3


Vamos agora ao último passo.

Entre no link: http://packages.ubuntu.com/jaunty/libstdc++5, faça o download e instale em seu PC. Em seguida crie novos links simbólicos:

# ln -sf /usr/lib/libstdc++.so.5.0.7 /usr/lib32/libstdc++.so.5
# ln -sf /usr/lib/libstdc++.so.5.0.7 /usr/lib64/libstdc++.so.5


Note agora que o comando
# strings /usr/lib64/libstdc++.so.5 | grep CXXABI
retorna:
CXXABI_1.2
CXXABI_1.2.1
CXXABI_1.2.2


Que é a dependência que o ifort requer. Tente compilar algum programa... O meu aqui ficou 100%.

É isso ai...

rafaelgabler

Amigo, muito obrigado pela dica. Estava com esse problema aqui no meu ubuntu 9.10. Tinha a versão 10.1.017 do Intel Fortran Compiler, tive que baixar a versão 11 e instalar aqui. Só precisei alterar meu .bashrc para sempre que eu digitasse "ifort exemplo.f90" em um terminal, o compilador fosse utilizado da pasta do Intel Fortran Compiler 11.

Mais uma vez, obrigado pela dica! Foi de grande ajuda!

Um abraço!


leticiamassa

Não pude deixar de agradecer, depois de gastar um tempo razoável tentando resolver esse problema.

Minha máquina tem o Debian 5.0.4 como sistema operacional, 32 bits, e as dicas funcionaram perfeitamente, mesmo com o libstdc++5 do Ubuntu (talvez porque ambos SOs têm a mesma raiz). Bastou modificar as pastas /usr/lib32 e /usr/lib64 para /urs/lib

Mais uma vez, obrigada!

snell

Redondinho, redondinho!

Parabéns e valeu pela ajuda amigão!

Abraços!
Notebook
Intel Core i7 2620, 4Gb RAM, 750 Gb HD
Ubuntu 14.04

crolip