[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: