Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

php dyld: Library not loaded for libldap

Tags:

php

dyld

I installed ruby on my Mac OSX High Sierra and am running into issues now with my php installation for some reason. I'm on php 7.1.

Following this (also here) Github suggestion, I tried

brew update && brew reinstall php71

While installing, it broke at

==> Pouring [email protected]_sierra.bottle.tar.gz
==> /usr/local/Cellar/[email protected]/7.1.23/bin/pear config-set php_ini /usr/local/etc/php/7.1/php.ini system

With error:

dyld: Library not loaded: /usr/local/opt/openldap/lib/libldap-2.4.2.dylib
  Referenced from: /usr/local/Cellar/[email protected]/7.1.23/bin/php
  Reason: image not found
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall [email protected]`

Typing in php into terminal throws the same error.

Other things I've tried:

  • I thought perhaps it wasn't linked, so I also tried: brew unlink libldap && brew link libldap - but libldap is not supported by Homebrew
  • Then here, while unrelated to postgres, it does discuss the issue of libldap and says to install via brew install openldap (I guess libldap is referred to as openldap to Homebrew) - this installed fine but didn't resolve the issue

How can I fix this?

like image 624
user3871 Avatar asked Oct 13 '18 16:10

user3871


3 Answers

According to this issue, you need to install openldap and libiconv.

brew install openldap libiconv

I tried it and it worked for my system. I was originally missing the PHP intl extension.

like image 150
CommandZ Avatar answered Oct 11 '22 23:10

CommandZ


It's worked for me:

brew reinstall openldap
like image 13
bakha Avatar answered Oct 11 '22 21:10

bakha


Although I'm not sure why installing Ruby caused the issue, I solved the issue ultimately with:

  • According to this discussion, libldap is referred to as openldap to Homebrew. brew install openldap then ran php reinstall php71. This linked the libraries properly
  • The next issue was with libiconv, fortunately this is easily installed with brew install libiconv. Rerunning php install php71 solved the problem
like image 7
user3871 Avatar answered Oct 11 '22 23:10

user3871