Em 16/11/15, Eduardo Lemos de Sa<eduardo.lemosd...@gmail.com> escreveu: > Oi Cleyton > Em 13/11/15, Eduardo Lemos de Sa<eduardo.lemosd...@gmail.com> escreveu: >> Caríssimos(as) >> >> No /usr/ports/biology/molden há uma versão para a instalaçao de um >> aplicativo que está na versão 5.0.7. No site do desenvolvedor, a versão >> mais recente é a 5.4. Muito antes do port para a 5.0.7 ser lançada, eu >> fazia as minhas atualizações compilando por mim mesmo. Porém, nesta >> última >> versão, usando os mesmos procedimentos que eu usava antes, eu esbarro no >> erro: >> >> xwin.o: In function `dos2u': >> xwin.c:(.text+0x86810): warning: warning: mktemp() possibly used >> unsafely; >> consider using mkstemp() >> xwin.o: In function `mloop': >> xwin.c:(.text+0x4120c): undefined reference to `Timer' >> xwin.c:(.text+0x41468): undefined reference to `Timer' >> collect2: error: ld returned 1 exit status >> makefile:270: recipe for target 'molden' failed >> gmake: *** [molden] Error 1 >> >> O arquivo de log completo da compilação vai como anexo, assim como o >> makefile que eu usei. >> >> Como o arquivo xwin.c, na rotina mloop, não apresenta diferenças (usei o >> vimdiff para compara-los) que se relacionam a função Timer, eu estou >> suponho que trata-se mais de um problema de configuração do sistema >> operancional (FreeBSD amd64) do que propriamente no aplicativo. >> >> Eu também vi que há uma /usr/local/include/time.h (não sei se é este o >> arquivo que é usado para prover a função Time, mas o nome é convidativo). >> >> Outra coisa que me chamou a atenção: no port, a compilação é feita com o >> gfortran48, mas a linkedição é feita com o gcc47. Será que é por causa do >> meu make.conf: >> >> if !empty(.CURDIR:M/usr/ports/*) && exists(/usr/local/bin/gcc47) >> CC=gcc47 >> CXX=g++47 >> CPP=cpp47 >> CFLAGS+=-mssse3 >> .endif >> >> ? >> >> Por favor, alguém tem uma sugestão de como eu poderia fazer corretamente >> a >> linkedição para que este erro desapareça? >> >> Grato pela atenção >> >> Edu >> > > Vc já testou o patch do Kurt Jaeger? > > https://lists.freebsd.org/pipermail/freebsd-ports/2015-November/101014.html > > > Eu mandei um email para ele, que por sua vez mandou-me um patch. Ou eu não > soube aplica-lo (cd /usr/ports/biology/molden ; patch > <nome_do_arquivo_com_o_patch ) ou ele estava com erro: no início, o s.o. > reclamou da sintase então eu, pacientemente, usei o diff que há na página > onde estava o patch e editei os arquivos correspondentes. Porém, na hora de > fazer o sudo make, eu recebi a mensagem de que não se sabia qual arquivo > deveria ser modificado pelo patch. Acho que, ou ele não testou o patch que > fez, ou o ambiente dele é muito diferente do meu (a começar pelo > interpretador de shell). > > Obrigado pela ajuda e pela dica. > > Um abraço > > Eduardo > > > []'s
Eduardo, o patch foi tirado dois níveis abaixo (em /usr/ports), então o correto seria executar: patch -p2 < nome_do_arquivo_com_o_patch Consegui aplicar o patch mas deu o mesmo erro que vc falou: ===> Patching for molden-5.4,1 ===> Applying FreeBSD patches for molden-5.4,1 Ignoring previously applied (or reversed) patch. 2 out of 2 hunks ignored--saving rejects to ambfor/makefile.rej => Patch patch-ambfor-makefile failed to apply cleanly. *** Error code 1 Sobre o problema em si (porque até aqui vc já tinha chegado), por enquanto não se preocupe com o fortran porque quem faz a ligação dos objetos é o ld, ele é quem está reclamando que o objeto não contém o código que ele precisa, a compilação aparentemente andou bem. Estava olhando o código, a função Timer não é externa, está prototipada na linha 334 e definida na linha 31458 em ./work/molden5.4/xwin.c e nos usos anteriores dela só é usada se tiver definido HASTIMER (como por exemplo na linha 25711), só que a flag está definida na linha 24 do Makefile e não teve alteração nenhuma nela, então foi por aqui que eu me perdi também :-) Pra mim não está parecendo problema com o ambiente ou com o sistema. Acho que você poderia comunicar isso ao mantenedor, ele vai ter mais condições de ajudar. []'s ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd