He is the author of node-png :p But ya, like Bert said, you're going to have to migrate from libeio to using libuv (likely uv_queue_work() ) to do the thread pool stuff.
On Wed, Mar 28, 2012 at 7:09 AM, Bert Belder <[email protected]> wrote: > On Mar 28, 8:16 am, Peteris Krumins <[email protected]> wrote: > > Hello! > > > > I'm trying to build node-png on Windows XP with node 0.6.14, node-gyp, > > and Visual Studio 2010 Express edition but it's failing. > > > > Here is my bindings.gyp: > > > > { > > "targets": [ > > { > > "target_name": "png", > > "sources": [ > > "src/common.cpp", > > "src/png_encoder.cpp", > > "src/png.cpp", > > "src/fixed_png_stack.cpp", > > "src/dynamic_png_stack.cpp", > > "src/module.cpp", > > "src/buffer_compat.cpp", > > ], > > "include_dirs" : [ "gyp/include" ] > > } > > ] > > > > } > > > > Running `node-gyp configure` succeeds but `node-gyp build` fails. > > Below is the output from both commands. For some reason the C++ > > compiler reports the following error: `error C2061: syntax error : > > identifier 'eio_req'`. > > > > I've added the necessary png include headers for Windows in `gyp` > > folder and it's on my github athttp://github.com/pkrumins/node-png. > > > > Does anyone have any ideas about how to fix this error and build the > > project? > > > > C:\node-png>node-gyp configure > > info it worked if it ends with ok > > spawn python [ 'C:\\node-png\\.node-gyp\\0.6.14\\tools\\gyp_addon', > > 'binding.gyp', > > '-IC:\\node-png\\build\\config.gypi', > > '-f', > > 'msvs', > > '-G', > > 'msvs_version=2010' ] > > info done ok > > > > C:\node-png>node-gyp build > > info it worked if it ends with ok > > spawn C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe > > [ 'build/binding > > .sln', > > '/clp:Verbosity=minimal', > > '/nologo', > > '/p:Configuration=Release;Platform=Win32' ] > > dynamic_png_stack.cpp > > C:\node-png\.node-gyp\0.6.14\src\node_object_wrap.h(57): warning > > C4251: 'node:: > > ObjectWrap::handle_' : class 'v8::Persistent<T>' needs to have dll- > > interface to > > be used by clients of class 'node::ObjectWrap' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::Object > > ] > > C:\node-png\.node-gyp\0.6.14\src\node_buffer.h(68): warning C4251: > > 'node::Buffe > > r::constructor_template' : class 'v8::Persistent<T>' needs to have dll- > > interfac > > e to be used by clients of class 'node::Buffer' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::FunctionTemplate > > ] > > c:\node-png\src\dynamic_png_stack.h(41): error C2061: syntax error : > > identifier > > 'eio_req' [C:\node-png\build\png.vcxproj] > > c:\node-png\src\dynamic_png_stack.h(42): error C2061: syntax error : > > identifier > > 'eio_req' [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(77): warning C4530: C++ exception handler > > used, bu > > t unwind semantics are not enabled. Specify /EHsc [C:\node-png\build > > \png.vcxpro > > j] > > ..\src\dynamic_png_stack.cpp(229): error C2065: 'eio_req' : undeclared > > identifi > > er [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(229): error C2065: 'req' : undeclared > > identifier [ > > C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(230): error C2448: > > 'DynamicPngStack::EIO_PngEncode > > ' : function-style initializer appears to be a function definition [C: > > \node-png > > \build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(275): error C2065: 'eio_req' : undeclared > > identifi > > er [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(275): error C2065: 'req' : undeclared > > identifier [ > > C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(276): error C2448: > > 'DynamicPngStack::EIO_PngEncode > > After' : function-style initializer appears to be a function > > definition [C:\nod > > e-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(339): error C2065: 'EIO_PRI_DEFAULT' : > > undeclared > > identifier [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(339): error C3861: 'eio_custom': > > identifier not fo > > und [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(341): error C2065: 'EV_DEFAULT_UC' : > > undeclared id > > entifier [C:\node-png\build\png.vcxproj] > > ..\src\dynamic_png_stack.cpp(341): error C3861: 'ev_ref': identifier > > not found > > [C:\node-png\build\png.vcxproj] > > fixed_png_stack.cpp > > C:\node-png\.node-gyp\0.6.14\src\node_object_wrap.h(57): warning > > C4251: 'node:: > > ObjectWrap::handle_' : class 'v8::Persistent<T>' needs to have dll- > > interface to > > be used by clients of class 'node::ObjectWrap' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::Object > > ] > > C:\node-png\.node-gyp\0.6.14\src\node_buffer.h(68): warning C4251: > > 'node::Buffe > > r::constructor_template' : class 'v8::Persistent<T>' needs to have dll- > > interfac > > e to be used by clients of class 'node::Buffer' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::FunctionTemplate > > ] > > c:\node-png\src\fixed_png_stack.h(14): error C2061: syntax error : > > identifier ' > > eio_req' [C:\node-png\build\png.vcxproj] > > c:\node-png\src\fixed_png_stack.h(15): error C2061: syntax error : > > identifier ' > > eio_req' [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(58): warning C4530: C++ exception handler > > used, but > > unwind semantics are not enabled. Specify /EHsc [C:\node-png\build > > \png.vcxproj] > > ..\src\fixed_png_stack.cpp(176): error C2065: 'eio_req' : undeclared > > identifier > > [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(176): error C2065: 'req' : undeclared > > identifier [C: > > \node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(177): error C2448: > > 'FixedPngStack::EIO_PngEncode' : > > function-style initializer appears to be a function definition [C: > > \node-png\bui > > ld\png.vcxproj] > > ..\src\fixed_png_stack.cpp(200): error C2065: 'eio_req' : undeclared > > identifier > > [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(200): error C2065: 'req' : undeclared > > identifier [C: > > \node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(201): error C2448: > > 'FixedPngStack::EIO_PngEncodeAfte > > r' : function-style initializer appears to be a function definition [C: > > \node-pn > > g\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(261): error C2065: 'EIO_PRI_DEFAULT' : > > undeclared id > > entifier [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(261): error C3861: 'eio_custom': identifier > > not foun > > d [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(263): error C2065: 'EV_DEFAULT_UC' : > > undeclared iden > > tifier [C:\node-png\build\png.vcxproj] > > ..\src\fixed_png_stack.cpp(263): error C3861: 'ev_ref': identifier not > > found [C > > :\node-png\build\png.vcxproj] > > module.cpp > > C:\node-png\.node-gyp\0.6.14\src\node_object_wrap.h(57): warning > > C4251: 'node:: > > ObjectWrap::handle_' : class 'v8::Persistent<T>' needs to have dll- > > interface to > > be used by clients of class 'node::ObjectWrap' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::Object > > ] > > C:\node-png\.node-gyp\0.6.14\src\node_buffer.h(68): warning C4251: > > 'node::Buffe > > r::constructor_template' : class 'v8::Persistent<T>' needs to have dll- > > interfac > > e to be used by clients of class 'node::Buffer' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::FunctionTemplate > > ] > > c:\node-png\src\png.h(14): error C2061: syntax error : identifier > > 'eio_req' [C: > > \node-png\build\png.vcxproj] > > c:\node-png\src\png.h(15): error C2061: syntax error : identifier > > 'eio_req' [C: > > \node-png\build\png.vcxproj] > > c:\node-png\src\fixed_png_stack.h(14): error C2061: syntax error : > > identifier ' > > eio_req' [C:\node-png\build\png.vcxproj] > > c:\node-png\src\fixed_png_stack.h(15): error C2061: syntax error : > > identifier ' > > eio_req' [C:\node-png\build\png.vcxproj] > > c:\node-png\src\dynamic_png_stack.h(41): error C2061: syntax error : > > identifier > > 'eio_req' [C:\node-png\build\png.vcxproj] > > c:\node-png\src\dynamic_png_stack.h(42): error C2061: syntax error : > > identifier > > 'eio_req' [C:\node-png\build\png.vcxproj] > > png.cpp > > C:\node-png\.node-gyp\0.6.14\src\node_object_wrap.h(57): warning > > C4251: 'node:: > > ObjectWrap::handle_' : class 'v8::Persistent<T>' needs to have dll- > > interface to > > be used by clients of class 'node::ObjectWrap' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::Object > > ] > > C:\node-png\.node-gyp\0.6.14\src\node_buffer.h(68): warning C4251: > > 'node::Buffe > > r::constructor_template' : class 'v8::Persistent<T>' needs to have dll- > > interfac > > e to be used by clients of class 'node::Buffer' [C:\node-png\build > > \png.vcxproj] > > with > > [ > > T=v8::FunctionTemplate > > ] > > c:\node-png\src\png.h(14): error C2061: syntax error : identifier > > 'eio_req' [C: > > \node-png\build\png.vcxproj] > > c:\node-png\src\png.h(15): error C2061: syntax error : identifier > > 'eio_req' [C: > > \node-png\build\png.vcxproj] > > ..\src\png.cpp(35): warning C4530: C++ exception handler used, but > > unwind seman > > tics are not enabled. Specify /EHsc [C:\node-png\build\png.vcxproj] > > ..\src\png.cpp(113): error C2065: 'eio_req' : undeclared identifier [C: > > \node-pn > > g\build\png.vcxproj] > > ..\src\png.cpp(113): error C2065: 'req' : undeclared identifier [C: > > \node-png\bu > > ild\png.vcxproj] > > ..\src\png.cpp(114): error C2448: 'Png::EIO_PngEncode' : function- > > style initial > > izer appears to be a function definition [C:\node-png\build > > \png.vcxproj] > > ..\src\png.cpp(137): error C2065: 'eio_req' : undeclared identifier [C: > > \node-pn > > g\build\png.vcxproj] > > ..\src\png.cpp(137): error C2065: 'req' : undeclared identifier [C: > > \node-png\bu > > ild\png.vcxproj] > > ..\src\png.cpp(138): error C2448: 'Png::EIO_PngEncodeAfter' : function- > > style in > > itializer appears to be a function definition [C:\node-png\build > > \png.vcxproj] > > ..\src\png.cpp(204): error C2065: 'EIO_PRI_DEFAULT' : undeclared > > identifier [C: > > \node-png\build\png.vcxproj] > > ..\src\png.cpp(204): error C3861: 'eio_custom': identifier not found > > [C:\node-p > > ng\build\png.vcxproj] > > ..\src\png.cpp(206): error C2065: 'EV_DEFAULT_UC' : undeclared > > identifier [C:\n > > ode-png\build\png.vcxproj] > > ..\src\png.cpp(206): error C3861: 'ev_ref': identifier not found [C: > > \node-png\b > > uild\png.vcxproj] > > ERR! Error: `C:\WINDOWS\Microsoft.NET\Framework > > \v4.0.30319\msbuild.exe` failed w > > ith exit code: 1 > > at Array.0 (C:\Documents and Settings\Administrator\Application > > Data\npm\nod > > e_modules\node-gyp\lib\build.js:176:25) > > at EventEmitter._tickCallback (node.js:192:40) > > ERR! not ok > > It is a problem with node-png. It uses the libeio interface - but that > is not available on windows. You should probably report a bug to the > node-png maintainer (or attempt to fix it yourself.) > > - Bert > > -- > 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
