Re: definir path como usuário- export não funciona
Estou respondendo para a lista, agora que os arquivos me foram
enviados, para que outros possam se beneficiar das respostas.
On 4/6/06, Jonathan R. Martins wrote:
>[...] E para esclarecer,
> aqui usamos csh!
> pgfis3:cipo/jonathan 34 > ps
> PID TTY TIME CMD
> 6029 pts/3 00:00:00 csh
> 6044 pts/3 00:00:00 ps
>
> Esclarecido isso, vamos a sua proposta.
Na verdade não esclareceu. Veja bem: estou insistindo nisso porque o
csh foi substituído pelo tcsh em quase todo *NIX. O 'ps' não prova que
você usa csh, porque ele simplesmente relata qual a linha de comando.
Para saber se você usa tcsh, veja se o /bin/csh é um link para outro
arquivo ou então execute "csh --version". No segundo caso, eu suponho
que a saída vai ser algo do tipo "tcsh 6.14.00 (Astron)
2005-03-25...". Note que aqui na minha máquina o csh aqui se
identifica como "tcsh 6.14".
> Com a linha source /opt/intel/fc/9.0/bin/ifortvars.csh no
> /etc/csh.cshrc tentei compilar um código. Compilou direitinho. Mas ao
> executar, retorna:
>
> pgfis3:Simulações/MC:35 > ifort -o grede grede.f
> pgfis3:Simulações/MC:36 > ./grede
> ./grede: error while loading shared libraries: libimf.so: cannot open
> shared object file: No such file or directory
> pgfis3:Simulações/MC:37 >
>
> Agora, com a linha no /etc/csh.login ele não encontrou nada...
Provavelmente você está usando um emulador gráfico de terminal (xterm,
konsole, gnome-terminal, etc.). O arquivo /etc/csh.login é executado
em shells de login (tipo aquele do ctrl+alt+f1). Por essa razão eu
sugeri que o "source ..." fosse colocado nos dois arquivos
(/etc/csh.login e /etc/csh.cshrc) -- assim tudo funcionaria nos DOIS
casos.
> pgfis3:cipo/jonathan 34 > cd pmestrado/Simulações/MC/
> pgfis3:Simulações/MC:35 > ifort
> ifort: Command not found.
> pgfis3:Simulações/MC:37 > cat /etc/csh.login
> # /etc/csh.login: system-wide .login file for csh(1) and tcsh(1)
>
> source /opt/intel/fc/9.0/bin/ifortvars.csh
>
> Colocando no ~/.login ele funciona normalmente:
Aqui você me confundiu. O ~/.login deveria ser executado em terminais
de login que, me parece, não são os que você usa. Além disso, na sua
mensagem de 5 de abril, 15:12h, você disse que funcionava colocando no
~/.cshrc.
> pgfis3:Simulações/MC:35 > ifort -o grede grede.f
> pgfis3:Simulações/MC:36 > ./grede
> Entre com os valores para cescer a rede em x e y:
> forrtl: error (69): process interrupted (SIGINT)
> pgfis3:Simulações/MC:37 >
>
> Seguem, como você pediu, os arquivos csh.cshrc, csh.login, .login e .cshrc
> e as saidas do set. O arquivo setnaofunciona é a saida com o source
> no /etc/csh.cshrc ( o compilador não funciona, dá um erro ao procurar as
> bibliotecas) e o arquivo setfunciona o source está no .cshrc e tudo
> funciona bem. Segue também o arquivo ifortvars.csh.
> Até breve!
Bom, o seu ~/.cshrc, na linha 27, tem:
'setenv LD_LIBRARY_PATH "/usr/local/lf9561/lib"'
Isso apaga as mudanças do ifortvars.csh com relação à variável
LD_LIBRARY_PATH, o que explicaria o erro "libimf.so: cannot open
shared object file".
Finalizando, sugiro o seguinte:
1) Cuide para que os arquivos ~/.cshrc não apaguem o valor antigo de
LD_LIBRARY_PATH. No caso que você me mandou, altere a linha 27,
deixando-a assim:
setenv LD_LIBRARY_PATH "/usr/local/lf9561/lib":$LD_LIBRARY_PATH
2) Se for possível garantir que ninguém vai desconfigurar a variável
LD_LIBRARY_PATH nas suas configurações pessoais, basta colocar o
"source /opt/intel/fc/9.0/bin/ifortvars.csh" no final do
/etc/csh.login *e* do /etc/csh.cshrc. Se não for possível, deixe o
source no final do "~/.login" *e* do "~/.cshrc".
--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/
Reply to: