DYLD error when starting up mongodb - macos

I installed mongo with:
brew install mongodb
I created the data directory:
/data/dir
i included mongod the path (which mongod --> /opt/local/bin/mongod):
export PATH=$PATH:/opt/local/bin/mongod
I tried to run mongod:
mongod
And got this response:
dyld: lazy symbol binding failed: Symbol not found: __ZN7pcrecpp2RE4InitERKSsPKNS_10RE_OptionsE
Referenced from: /opt/local/bin/mongod
Expected in: /opt/local/lib/libpcrecpp.0.dylib
dyld: Symbol not found: __ZN7pcrecpp2RE4InitERKSsPKNS_10RE_OptionsE
Referenced from: /opt/local/bin/mongod
Expected in: /opt/local/lib/libpcrecpp.0.dylib
What is this error all about? How do I proceed?

the problem was that I had set the path to the wrong directory
Brew installs packages into /usr/local/bin which is where there resides a symlink mongod# -> homebrew's cellar
so, instead, I ran /usr/local/bin/mongod and then it started fine.

Related

Unable to use dcmtk commands like dcmodify and dcmscale

System: M1 MacBook air
I created a duplicate terminal that runs with rosetta 2 for installing dcmtk since it's not available for apple chips yet. In the duplicate terminal, I was able to install dcmtk successfully.
On running dcmodify, I get
dyld: Library not loaded: #rpath/libdcmdata.16.dylib
Referenced from: /usr/local/homebrew/bin/dcmodify
Reason: image not found
zsh: abort dcmodify
dcmscale also gives throws a similar error.
dyld: Library not loaded: #rpath/libdcmimage.16.dylib
Referenced from: /usr/local/homebrew/bin/dcmscale
Reason: image not found
zsh: abort dcmscale
How do I fix these errors?
Edit-1: Reinstalling DCMTK made no difference. The error still persists.
Edit-2: I have attached the logs for brew info dcmtk
Since you are using the terminal with rosetta 2, try adding export PATH="/usr/local/homebrew/bin:$PATH" in ~/.bashrc file
If this doesn't work, add export PATH="/usr/local/homebrew/bin:$PATH" in ~/.zshrc file
Adding these paths should work

dyld: Symbol not found: _OPENSSL_init_ssl

I just installed ffsend and wget via homebrew on my MacOS (Mojave 10.14.6), and when I run the command
ffsend upload some_file.tgz
or
wget some_url some_file.tgz
I get the following:
dyld: lazy symbol binding failed: Symbol not found: _OPENSSL_init_ssl
Referenced from: /usr/local/bin/ffsend Expected in:
/usr/local/opt/openssl#1.1/lib/libssl.1.1.dylib
dyld: Symbol not found: _OPENSSL_init_ssl Referenced from:
/usr/local/bin/ffsend Expected in:
/usr/local/opt/openssl#1.1/lib/libssl.1.1.dylib
Abort trap: 6
I know I've had some bugs with Open SSL previously, but I have no idea of how to tackle this problem.
Thanks
The problem was due to a conflict between versions of OpenSSL. Some programs (wget, ffsend) needed the latest version of OpenSSL, while some other programs (not distributed) needed an older version of OpenSSL, namely 1.0.2.
I found the solution here: after reinstalling openssl via brew reinstall openssl#1.1, I used brew switch openssl 1.0.2q.
This way I can use both programs that need the latest version and those that use the older one.

brew doctor throwing loads of errors?

I recently installed Laravel on my Mac to begin learning about it as I've heard good things.
My first error was while accessing /public/:
Laravel requires the Mcrypt PHP extension.
I then installed php54-mcrypt and continued learning yesterday evening.
I then came home today from work, hit 'brew update' and then the same error appeared?
I then ran brew install php54-mcrypt to receive:
Warning: php54-mcrypt-5.4.16 already installed
I then ran brew doctor to receive;
Warning: "config" scripts exist outside your system or Homebrew directories
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/opt/sm/pkg/active/bin/curl-config
/opt/sm/pkg/active/bin/ncurses5-config
/opt/sm/pkg/active/bin/ncursesw5-config
/opt/sm/pkg/active/bin/pkg-config
/opt/sm/pkg/active/bin/xml2-config
/opt/sm/pkg/active/bin/xslt-config
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so' -
dlopen(/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so, 9):
Library not loaded: /usr/local/lib/libmcrypt.4.4.8.dylib
Referenced from: /usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so
Reason: image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so' -
dlopen(/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so, 9):
Library not loaded: /usr/local/lib/libmcrypt.4.4.8.dylib
Referenced from: /usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so
Reason: image not found in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so' -
dlopen(/usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so, 9):
Library not loaded: /usr/local/lib/libmcrypt.4.4.8.dylib
Referenced from: /usr/local/Cellar/php54-mcrypt/5.4.16/mcrypt.so
Reason: image not found in Unknown on line 0
The stuff in /usr/local/Cellar was put there by MacPorts, an earlier package manager for mac. You probably want to remove that. https://guide.macports.org/chunked/installing.macports.uninstalling.html

