Shared library linking conflicts with c++, node namespace

I am using node-gyp to create a shared object from an existing library and a wrapper to access the functions that exist within the shared object.

The problem I am running into is due to your typical naming conflicts that exist within the shared object. In this case it is with namespace node {} due to the library I am creating the shared object with using a typedef struct node

For brevity here is the error I am coming across.

error: ‘struct node’ redeclared as different kind of symbol
.node-gyp/0.10.31/src/node_object_wrap.h:38: error: previous declaration of ‘namespace node { }’
../src/dso/src/expression.h:36: error: invalid type in declaration before ‘;’ token
make: *** [Release/obj.target/module/src/module.o] Error 1
make: Leaving directory `module/build'

I am already aware of shared library linking and naming conflicts as discussed here & here.

For maintainability I am trying to leave the existing library alone in terms of simply renaming the struct and any references to it.

Anyone have a good compiler hack to pull this off?