[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