node-opencv / mavericks : dyld: Symbol not found - node.js

I'm running a clean install of OSX 10.9 and running into issues running any node.js app with node-opencv dependencies. I've already installed opencv, python, node.js, and npm via Homebrew.
In this case, I'm trying to run: node face_detection.js from the examples folder, and I'm getting this error:
dyld: lazy symbol binding failed: Symbol not found: __ZN2cv6imreadERKSsi
Referenced from: /Users/Jim/GitHub/node-opencv/build/Release/opencv.node
Expected in: dynamic lookup
dyld: Symbol not found: __ZN2cv6imreadERKSsi
Referenced from: /Users/Jim/GitHub/node-opencv/build/Release/opencv.node
Expected in: dynamic lookup
Trace/BPT trap: 5

Whatever the cause was, I had the same problem and solved it by upgrading to the latest homebrew distribution of opencv.

Related

Error: package or namespace load failed for ‘glmmTMB’

I am trying to use package glmmTMB. When I call library(glmmTMB) this is the error message:
">library(glmmTMB)
Error: package or namespace load failed for ‘glmmTMB’ in inDL(x, as.logical(local), as.logical(now), ...):
function 'Rcpp_precious_remove' not provided by package 'Rcpp'
In addition: Warning messages:
1: package ‘glmmTMB’ was built under R version 4.0.5
2: In checkMatrixPackageVersion() :
Package version inconsistency detected.
TMB was built with Matrix version 1.3.4
Current Matrix version is 1.2.18
Please re-install 'TMB' from source using install.packages('TMB', type = 'source') or ask CRAN for a binary version of 'TMB' matching CRAN's 'Matrix' package
I have tried using install.packages('TMB', type = 'source') with no luck. Any ideas?
It's a FAQ -- search for 'Rcpp_precious_remove' not provided by package 'Rcpp'.
In short you are mixing a NEWER compilatio nof something that was built with Rcpp 1.0.7 present with an older installed version which lacks the symbol.
Fix: install.packages("Rcpp") to get the newer Rcpp. And I generally recommend regular update.packages() runs to avoid these issues.

macOS & dyld: Symbol not found: _usdt_create_provider

In short, I'm unable to install #pact-foundation/pact-node on my development computer and from what I gather it seems to be loosely related to being on macOS 10.14. When I say loosely, this does not affect my other non-development computer running the same stack.
Within nvm I've tried using Node 8.14.0, 8.15.0, 9.4.0, 10.14.2, 10.15.0 and 11.6.0, in addition to system Node, which is also 11.6.0. Each version results in the same error messages, regardless of whether I'm in my team's project directory or in an otherwise empty sandbox directory.
Until a few minutes ago I was running macOS 10.14.1 and am seeing the same problems on 10.14.2. There are no updates that haven't been installed.
The package installation output is as follows.
$ npm install #pact-foundation/pact-node
> dtrace-provider#0.8.7 install /Users/andrewgould/www/sandbox/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js
ACTION binding_gyp_ndtp_target_build_ndtp .
TOUCH Release/obj.target/ndtp.stamp
> spawn-sync#1.0.15 postinstall /Users/andrewgould/www/sandbox/node_modules/spawn-sync
> node postinstall
> caporal#0.10.0 postinstall /Users/andrewgould/www/sandbox/node_modules/caporal
> (test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0
> #pact-foundation/pact-node#6.20.0 postinstall /Users/andrewgould/www/sandbox/node_modules/#pact-foundation/pact-node
> node postinstall.js
dyld: lazy symbol binding failed: Symbol not found: _usdt_create_provider
Referenced from: /Users/andrewgould/www/sandbox/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
Expected in: flat namespace
dyld: Symbol not found: _usdt_create_provider
Referenced from: /Users/andrewgould/www/sandbox/node_modules/dtrace-provider/src/build/Release/DTraceProviderBindings.node
Expected in: flat namespace
Abort trap: 6
Has anyone seen errors like these before? Is there a solution known?
It turns out this issue was caused by binutils, which I had installed via Homebrew. Uninstalling that fixed the problem.
From the GNU binutils website, the main packages included in it are ld, the GNU linker, and as, the GNU assembler. Both tools are included with macOS, however the Homebrew versions of these tools caused the conflicts shown in the above question.

Unable to load rjags

I'm having the following error when trying to load rjags. I recently upgraded to OSX El Capitain and also installed the latest version of JAGS 4.0.1. Does any one know how to fix it?
library(rjags)
Error : .onLoad failed in loadNamespace() for 'rjags', details:
call: dyn.load(file)
error: unable to load shared object '/usr/local/lib/JAGS/modules-3/bugs.so':
dlopen(/usr/local/lib/JAGS/modules-3/bugs.so, 6): Symbol not found: _R_finite
Referenced from: /usr/local/lib/JAGS/modules-3/bugs.so
Expected in: /usr/local/lib/libjrmath.0.dylib
in /usr/local/lib/JAGS/modules-3/bugs.so
Error: package or namespace load failed for ‘rjags’
I found a solution by installing the development version of the rjags package.
http://sourceforge.net/projects/mcmc-jags/files/rjags/4/

Updating mongoose to 4.2.5 breaks application [duplicate]

This question already has answers here:
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
(5 answers)
Closed 7 years ago.
After updating mongoose to the latest version, when I start up my server I get the following not-very-helpful error:
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /Users/michaelrusso/Development/sp-app-website/services/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build/Release/kerberos.node
Expected in: dynamic lookup
dyld: Symbol not found: _node_module_register
Referenced from: /Users/michaelrusso/Development/sp-app-website/services/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build/Release/kerberos.node
Expected in: dynamic lookup
EDIT: this question is specific to mongoose 4.2.5
Try deleting your node_modules folder and running npm install again.
rm -rf node_modules/
npm install
That should fix it.
Basically this error means that some binary packages were built under different node.js versions and are not compatible with each other.
Source: dyld: lazy symbol binding failed: Symbol not found: _node_module_register

Warning: Error: dyld: lazy symbol binding failed: Symbol not found: _objc_autoreleasePoolPush

I'm getting an error when imagemin is run on png : Warning: Error: dyld: lazy symbol binding failed: Symbol not found: _objc_autoreleasePoolPush
i'm on a macbook pro 10.6.8
I installed grunt today along with the plugin's
Any help would be wonderful as google is pointing me to IOS development issues.
The binary is compiled for a newer version of the OS (you're now 4 major releases behind — upgrade if you can!)

Resources