Hi,

I'm trying to install the Fibers (https://npmjs.org/package/fibers) Node module 
on OpenBSD but it seems to be failing. I contacted the author and he told me to 
check the bindings.gyp file:

Anything here OpenBSD might react to?

% cat .npm/fibers/1.0.1/package/binding.gyp
{
        'target_defaults': {
                'default_configuration': 'Release',
                'configurations': {
                        'Release': {
                                'cflags': [ '-O3' ],
                                'xcode_settings': {
                                        'GCC_OPTIMIZATION_LEVEL': '3',
                                        'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO',
                                },
                                'msvs_settings': {
                                        'VCCLCompilerTool': {
                                                'Optimization': 3,
                                                'FavorSizeOrSpeed': 1,
                                        },
                                },
                        }
                },
        },
        'targets': [
                {
                        'target_name': 'fibers',
                        'sources': [
                                'src/fibers.cc',
                                'src/coroutine.cc',
                                'src/libcoro/coro.c',
                                # Rebuild on header changes
                                'src/coroutine.h',
                                'src/libcoro/coro.h',
                        ],
                        'cflags!': ['-ansi'],
                        'conditions': [
                                ['OS == "win"',
                                        {'defines': ['CORO_FIBER', 'WINDOWS']},
                                # else
                                        {
                                                'defines': ['USE_CORO', 
'CORO_GUARDPAGES=1'],
                                                'ldflags': ['-pthread'],
                                        }
                                ],
                                ['OS == "linux" or OS == "solaris" or OS == 
"sunos" or OS == "freebsd"', {'defines': ['CORO_UCONTEXT']}],
                                ['OS == "mac"', {'defines': ['CORO_SJLJ']}],
                                ['OS == "openbsd"', {'defines': ['CORO_ASM']}],
                                ['target_arch == "arm"',
                                        {
                                                # There's been problems getting 
real fibers working on arm
                                                'defines': ['CORO_PTHREAD'],
                                                'defines!': ['CORO_UCONTEXT', 
'CORO_SJLJ', 'CORO_ASM'],
                                        },
                                ],
                        ],
                },
        ],
}

Here is the build error itself:

% npm install fibers
npm http GET https://registry.npmjs.org/fibers
npm http 304 https://registry.npmjs.org/fibers

> fibers@1.0.1 install /home/opendaddy/myapp/node_modules/fibers
> node ./build.js

gmake: Entering directory `/home/opendaddy/myapp/node_modules/fibers/build'
  g++ '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSE_CORO' 
'-DCORO_GUARDPAGES=1' '-DCORO_UCONTEXT' '-DBUILDING_NODE_EXTENSION' 
-I/home/opendaddy/.node-gyp/0.8.18/src 
-I/home/opendaddy/.node-gyp/0.8.18/deps/uv/include 
-I/home/opendaddy/.node-gyp/0.8.18/deps/v8/include  -I/usr/include -fPIC -Wall 
-pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink -fno-rtti 
-fno-exceptions -MMD -MF 
./Release/.deps/Release/obj.target/fibers/src/fibers.o.d.raw  -c -o 
Release/obj.target/fibers/src/fibers.o ../src/fibers.cc
In file included from ../src/coroutine.h:4,
                 from ../src/fibers.cc:1:
../src/libcoro/coro.h:321:23: warning: ucontext.h: No such file or directory
  g++ '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DUSE_CORO' 
'-DCORO_GUARDPAGES=1' '-DCORO_UCONTEXT' '-DBUILDING_NODE_EXTENSION' 
-I/home/opendaddy/.node-gyp/0.8.18/src 
-I/home/opendaddy/.node-gyp/0.8.18/deps/uv/include 
-I/home/opendaddy/.node-gyp/0.8.18/deps/v8/include  -I/usr/include -fPIC -Wall 
-pthread -m64 -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink -fno-rtti 
-fno-exceptions -MMD -MF 
./Release/.deps/Release/obj.target/fibers/src/coroutine.o.d.raw  -c -o 
Release/obj.target/fibers/src/coroutine.o ../src/coroutine.cc
In file included from ../src/coroutine.h:4,
                 from ../src/coroutine.cc:1:
../src/libcoro/coro.h:321:23: warning: ucontext.h: No such file or directory
../src/coroutine.cc: In member function 'void Coroutine::transfer(Coroutine&)':
../src/coroutine.cc:152: error: 'swapcontext' was not declared in this scope
gmake: *** [Release/obj.target/fibers/src/coroutine.o] Error 1
gmake: Leaving directory `/home/opendaddy/myapp/node_modules/fibers/build'
gyp ERR! build error
gyp ERR! stack Error: `gmake` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit 
(/usr/local/lib/node_modules/node-gyp/lib/build.js:257:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(child_process.js:678:10)
gyp ERR! System OpenBSD 5.3
gyp ERR! command "node" 
"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" 
"rebuild"
gyp ERR! cwd /home/opendaddy/myapp/node_modules/fibers
gyp ERR! node -v v0.8.18
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok
Build failed
npm ERR! fibers@1.0.1 install: `node ./build.js`
npm ERR! `sh "-c" "node ./build.js"` failed with 1
npm ERR!
npm ERR! Failed at the fibers@1.0.1 install script.
npm ERR! This is most likely a problem with the fibers package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./build.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls fibers
npm ERR! There is likely additional logging output above.

npm ERR! System OpenBSD 5.3
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "fibers"
npm ERR! cwd /home/opendaddy/myapp
npm ERR! node -v v0.8.18
npm ERR! npm -v 1.2.2
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/opendaddy/myapp/npm-debug.log
npm ERR! not ok code 0

Thanks.

O.D.

Reply via email to