[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