Было высказано предположение (например, здесь и здесь ), что перемещение в сторону / usr / local и затем очистка порта db46 с последующей установкой все исправит.
Это не сработало для меня. Тем не менее, это сделал:
sudo mv /usr/local /usr/local.hold
# using -f to ignore dependencies, since we're about to re-install it
sudo port -f uninstall db46
sudo port clean db46
# See note below, you may actually want to install something different
# (like your git-core install)
sudo port install db46
sudo mv /usr/local.hold /usr/local
На самом деле я не знаю, были ли шаги / usr / local релевантными в моем случае - я подозреваю, что нет, так как там не установлен db46. Я думаю, что просто предыдущая версия db46 вызывала проблемы.
Мне кажется, что это ошибка в db46 и / или его определении порта или скрипте конфигурирования или что-то вроде этого, что заставляет его ссылаться на файл заголовка, который установлен где-то в системе, а не на версию того же файла заголовка из сборки дерево. Я не копался в этом, чтобы выяснить это.
Также обратите внимание: я на самом деле собирал это для другого порта, и он хотел + универсальный вариант (не уверен почему, но как угодно) - так что мой шаг установки порта был довольно бесполезен, потому что когда я делал установку порта на другой пакет, который я хотел, он сделал это снова с + universal, и у снова возникла та же проблема ! Вздох. Тем не менее, повторное выполнение sudo port -f uninstall db46
и sudo port clean db46
, а затем выполнение основной установки заставили все работать.