Installing avronode on Centos

  1. Install boost and cmake using yum
  2. Install avro-cpp from source using instructions from here.
  3. mkdir /usr/local/include/avrocpp
    mkdir /usr/local/include/avrocpp/lib
    ln -s /usr/local/lib/libavrocpp.so /usr/local/include/avrocpp/lib/libavrocpp.so
    
  4. Run 'npm install avronode'
  5. Run 'npm install node-gyp'
  6. binding.gyp will need some path changes and should look like this:
    
    {
      "targets": [
      {
        "target_name": "avro",
        "type": "loadable_module",
        "product_extension": "node",
        'include_dirs': ['/usr/local/include', "./"],
        'cflags_cc!': ['-fno-rtti', '-fno-exceptions'],
        'cflags_cc+': ['-frtti', '-fexceptions'],
        'link_settings': {
          'ldflags': ['-L/usr/local/lib'],
          'libraries': ['/usr/local/lib/libavrocpp.so']
        },
        "sources": [ "./src/node_avro.cc","./src/DynamicBuffer.cc", "./src/BufferedInputStream.cc", "./src/translate.cc", "./src/helpers.cc"]
      }
      ]
    }
    
  7. Run 'node-gyp configure build'
  8. Add 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' to ./bash_profile

Comments