Trying to include 0mq for java external: UnsatisfiedLinkError wrong architecture

    Jul 30 2012 | 11:04 pm
    I'm trying to incorporate the zero mq library ( in order to receive some data from another process. The simple java program I've written to interface with zero mq runs fine on its own, but once I try to run it in max, I get the following error:
    "java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.0.dylib: no suitable image found. Did find: /usr/local/lib/libjzmq.0.dylib: mach-o, but wrong architecture"
    I've searched the forums, and see this error message appearing when people try to run ppc binaries on intel macs, but I know this isn't the case for me, as the library works fine when not run from within max. I believe the libraries I'm using are 64 bit, however. Could this be the problem? Can anyone offer insights into how to fix it?

    • Jul 30 2012 | 11:11 pm
      I'm running on a Mac Pro:
      Hardware Overview:
      Model Name: Mac Pro
      Model Identifier: MacPro1,1
      Processor Name: Dual-Core Intel Xeon
      Processor Speed: 2.66 GHz
      Number Of Processors: 2
      Total Number Of Cores: 4
      L2 Cache (per processor): 4 MB
      Memory: 7 GB
      Bus Speed: 1.33 GHz
      Boot ROM Version: MP11.005C.B08
      SMC Version (system): 1.7f10
      Serial Number (system): G86421VXUPZ
      Hardware UUID: 00000000-0000-1000-8000-0017F203C1B2
    • Jul 31 2012 | 10:06 am
      Try doing a
      file /usr/local/lib/libjzmq.0.dylib
      which should tell you what architectures the library supports.
    • Jul 31 2012 | 6:32 pm
      file libjzmq.0.dylib produces:
      libjzmq.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64
      So it is a 64 bit library. Can max 6 not handle a 64 bit java library?
    • Aug 01 2012 | 2:02 pm
      Max 6 is AFAIK still 32-bit, so the JVM it loads will be also.
      Isn't there a 32-bit Zero MQ library?
    • Jan 09 2014 | 8:51 am
      Hi Ryutaro, did you manage to get the ZMQ into max yet?
      Would you mind explaining a bit about the process? I am trying to get a data stream from a python program into max. The data is flowing nicely, and I can see it in the terminal window if I import ZMQ to there, but I don't know how to get it into Max!
      Did you use the mxj object to write the java script and import to max? If so, would you mind explaining the script to me? I'm a java noob...