How do I fix “`as_number' is not a Pari function name” in Math::Pari called by Math::BigInt?

和自甴很熟 提交于 2019-12-11 03:37:48

问题


On Perl 5.8.5 I am seeing the error listed in the question.

I am running these version modules:

  • Math::BigInt: 1.89
  • Math::BigInt::FastCalc: 0.19
  • Math::BigInt::GMP: 1.24
  • Math::BigInt::Pari: 1.13
  • Math::BigRat: 0.22
  • bignum: 0.22

The module producing the error is Math::Pari. This is all in an attempt to get Net::SFTP working to put a file on a remote host.

Thanks for any insight, oh CPAN gurus. :)


Thanks, nothingmuch, I tried those things but when I remove Math::Pari, Net::SSH::Perl::Util::SSH2MP complains because it is using it as such:

use Math::Pari qw( PARI floor pari2num Mod lift );

The Math::Pari version is 2.010800

I wish I understood the CPAN build process better so I could know if this was worth reporting to the maintainer of Net::SFTP.


回答1:


The simplest solution would probably just to remove Math::BigInt::Pari. GMP should be able to do everything you need.

You can also prepend your script with

use Math::BigInt only => "GMP";

or something like that (see the Math::BigInt docs) to ensure that calc module is used instead of Math::Pari.

Make sure that this use line appears before anything else that may load Math::BigInt differently.




回答2:


For whatever it is worth: For me the problem was related to the SSH protocol used on the target host. It was set to SSH version 2. I temporarily removed it and Net:SSH now works for me. Not a solution, but at least a workaround.



来源:https://stackoverflow.com/questions/418347/how-do-i-fix-as-number-is-not-a-pari-function-name-in-mathpari-called-by-m

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!