#44647: p5.20-io-tty: fails to build on 10.6 ---------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: snowleopard Port: p5.20-io-tty | ---------------------------+-------------------------------- Comment (by mojca@…): Thank you very much for the pointer. I would actually be more inclined towards fixing `util.h` in Perl itself. Looking at this: * http://stackoverflow.com/questions/6526322/why-redefinition-of- typedef-error-with-gcc-4-3-but-not-gcc-4-6 it makes me suspect that the following definitions in `util.h` are not written properly / don't behave well with older compilers: {{{ /* outside the core, perl.h undefs HAS_QUAD if IV isn't 64-bit We can't swap this to HAS_QUAD, because the logic here affects the type of perl_drand48_t below, and that is visible outside of the core. */ #if defined(U64TYPE) && !defined(USING_MSVC6) /* use a faster implementation when quads are available, * but not with VC6 on Windows */ # define PERL_DRAND48_QUAD #endif #ifdef PERL_DRAND48_QUAD /* U64 is only defined under PERL_CORE, but this needs to be visible * elsewhere so the definition of PerlInterpreter is complete. */ typedef U64TYPE perl_drand48_t; #else struct PERL_DRAND48_T { U16 seed[3]; }; typedef struct PERL_DRAND48_T perl_drand48_t; #endif #define PL_RANDOM_STATE_TYPE perl_drand48_t #define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed))) #define Perl_drand48() (Perl_drand48_r(&PL_random_state)) }}} but I'm not yet sure how to fix that either. Other than that I don't see any reason not to switch to `PERL_SUBVERSION` etc. But it really makes more sense to me to fix Perl's headers. The bug report for io-tty is here: https://rt.cpan.org/Public/Bug/Display.html?id=96710 -- Ticket URL: <https://trac.macports.org/ticket/44647#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X