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
