Подтвердить что ты не робот

Устранение неполадок MongoDB с помощью Homebrew с использованием OS X 10.10 Beta Yosemite

Повторяю, я запускаю первую бета-версию OS X 10.10 и пытаюсь переустановить MongoDB с помощью Homebrew.

После запуска $ brew install mongodb это будет выход:

==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.1.tar.gz
==> /usr/local/opt/scons/bin/scons install --prefix=/usr/local/Cellar/mongodb/2.6.1 -j8 --cc=/usr/bin/clang --cxx=/usr/bin/clang++ --osx-version-min=10.10 --full --64
scons: Reading SConscript files ...
Mkdir(".scons/Darwin/nohost")
usage: scons [OPTION] [TARGET] ...

SCons Error: option --osx-version-min: invalid choice: '10.10' (choose from '10.6', '10.7', '10.8', '10.9')

Очевидно, что пакет установки не настроен для 10.10, потому что он еще не выпущен для публики.

Есть ли способ вручную обойти это во время процесса сборки?

4b9b3361

Ответ 1

Это, вероятно, будет исправлено в новых версиях MongoDB (https://jira.mongodb.org/browse/SERVER-14204), теперь просто исправьте формулу.

brew edit mongodb

Найдите блок, который выглядит так:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=#{MacOS.version}
]

И измените версию OS X минимум на 10.9, например:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=10.9
]

EDIT: дополнительный шаг для DP3, DP4, PB1

Все еще в файле добавьте следующие 3 строки чуть выше def install.

  def patches
    { :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
  end

И затем выполните обновление:

brew upgrade mongodb

Ответ 2

Просто упомянуть - эта проблема исправлена.
Построен и установлен сегодня (10/13/2014) через $ brew install mongodb

==> Summary
🍺  /usr/local/Cellar/mongodb/2.6.5: 17 files, 331M, built in 21.6 minutes

Ответ 3

Если шаги, описанные Linus, недостаточны, выполните дополнительные шаги (10.10 beta 3 и beta 4):

  • cd/Library/Caches/Homebrew/
  • tar xvfz mongodb-2.6.3.tar.gz
  • cd mongodb-src-r2.6.3
  • vi src/third_party/s2/util/endian/endian.h
  • Линии Uncomment 181-189

    // This one is safe to take as it an extension
    //#define htonll(x) ghtonll(x)
    //
    // ntoh* and hton* are the same thing for any size and bytesex,
    // since the function is an involution, i.e., its own inverse.
    //#define gntohl(x) ghtonl(x)
    //#define gntohs(x) ghtons(x)
    //#define gntohll(x) ghtonll(x)
    //#define ntohll(x) htonll(x)
    
  • cd..
  • rm mongodb-2.6.3.tar.gz
  • tar cvfz mongodb-2.6.3.tar.gz mongodb-src-r2.6.3
  • brew установить mongodb

    ==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.3.tar.gz
    Already downloaded: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz
    Error: SHA1 mismatch
    Expected: 226ab45e3a2e4d4a749271f1bce393ea8358d3dd
    Actual: 593bbe9cb7e0b1d2368b3b6487893e8ba459acfb
    Archive: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz
    
  • Скопировать фактический SHA1
  • brew изменить mongodb
  • Заменить ожидаемое значение SHA1 на фактическое.
  • brew установить mongodb
  • rm -rf mongodb-src-r2.6.3