It looks like you're never actually linking to libgeoip. You'll need to add something to the "libraries" section of the gyp file.
On Thu, Apr 26, 2012 at 8:55 AM, Ben Noordhuis <[email protected]> wrote: > On Thu, Apr 26, 2012 at 07:36, Qing Guan <[email protected]> wrote: > > Hi: > > I just gave the new gyp build tool a try to build my GeoIP binding for > > node, It seems that the building process was successful. But when I try > to > > require the binding in REPL, I got the follow error message: > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > var binding = require('./geoip.node') > > Error: Unable to load shared library > > /home/kuno/Code/repository/geoip/build/Release/lib.target/geoip.node > > at Object..node (module.js:472:11) > > at Module.load (module.js:348:31) > > at Function._load (module.js:308:12) > > at Module.require (module.js:354:17) > > at require (module.js:370:17) > > at repl:1:15 > > at REPLServer.eval (repl.js:80:21) > > at repl.js:190:20 > > at REPLServer.eval (repl.js:87:5) > > at Interface.<anonymous> (repl.js:182:12) > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------ > > > > Here is my binding.gyp file, use node-ffi's binding.gyp as a template... > > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------ > > { > > 'targets': [ > > { > > 'target_name': 'geoip', > > 'type': 'shared_library', > > 'sources': [ > > 'src/init.cc' > > , 'src/country.cc','src/country6.cc' > > , 'src/city.cc','src/city6.cc' > > , 'src/org.cc','src/region.cc' > > , 'src/netspeed.cc', 'src/utils.cc' > > ], > > 'include_dirs': [ > > 'deps/geoip/libGeoIP' > > ], > > 'dependencies': [ > > ], > > 'conditions': [ > > ['OS=="win"', { > > 'libraries': [ > > ], > > 'dependencies': [ > > ] > > }, { > > 'libraries': [ > > ], > > }], > > ['OS=="mac"', { > > 'xcode_settings': { > > 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES', > > 'MACOSX_DEPLOYMENT_TARGET': '10.5', > > 'OTHER_CFLAGS': [ > > '-ObjC++' > > ] > > }, > > 'libraries': [ > > '-lobjc' > > ], > > }] > > ] > > }, > > ] > > } > > > ----------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Any suggestion/advice is appreciated. > > > > The full details can be check at the gyp branch of my GeoIP repository at > > github: > > > > https://github.com/kuno/GeoIP/tree/gyp > > Try it with node master or 0.7.8, it will tell you why it cannot load > the module. > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
