[FUG-BR] tentando entender o compilar gcc/gfortran
Eduardo Lemos de Sa
eduardo.lemosdesa em gmail.com
Segunda Novembro 29 17:02:18 BRST 2010
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
--
Eduardo Lemos de Sa
Associated Professor Level 2
Dep. Quimica da Universidade Federal do Paraná
fone: +55(41)3361-3300
fax: +55(41)3361-3186
Mais detalhes sobre a lista de discussão freebsd