Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 May 2004 19:41:12 +0200
From:      Mathieu Arnold <mat@mat.cc>
To:        perl@freebsd.org
Subject:   Re: MakeMaker / security/p5-Crypt-Anubis
Message-ID:  <FC993F4B1B2E1DA396489CCD@pouet.in.mat.cc>

next in thread | raw e-mail | index | archive | help
+-Le 15/05/2004 18:50 +0200, Volker Stolz a dit :
| Hi, a quick question to the perl-hackers:
| 
| http://pointyhat.freebsd.org/errorlogs/i386-4-latest/p5-Crypt-Anubis-1.0.
| 4.log
| 
| I thought
| -.if ${OSVERSION} < 500000
| -BROKEN=                "Does not compile"
| +.if ${PERL_LEVEL} < 500600
| +post-patch:
| +       @${PERL} -pi -e 's/^our (\S+)/use vars qw{$$1};$$1/g'
| ${WRKSRC}/Anubis.pm  .endif
| 
| would DTRT, but I get:
| 
| In file included from Anubis.xs:5:
| _anubis.c:980: conflicting types for `main'
| /usr/libdata/perl/5.00503/mach/CORE/proto.h:267: previous declaration of
| `main' Anubis.xs: In function `XS_Crypt__Anubis_new':
| Anubis.xs:43: warning: passing arg 1 of `NESSIEkeysetup' makes pointer
| from integer without a cast Anubis.xs: In function
| `XS_Crypt__Anubis_encrypt':
| Anubis.xs:61: warning: passing arg 3 of `NESSIEencrypt' makes pointer
| from integer without a cast Anubis.xs: In function
| `XS_Crypt__Anubis_decrypt':
| Anubis.xs:80: warning: passing arg 3 of `NESSIEdecrypt' makes pointer
| from integer without a cast *** Error code 1
| 
| Stop in /usr/ports/security/p5-Crypt-Anubis/work/Crypt-Anubis-1.0.4.
| *** Error code 1
| 
| Stop in /usr/ports/security/p5-Crypt-Anubis.
| 
| The port builds fine with perl5.6. Is there something else wrong
| or should I simply raise the bar to 5.6? I couldn't find any decent
| requirements on CPAN either.
| 
| Cheers,
|   Volker (please cc: replies)

Hum, in 5.005's CORE/proto.h, main is defined like this :
int     main _((int argc, char** argv, char** env));
and in _anubis.c as :
int main(void)

merely replacing it's prototype in _anubis.c with :
int     main _((int argc, char** argv, char** env))
is enough to make it work.

5.6 and later versions don't have main declaration in CORE/proto.h, which
is why it works.

-- 
Mathieu Arnold


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FC993F4B1B2E1DA396489CCD>