[FUG-BR] Utilizar gcc46 para compilar um port.
Otacílio
otacilio.neto em bsd.com.br
Domingo Janeiro 26 11:07:45 BRST 2014
Em 26/01/2014 09:00, Renato Botelho escreveu:
> On 26-01-2014 09:22, Otacílio wrote:
>> Em 25/01/2014 23:28, Renato Botelho escreveu:
>>> On 25-01-2014 23:28, Otacílio wrote:
>>>> Olá
>>>>
>>>> Sou o mantenedor do port p5-Verilog-Perl. Esse port não está compilando
>>>> no FreeBSD10 porque o compilador padrão é o clang. Adicionei o gcc46 mas
>>>> o port só procurar por gcc. Vocês tem alguma dica sobre isso? Se eu
>>>> fizer um link de gcc46 para gcc funciona de boa. Mas não acho que essa
>>>> seja a solução correta.
>>> O ideal seria aplicar um patch para que o port compile com o clang, qual
>>> o erro que tá dando?
>>>
>>> Caso não tenha jeito, adicione a linha:
>>>
>>> USE_GCC= 4.6+
>>>
>>> ao Makefile do port. conforme citado no /usr/ports/Mk/bsd.gcc.mk e no
>>> Porters Handbook section 5.8.8
>>>
>>> []s
>> Adicionar essa linha foi a primeira coisa que fiz, mas o software foi
>> muito mal escrito quanto a dependência do compilador. Existem chamadas
>> diretas dentro dele ao gcc aí eu tenho que ficar procurando e mudando
>> uma por uma.
> Então o ideal é você alterar o software pra que ele respeite a variável
> ${CC} e depois mandar um patch para o projeto, assim, na próxima versão
> ele já estará corrigido.
>
Fiz um patch aqui, mas o clang está exaurindo a memória da máquina e não
consegue compilar. Se alguém puder me confirmar que esse problema também
ocorre na sua máquina eu agradeço.
O port é o cad/p5-Verilog-Perl
O patch é esse:
Index: Makefile
===================================================================
--- Makefile (revisão 341171)
+++ Makefile (cópia de trabalho)
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= Verilog-Perl
-PORTVERSION= 3.400
+PORTVERSION= 3.402
CATEGORIES= cad perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -14,6 +14,8 @@
USES= bison gmake perl5
USE_PERL5= configure
+C= clang
+CPP= clang++
MAN1= vhier.1 vpassert.1 vppreproc.1 vrename.1
@@ -33,6 +35,8 @@
@${REINPLACE_CMD} -e '/EXE_FILES/ s/ vsplitmodule//' \
${WRKSRC}/Makefile.PL
@${REINPLACE_CMD} -e 's|make|gmake|g' ${WRKSRC}/Makefile.PL
+ @${REINPLACE_CMD} -e 's|g++|$(CPP)|g' ${WRKSRC}/Makefile.PL
+ @${REINPLACE_CMD} -e 's|g++|$(CPP)|g' ${WRKSRC}/Parser/Makefile.PL
post-configure:
.if ${OSVERSION} < 700042
Index: distinfo
===================================================================
--- distinfo (revisão 341171)
+++ distinfo (cópia de trabalho)
@@ -1,2 +1,2 @@
-SHA256 (Verilog-Perl-3.400.tar.gz) =
e6f33d5c0346f56ba96fa9964dd75734e1315dff8dfce55f0b31f33a6210f69b
-SIZE (Verilog-Perl-3.400.tar.gz) = 558455
+SHA256 (Verilog-Perl-3.402.tar.gz) =
506262ae015f1b4660eed49171173ac57726b74fd26c77ef87cd133199129d9d
+SIZE (Verilog-Perl-3.402.tar.gz) = 555131
Mais detalhes sobre a lista de discussão freebsd