[FUG-BR] tentando entender o compilar gcc/gfortran
Zhu Sha Zang
zhushazang em yahoo.com.br
Terça Novembro 30 14:13:39 BRST 2010
Em 29-11-2010 17:02, Eduardo Lemos de Sa escreveu:
> Caríssimos
>
> Estou esbarrando em um problema que tem me complicado a vida: tenho um
> pequeno pacote gráfico (abre o output de um cálculo de mecânica-quântica)
> que é composto por dois arquivos (nboview.f e draw.c). Apesar de simples,
> ele vem com um makefile:
>
>
> # Compile (not link) the C source files
> gcc -c -D_XWINDOWS draw.c
>
> # Compile the FORTRAN source file, and link with the C object files
> gfortran nboview.f draw.o -L/usr/X11R6/lib -lX11 -o nboview
>
> # Delete the intermediate object files
> rm draw.o
>
>
> que simplesmente não funciona (gmake ou make -f makefile produz a mensagem
> "maknbov:3: ***missing separator. Stop").
>
> Como ele é muito simples e faz pouca coisa, resolvi compilar na força bruta:
>
> gcc -c draw.c
> gfortran -f nboview.f (aqui eu assumi que o gcc compila programas em c e o
> gfortran em fortran) e nenhuma mensagem de erro ou warning aparece. Se eu
> insiro a -D_XWINDOWS, aparece um monte de mensagens dizendo que várias
> variáveis são desconhecidas ou não foram declaradas (logo ele precisa das
> bibliotecas do sistema).
>
> Na hora da linkagem, eu faço:
>
> gfortran -L/usr/X11R6/lib -lX11 -o nboview.x nboview.o draw.o
>
> e eu obtenho:
>
> nboview.o: In function `draw_':
> nboview.f:(.text+0x1fea3): undefined reference to `plots_'
> nboview.f:(.text+0x201c0): undefined reference to `plot_'
> nboview.f:(.text+0x201e0): undefined reference to `plot_'
> nboview.f:(.text+0x204e6): undefined reference to `plot_'
> nboview.f:(.text+0x20506): undefined reference to `plot_'
> nboview.f:(.text+0x2089a): undefined reference to `plot_'
> nboview.o:nboview.f:(.text+0x295f8): more undefined references to `plot_'
> follow
> collect2: ld returned 1 exit status
>
> Vasculhei pelo google onde eu posso encontrar esta função "plot_" (em qual
> lib) mas não encontrei a resposta.
>
> Por favor, algum comentário sobre o que eu possa estar fazendo errado ou
> onde eu possa encontrar uma determinada função em uma biblioteca? E quais
> são as bibliotecas que o X11 realmente usa (há bibliotecas libX11 no
> /usr/local/lib e no /usr/X11R6/lib)?
>
> Obrigado pela atenção
>
> Edu
>
Qual o programa que está tentando compilar? Pode disponibilizar o source
ou o nome para analizar a documentação de forma a lhe ajudar melhor?
Talvez a lib seja a plotlib. TALVEZ.
Tente instalar o gnuplot, algo pode ser instalado junto que te auxilie.
(Solução Lusitana).
Ou se afundar nos requerimentos do programa.
Estou com um problema semelhante, mas para o meu azar, o programa é
pago, e só compila com versões fechadas de compiladores fortran.
Att...
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome : signature.asc
Tipo : application/pgp-signature
Tam : 262 bytes
Descr.: OpenPGP digital signature
Url : http://www.fug.com.br/historico/html/freebsd/attachments/20101130/d1fbd044/attachment.bin
Mais detalhes sobre a lista de discussão freebsd