ubuntu makefile zeromq jzmq

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:

  1. Deberá asegurarse de que primero se instalen algunos paquetes: build-essential, uuid-dev, libtool, git, autoconf, openjdk-6-jdk
  2. 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

  3. 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

  4. Descarga JZMQ y navega hasta el directorio src

    git clone https://github.com/nathanmarz/jzmq.git cd jzmq cd src

  5. 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**