ZMQ :: LibZMQ3和草莓perl

我正在安装ZMQ :: LibZMQ3草莓perl,但得到下面的错误消息,同时安装这个模块也我的zmq库和包括C:\ Program Files \ ZeroMQ 3.2.2中find:

cpan> install ZMQ::LibZMQ3 Running install for module 'ZMQ::LibZMQ3' Running make for D/DM/DMAKI/ZMQ-LibZMQ3-1.09.tar.gz Checksum for C:\strawberry\cpan\sources\authors\id\D\DM\DMAKI\ZMQ-LibZMQ3-1.09.tar.gz ok Scanning cache C:\strawberry\cpan\build for sizes ............................................................................DONE CPAN.pm: Building D/DM/DMAKI/ZMQ-LibZMQ3-1.09.tar.gz Cannot determine perl version info from lib/ZMQ/LibZMQ3.pm Probing environment variables: Probing libzmq via pkg-config ... 'pkg-config' is not recognized as an internal or external command, operable program or batch file. - No libzmq found... Probing zeromq3 via pkg-config ... 'pkg-config' is not recognized as an internal or external command, operable program or batch file. - No zeromq3 found... Detected the following ZMQ settings: + ZMQ_HOME = "C:\Program Files\ZeroMQ 3.2.2" + ZMQ_H = "C:\Program Files\ZeroMQ 3.2.2\include\zmq.h" + ZMQ_INCLUDES = "C:\Program Files\ZeroMQ 3.2.2\include" + ZMQ_LIBS = "C:\Program Files\ZeroMQ 3.2.2\lib" + ZMQ_TRACE = (null) Can't link/include C library 'zmq.h', 'zmq', aborting. Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL] DMAKI/ZMQ-LibZMQ3-1.09.tar.gz C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK Running make test Make had some problems, won't test Running make install Make had some problems, won't install Stopping: 'install' failed for 'ZMQ::LibZMQ3'. Failed during this command: DMAKI/ZMQ-LibZMQ3-1.09.tar.gz : writemakefile NO 'C:\strawberry\perl\bin\perl.exe Ma kefile.PL' returned status 512 

是否有可能在Windows上安装这个cpan模块,如果是的话,有人可以帮助这里可能是什么问题?

我只是在我的ActiveStatePerl环境中试过。

首先我得到了相同的结果,但后来我重命名了我的ZMQ安装并删除了空格。

(从C:\App\ZeroMQ 2.2.0C:\App\ZeroMQ2_2_0 。)

 + ZMQ_HOME = C:\App\ZeroMQ2_2_0 + ZMQ_H = C:\App\ZeroMQ2_2_0\include\zmq.h + ZMQ_INCLUDES = C:\App\ZeroMQ2_2_0\include + ZMQ_LIBS = C:\App\ZeroMQ2_2_0\lib + ZMQ_TRACE = (null) 

所以我通过了这个问题

 Can't link/include C library 'zmq.h', 'zmq', aborting. 

并在Makefile.PL中获得了下一步

 Detecting zmq version... 

(在我的系统上失败了,因为我有一个0mq 2.2.0和perl-binding需要3.3)

希望也适合你。

你在使用Strawberry Perl或ActiveState Perl吗? 活动状态Perl可能会遇到从CPAN安装的问题,除非你有nmake并安装了MinGW实用程序。 我很关心这个:

 Probing libzmq via pkg-config ... 'pkg-config' is not recognized as an internal or external command, operable program or batch file. 

这引起了我的大红旗。 当我尝试安装时,我也注意到这个小小的问题:

 Detected the following ZMQ settings: + ZMQ_HOME = (null) + ZMQ_H = (null) + ZMQ_INCLUDES = (null) + ZMQ_LIBS = (null) + ZMQ_TRACE = (null) 

嗯..我必须先设置这些环境变量。

接下来,我得到了无法链接/包含C库'zmq',中止。 这是来自Makefile中的assert 。 我在Github上发现了这个问题。 它说:

啊,漂亮的指针。 pthread_create问题。 我的Perl编译与线程支持。 我已经重新编译过Perl,这个问题已经消失了。

恩,是的,草莓Perl编译与线程支持。 而且,我不重新编译它。

我所做的建议如下:

  • 将ZMQ安装在名称中没有空格的目录中。 我直接在C:\ZeroMQ-3.2.2下安装它。
  • 定义这些环境变量。 我查看了Makefile.PL,它需要ZMQ_LIBSZMQ_INCLUDES
  • 确保你只使用草莓Perl而不是ActiveState。 你可以使用ActiveState,但它需要调整一些这样的东西。
  • 在Makefile.PL中添加调试标志debug => 1 (这意味着您必须从命令行运行perl Makefile.PL ,执行Makefile安装的手动方法。

我不打算在没有线程支持的情况下下载并重新编译Perl,看看这是否可行。 我希望我已经把你送上了正确的道路。

这个软件包不会安装在我的ActiveState Perl基于Windows的机器上 – 尽管一些ZMQ软件包可以。 看来在Windows / Perl下的支持最多是有限的。

看到这个页面: https : //github.com/lestrrat/p5-ZMQ/issues/14由于似乎已经知道草莓Perl的问题。

讨厌添加这个(不喜欢Python),但似乎在Python 2.7下工作。 只是做了一个快速安装,并运行所包含的测试,通过。 Docs也表示Java在Windows下运行良好。

如果你不是64位,这可能有助于(来自laufeyjarson):

 A work-around is to change $^I to have a backup. I used ~ like gvim does: Line 100 of Makefile.PL: local $^I = '~'; EDIT: On recent versions, it is line 203 - JimB That lets the Makefile.PL work.