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

Reply via email to