2013-02-19 74 views
11

मैं स्ट्रॉबेरी परल पर ZMQ :: LibZMQ3 स्थापित करने की कोशिश कर रहा हूं लेकिन इस मॉड्यूल को स्थापित करते समय नीचे त्रुटि संदेश प्राप्त करें, मेरी zmq libs और सी: \ प्रोग्राम फ़ाइलें \ ZeroMQ 3.2 के अंतर्गत भी शामिल हैं। 2:ZMQ :: LibZMQ3 और स्ट्रॉबेरी perl

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 

क्या यह सीपीएन मॉड्यूल विंडोज़ पर स्थापित करना संभव है और यदि हाँ कोई मदद कर सकता है तो समस्या क्या हो सकती है?

+1

हा, आपके सभी प्रतिनिधि को बक्षीस के लिए।;) सुनिश्चित नहीं है कि प्रासंगिक है लेकिन ऐसा लगता है सिर्फ आपके सिस्टम से अधिक: http://code.activestate.com/ppm/ZMQ-LibZMQ3/ – Qtax

उत्तर

2

यह पैकेज मेरे एक्टिवस्टेट पर्ल विंडोज-आधारित मशीन पर स्थापित नहीं होगा - हालांकि कुछ ZMQ पैकेज होंगे। ऐसा लगता है कि विंडोज/पर्ल के तहत समर्थन सबसे अच्छा है।

यह पृष्ठ देखें: https://github.com/lestrrat/p5-ZMQ/issues/14 जैसा कि स्ट्रॉबेरी पर्ल के साथ ज्ञात समस्याएं प्रतीत होती हैं।

इसे जोड़ने के लिए नफरत है (पायथन पसंद नहीं है), लेकिन ऐसा लगता है कि विंडोज के तहत पाइथन 2.7 के साथ काम करना प्रतीत होता है। बस एक त्वरित स्थापित किया और पास किए गए परीक्षण चलाया, जो पारित किया। डॉक्स यह भी कहते हैं कि जावा विंडोज के साथ भी अच्छी तरह से काम करता है।

यदि आपका नहीं 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. 
4

मैं सिर्फ यह मेरे ActiveStatePerl वातावरण में की कोशिश की।

सबसे पहले मुझे एक ही परिणाम मिल गए, लेकिन फिर मैंने अपना ZMQ स्थापना नाम दिया और रिक्त स्थान हटा दिए।

(C:\App\ZeroMQ 2.2.0 से C:\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 की आवश्यकता है)

आशा है कि आपके लिए भी काम करता है।

+0

हम्म, मुझे कुछ स्पष्ट तथ्यों को भी जोड़ना चाहिए। ;-) – smartmeta

3

क्या आप स्ट्रॉबेरी पर्ल या एक्टिवस्टेट पर्ल का उपयोग कर रहे हैं? सक्रिय स्टेट पर्ल को सीपीएएन से इंस्टॉल करने में समस्या हो सकती है जब तक कि आपको 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) 

हम्म .. मुझे पहले इन पर्यावरण चर सेट करना होगा।

अगला, मुझे सी पुस्तकालय 'zmq' को रद्द/शामिल नहीं किया जा सकता है, निरस्त कर रहा है। जो मेकफ़ाइल में assert से है। मुझे यह समस्या Github पर मिली। यह कहा:

अहह अच्छा सूचक। pthread_create समस्या। मेरा perl थ्रेड समर्थन के साथ संकलित किया गया था। मैंने perl recompiled है और वह समस्या चली गई है।

उम हाँ, स्ट्रॉबेरी पर्ल थ्रेड समर्थन के साथ संकलित किया गया है। और, मैं इसे पुन: संकलित नहीं कर रहा हूं।

  • नाम पर स्पेस के एक निर्देशिका में ZMQ स्थापित करें:

    क्या मैं सिफारिश करते हैं निम्नलिखित है। मैंने इसे सीधे C:\ZeroMQ-3.2.2 के तहत स्थापित किया।

  • उन पर्यावरण चर को परिभाषित करें। मैंने Makefile.PL को देखा और इसके लिए ZMQ_LIBS और ZMQ_INCLUDES की आवश्यकता है।
  • सुनिश्चित करें कि आप केवल स्ट्रॉबेरी पर्ल का उपयोग कर रहे हैं और ActiveState नहीं। आप ActiveState का उपयोग कर सकते हैं, लेकिन ऐसा कुछ करने के लिए थोड़ा सा tweaking लेता है।
  • Makefile.PL में है कि डीबग ध्वज debug => 1 जोड़े (जिसका अर्थ है आप Makefile के मैनुअल विधि स्थापित जहां कमांड लाइन से perl Makefile.PL चलाने क्या करना है।

मैं डाउनलोड करने के लिए नहीं जा रहा हूँ और धागे के बिना पर्ल को पुन: संकलित करने के लिए यह देखने के लिए समर्थन करता है कि यह काम करेगा या नहीं। मुझे उम्मीद है कि मैंने आपको सही रास्ते पर भेजा है।