2013-02-19 6 views
11

Sto cercando di installare ZMQ :: LibZMQ3 su perl fragola, ma ottengo il seguente messaggio di errore durante l'installazione di questo modulo anche my zmq libs e include sono disponibili in C: \ Programmi \ ZeroMQ 3.2. 2:ZMQ :: LibZMQ3 e fragola 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 

è possibile installare questo modulo CPAN sulle finestre e se sì, qualcuno potrebbe aiutare quello che potrebbe essere il problema?

+1

Ha, tutto il tuo rappresentante per una taglia.;) Non sono sicuro se rilevante ma sembra fallire più che il tuo sistema: http://code.activestate.com/ppm/ZMQ-LibZMQ3/ – Qtax

risposta

2

Questo pacchetto non si installa sul mio computer basato su Windows ActiveState Perl - anche se alcuni dei pacchetti ZMQ lo faranno. Sembra che il supporto in Windows/Perl sia limitato al massimo.

Vedere questa pagina: https://github.com/lestrrat/p5-ZMQ/issues/14 Come sembra che ci siano problemi noti con Strawberry Perl.

Odio aggiungere questo (non mi piace Python), ma sembra funzionare in Windows con Python 2.7. Ho appena fatto una rapida installazione e ho eseguito i test inclusi, che sono passati. I documenti dicono anche che Java funziona bene anche con Windows.

Se il tuo non a 64 bit questo può aiutare (da 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

ho appena provato nel mio ambiente ActiveStatePerl.

Prima ho ottenuto gli stessi risultati, ma poi ho rinominato la mia installazione ZMQ e rimosso gli spazi.

(Da 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) 

Così ho superato il problema

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

ed ho ottenuto il passo successivo nel Makefile.PL

Detecting zmq version... 

(che cade sulla il mio sistema perché ho 0mq 2.2.0 e il perl-binding richiede 3.3)

Speranza che funziona per voi, anche.

+0

Hmm, forse dovrei aggiungere alcuni fatti ovvi. ;-) – smartmeta

3

Stai usando Strawberry Perl o ActiveState Perl? Active State Perl può avere problemi con l'installazione da CPAN a meno che non si disponga di nmake e siano state installate le utilità MinGW. Sono preoccupato per questo:

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

Questo solleva grandi bandiere rosse per me. Ho anche notato questa piccola canzoncina quando ho provato ad installare:

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

Hmm .. devo impostare queste variabili di ambiente prima.

Successivamente, ho ottenuto Impossibile collegare/includere libreria C 'zmq', interrompere. che proviene dal assert nel Makefile. Ho trovato questo problema su Github. Diceva:

Ahhh bel puntatore. problema pthread_create. Il mio perl è stato compilato con supporto thread. Ho ricompilato perl e quel problema è andato via.

Ebbene sì, Strawberry Perl è compilato con supporto filo. E non lo sto ricompilando.

Quello che consiglio è il seguente:

  • Installare ZMQ in una directory senza spazi nel nome. L'ho installato direttamente sotto C:\ZeroMQ-3.2.2.
  • Definire tali variabili di ambiente. Ho guardato il Makefile.PL e richiede ZMQ_LIBS e ZMQ_INCLUDES.
  • Assicurati di utilizzare solo Strawberry Perl e non ActiveState. È possibile utilizzare ActiveState, ma richiede un po 'di tweaking per qualcosa di simile.
  • Aggiungi quella bandiera Debug debug => 1 nel Makefile.PL (il che significa che dovete fare il metodo manuale del Makefile installazione in cui si esegue perl Makefile.PL dalla riga di comando.

Non ho intenzione di scaricare e ricompilare Perl senza il supporto dei thread per vedere se funziona, spero di averti inviato sul percorso corretto.