[FUG-BR] Ajuda com um pseudo port

Renato Botelho rbgarga em gmail.com
Terça Novembro 17 06:40:43 BRST 2015


> On Nov 17, 2015, at 01:11, Cleyton Agapito <cragapito at gmail.com> wrote:
> 
> Em 16/11/15, Eduardo Lemos de Sa<eduardo.lemosdesa at gmail.com> escreveu:
>> Oi Cleyton
>> Em 13/11/15, Eduardo Lemos de Sa<eduardo.lemosdesa at 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

Isso tem cara de arquivo .orig criado dentro de files/ quando você aplicou o patch, aí ele tá tentando aplicar duas vezes o mesmo patch. Remove todos os .orig

--
Renato Botelho



Mais detalhes sobre a lista de discussão freebsd