Opened 19 months ago

Last modified 6 months ago

#51380 assigned defect

p5-b-c @1.54: broken on Snow Leopard: previous declaration of ‘I64’ was here

Reported by: mojca (Mojca Miklavec) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: p5-b-c

Description

"/opt/local/bin/perl5.24" "-Iblib/arch" "-Iblib/lib" script/perlcc.PL script/perlcc
Extracting perlcc (with variable substitutions)
cp script/perlcc blib/script/perlcc
"/opt/local/bin/perl5.24" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/perlcc
/usr/bin/gcc-4.2 -c   -fno-common -DPERL_DARWIN -mmacosx-version-min=10.6 -pipe -Os  -fno-strict-aliasing -fstack-protector -I/opt/local/include -DPERL_USE_SAFE_PUTENV -arch x86_64 -O3   -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\"  "-I/opt/local/lib/perl5/5.24/darwin-thread-multi-2level/CORE"   ByteLoader.c
In file included from ByteLoader.xs:13:
byterun.h:40: error: redefinition of typedef ‘I64’
/opt/local/lib/perl5/5.24/darwin-thread-multi-2level/CORE/handy.h:178: error: previous declaration of ‘I64’ was here
byterun.h:41: error: redefinition of typedef ‘U64’
/opt/local/lib/perl5/5.24/darwin-thread-multi-2level/CORE/handy.h:179: error: previous declaration of ‘U64’ was here
In file included from byterun.c:34:
byterun.h:40: error: redefinition of typedef ‘I64’
/opt/local/lib/perl5/5.24/darwin-thread-multi-2level/CORE/handy.h:178: error: previous declaration of ‘I64’ was here
byterun.h:41: error: redefinition of typedef ‘U64’
/opt/local/lib/perl5/5.24/darwin-thread-multi-2level/CORE/handy.h:179: error: previous declaration of ‘U64’ was here
make[1]: *** [ByteLoader.o] Error 1
make[1]: *** Waiting for unfinished jobs....

Full log is here.

Change History (3)

comment:1 Changed 19 months ago by dbevans (David B. Evans)

  • Status changed from new to assigned

comment:2 Changed 19 months ago by dbevans (David B. Evans)

  • Summary changed from p5-b-c: broken on Snow Leopard: previous declaration of ‘I64’ was here to p5-b-c @1.54: broken on Snow Leopard: previous declaration of ‘I64’ was here

Looks like there are a number of upstream issues with 5.24. Stated policy of the upstream developer is

The newest perl releases usually don't work immediately. I typically need 6 months to catch up.

Indeed, several fixes for perl 5.24 have recently been posted upstream, although not for this issue. They say that for now this module works best with 5.22 and they are targeting release 1.55 for fixes for perl5.24.

I suggest we wait for that release. In the meantime, 10.6 users should use perl5.22 if they want to use this module and others shouldn't be surprised if they see bugs using perl5.24.

comment:3 Changed 6 months ago by rurban (Reini Urban)

Hi, I'm the upstream maintainer. ByteLoader was broken by perl5 upstream with 5.22, only fixed with cperl.

However 1.55 should work with 5.24. We use 5.24 in production, it is the recommended release besided 5.14 or cperl, which are the best.

Note: See TracTickets for help on using tickets.