syphilis has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I'm looking at this fail report for a module I've written and I'm seeing (in both Ubuntu's Firefox browser and Microsoft's IE8 browser):
GMPz.xs: In function âRmpz_cdiv_q_2expâ: GMPz.xs:489: error: âmp_bitcnt_tâ undeclared (first use in this functi +on)
The first thing that strikes me is that, in GMPz.xs, there is no such function as "âRmpz_cdiv_q_2expâ".
The second thing that strikes me is that, in GMPz.xs, there is no declaration of "âmp_bitcnt_tâ".

Sure, there's a function called "Rmpz_cdiv_q_2exp", and there's an "mp_bitcnt_t" data type declared - and, if the complaint was about the declaration of the "mp_bitcnt_t" data type then I would simply assume that Bingos had just set up yet another smoker that contained some antiquated build of gmp whose headers did not define the "mp_bitcnt_t" data type.
And I'd probably then go ahead and fix that shortcoming in Math::GMPz.

But ... no, the complaint is clearly and definitively about a non-existent "âmp_bitcnt_tâ" data type.

I'm not the first person to have been subjected to such fuckbrained garbage, and I'm sure that lots of monks will have seen similar before.
But why does this happen ?

Cheers,
Rob

Replies are listed 'Best First'.
Re: Bizarre and provocatively irritating cpantester reports
by mr_mischief (Monsignor) on Apr 21, 2015 at 17:55 UTC

    I put it through some encoding fixing routines and came out with this:

    GMPz.xs: In function ‘Rmpz_cdiv_q_2exp’: GMPz.xs:489: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs:489: error: (Each undeclared identifier is reported only once GMPz.xs:489: error: for each function it appears in.) GMPz.xs: In function ‘Rmpz_cdiv_r_2exp’: GMPz.xs:493: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_scan0’: GMPz.xs:861: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_scan1’: GMPz.xs:865: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_setbit’: GMPz.xs:869: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_clrbit’: GMPz.xs:873: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_tstbit’: GMPz.xs:877: error: ‘mp_bitcnt_t’ undeclared (first use in this functi +on) GMPz.xs: In function ‘Rmpz_combit’: GMPz.xs:1297: error: ‘mp_bitcnt_t’ undeclared (first use in this funct +ion)

    It appears to be ISO-8859-1 misconfigured in headers as UTF-8 or something similar.



      Ok ... I take it that once I've removed the misleading bullshit, I can then regard what's left as reflecting the actual problem.
      And I guess the best way to stop the abuse is to simply fix that actual underlying problem.

      Thanks salva, mr_mischief.

      Cheers,
      Rob
Re: Bizarre and provocatively irritating cpantester reports
by salva (Canon) on Apr 21, 2015 at 14:41 UTC
    Fancy non-ASCII/latin1 quotes or color-highlighting or something alike?

    Probably the extraneous characters are just added when reporting the error but not used on the symbol lookup performed by the linker.