Compilando JZMQ en Ubuntu
makefile zeromq (5)
¿Por qué no usar el gestor de paquetes para instalarlo?
sudo apt-get install libzmq0 libzmq-dev zeromq-bin
Hola a todos. Intento seguir las instrucciones que se encuentran en: https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies para instalar Zero MQ como una dependencia para Storm en una máquina Ubuntu 12.04 Sin embargo, al intentar ejecutar el comando make obtengo el siguiente error
Making all in src
make[1]: Entering directory `/home/localadmin/jzmq/src''
make[1]: *** No rule to make target `classdist_noinst.stamp'', needed by `org/zeromq/ZMQ.class''. Stop.
make[1]: Leaving directory `/home/localadmin/jzmq/src''
make: *** [all-recursive] Error 1
¿Alguien tiene alguna idea de dónde surge este error y cómo podría corregirlo?
Al parecer, compilar JZMQ en Ubuntu 12.04 es un poco más complicado de lo que creía. Sin embargo, me tomé el tiempo para escribir la solución que encontré. Puede encontrarlo en: Instalar las dependencias nativas de Storm en Ubuntu 12.04 . Por el tiempo aquí están las instrucciones:
- Deberá asegurarse de que primero se instalen algunos paquetes: build-essential, uuid-dev, libtool, git, autoconf, openjdk-6-jdk
Cree una variable JAVA_HOME que apunte al jdk que acaba de instalar. Debería estar en el directorio / usr / lib / jvm
JAVA_HOME=/usr/lib/jvm/(your jdk folder); export JAVA_HOME
Ejecute los siguientes comandos para instalar Zero MQ:
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz tar -xzf zeromq-2.1.7.tar.gz cd zeromq-2.1.7 ./configure make sudo make install
Descarga JZMQ y navega hasta el directorio src
git clone https://github.com/nathanmarz/jzmq.git cd jzmq cd src
Una vez en el directorio src, ejecute el comando táctil para crear un archivo y luego vuelva a definir el classpath.
touch classdist_noinst.stamp CLASSPATH=.:./.:$CLASSPATH javac -d . org/zeromq/ZMQ.java org/zeromq/ZMQException.java org/zeromq/ZMQQueue.java org/zeromq/ZMQForwarder.java org/zeromq/ZMQStreamer.java
6. Navegar de nuevo a / jzmq y ejecutar make
cd .. ./autogen.sh If you get this error "autogen.sh: error: could not find pkg-config.pkg-config is required to run autogen.sh", then install pkg-config. In Ubuntu sudo apt-get install pkg-config and again run the above command. ./configure make sudo make install
Partes de esto se unieron de https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies y Tijun - Cómo construir jzmq en Mac OS X Lion . Gracias chicos por poner sus piezas del rompecabezas arriba, las cosí juntas.
Hay una solución para esto ahora en el repositorio de zeromq / jzmq que agregué al repositorio de mi congelado jzmq: https://github.com/halfaleague/jzmq
Ahora, solo puede seguir las instrucciones ( ./autogen.sh
, ./configure
, make
, make install
).
Para Ubuntu 13.04 (Raring), necesitaba ejecutar lo siguiente antes del paso ./autogen.sh:
sed -i ''s / classdist_noinst.stamp / classnoinst.stamp / g'' src / Makefile.am
Encontré esta solución aquí, y creo que este hilo podría ser útil para cualquier persona con este tipo de problemas: https://github.com/zeromq/jzmq/issues/114
classdist_noinst.stamp
reemplazar classdist_noinst.stamp
con classnoinst.stamp
en jzmq/src/**Makefile.am**