Why do I fail to load the dylib?

Here is the command I typed:
clang++ -Iboost -Ijpeg_lib/include/ -Ljpeg_lib/lib/ -ljpeg.9 mandelbrot.cpp
The directory structure is like this:
mandelbrot.cpp
/boost
/jpeg_lib/lib/
libjpeg.9.dylib
/jpeg_lib/include/
The compilation is successful, but when I run the binary file, an error occurs:
dyld: Library not loaded: /usr/local/lib/libjpeg.9.dylib
Referenced from: /Users/hanxu/Documents/./a.out
Reason: image not found
Trace/BPT trap: 5
I have specified the library searching path to jpeg_lib/include/, why does the program still search at /usr/local/lib ?
You should include the directory where libjpeg.9.dylib lives in LD_LIBRARY_PATH, which is required to locate the libraries at runtime:
export LD_LIBRARY_PATH=/path/to/libjpeg
Have you checked permissions on your jpeg_lib ? If you installed whatever it is you are running as root and then ran as yourself this may have happened.
I just had the same error message with running GD graphics from a Perl cgi after a portmanteau install as root and found that the /usr/local/lib directory in which my libjpeg.9.dylib resides had permissions 700. Changing to 755 (like all the other directories in /usr/local) solved the problem.

java 6 on mac os x 10.7.5

On my Mac, I deleted java locally, just deleted the folder with java (/System/Library/Frameworks/JavaVM.framework/Versions/).
When I install java 6 again, I was installed into: /Library/Java/JavaVirtualMachines/
Then after installation new one, I have this error when trying to invoke './java' from the console:
Here I put java into my home directory. But, even if use standard one I've got the same exception:
dyld: Library not loaded: /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
Referenced from: /Users/myuser/java/1.6.0.jdk/Contents/Home/bin/./java
Reason: image not found
Trace/BPT trap: 5
Is there any way to fix it?
---2---
Here I just copied working Java 6 from different machine and put to proper/default location, then go to .../bin and type ./java:
$ pwd
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
$ ./java -version
dyld: Library not loaded: #rpath/libjli.jnilib
Referenced from: /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/./java
Reason: image not found
Trace/BPT trap: 5
But if install Java 7, it works perfectly.
--3--
If install JavaDeveloper.pkg package (javadeveloper_for_os_x_2012006__11m3909.dmg) with jdk6 in it - from Apple site
dyld: Library not loaded: /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/./java
Reason: image not found
Trace/BPT trap: 5
--4--
If try to install java 6 (open jdk) from mac ports
$ sudo port install openjdk6
info:build Exiting because of the above error(s). \n
:info:build make: *** [post-sanity] Error 1
:info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_java_openjdk6/openjdk6/work/." && /usr/bin/make ARCH_DATA_MODEL="64" ALT_BOOTDIR="/opt/local/share/java/openjdk6_bootstrap" ALT_JDK_IMPORT_PATH="/opt/local/share/java/openjdk6_bootstrap" ALT_BINARY_PLUGS_PATH="/opt/local/share/java/icedtea6-plugs/jre/lib/rt-closed.jar" ALT_DROPS_DIR="/opt/local/var/macports/distfiles/openjdk6" ANT_HOME="/opt/local/share/java/apache-ant" ALT_FREETYPE_HEADERS_PATH="/opt/local/include" ALT_FREETYPE_LIB_PATH="/opt/local/lib" ALT_CUPS_HEADERS_PATH="/usr/include" ALT_MOTIF_DIR="/opt/local" ALT_X11_PATH="/opt/local" ALT_DEVTOOLS_PATH=/usr ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts NO_DOCS=true LANG="C" BUILD_NUMBER="b20" MILESTONE=fcs HOTSPOT_BUILD_JOBS="2"
**:info:build Exit code: 2
:error:build org.macports.build for port openjdk6 returned: command execution failed
:debug:build Error code: CHILDSTATUS 7773 2
:debug:build Backtrace: command execution failed**
Ok. I fixed it.
The problem was that there are two places that Java is located.
/System/Library/Frameworks/JavaVM.framework (were real jdk 6 is located)
/Library/Java/JavaVirtualMachines/ (were may java6 is now, it has only links)
And if put JDK to source 1, it will try refers to source 2 (by symlinks) using specific version of java (in my case it is 1.6.0) and it could not find proper object/file to link to.
As soon as I fixed it started working.
So, I just restored all contents, getting it from another working machine. Bu the idea is that Mac OS uses two locations to store java related files.

Resources