Caríssimos 2010/11/30 Zhu Sha Zang <[email protected]>
> 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... > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Infelizmente o código é pago (o valor não é absurdo, US$ 100,00, porém por respeito ao autor e à ética, eu não posso torna-lo público. Eu já tenho o gnuplot , qtiplot, labplot e outros aplicativos gráficos instalados. Agradeço a sugestão do amigo Zang, porém não acredito que a solução possa estar aí. O programa deveria compilar com o g77 (ou gfortran), logo acredito que o problema esteja somente em quais (e como) chamar bibliotecas gráficas na linkedição (constatei também que o tradicional /usr/X11R6 é na verdade um link para o /usr/local, ou seja, chamar as /usr/X11R6/lib é na verdade chamar /usr/local/lib). Eu também tenho problemas para compilar um programa comercial no FreeBSD: ele pede que o compilador seja o PGI (que não tem versão para FreeBSD, rodando somente em linux64) ou compilar com o ifortran (que é gratuito para linux64, porém não roda em FreeBSD-amd64). Obrigado e um abraç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 ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

