Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用OS X 10.10 Yosemite Beta使用自制软件重新安装MongoDB时遇到问题_Macos_Mongodb_Homebrew_Scons_Osx Yosemite - Fatal编程技术网

Macos 使用OS X 10.10 Yosemite Beta使用自制软件重新安装MongoDB时遇到问题

Macos 使用OS X 10.10 Yosemite Beta使用自制软件重新安装MongoDB时遇到问题,macos,mongodb,homebrew,scons,osx-yosemite,Macos,Mongodb,Homebrew,Scons,Osx Yosemite,重申一下,我正在运行第一个OS X 10.10测试版,并试图用自制软件重新安装MongoDB 运行$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 --

重申一下,我正在运行第一个OS X 10.10测试版,并试图用自制软件重新安装MongoDB

运行
$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,因为它还没有发布给公众


有没有办法在构建过程中手动绕过此问题?

看起来有人建议使用修补程序。但我真的没有任何信息-


我希望它也能工作

这可能会在较新版本的MongoDB()中得到修复,现在只需修补公式即可

brew edit mongodb
找到如下所示的块:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=#{MacOS.version}
]
并将OS X版本min更改为10.9,如下所示:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=10.9
]
编辑:DP3、DP4、PB1的额外步骤

仍在文件中,在def install的正上方添加以下3行

  def patches
    { :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
  end
然后执行升级:

brew upgrade mongodb

如果Linus描述的步骤不够,请执行附加步骤(10.10 beta 3和beta 4):

  • cd/库/缓存/自制/
  • tar xvfz mongodb-2.6.3.tar.gz
  • cd mongodb-src-r2.6.3
  • vi src/third_party/s2/util/endian/endian.h
  • 取消注释第181-189行

    // This one is safe to take as it's 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

  • 只需提及–此问题已得到解决。
    今天(2014年10月13日)通过
    $brew安装mongodb

    ==>摘要
    
    这个答案反映了一个解决方案,没有破坏任何其他更好的解决方案。好建议!安装失败,出现以下错误:
    Homebrew不知道您的Xcode(6.0)版本附带了哪些编译器版本。
    。有没有办法解决这个问题?这对我没有帮助<代码>生成2个错误。scons:**[build/darwin/64/cc_uuusr_bin_clang/cxx_uusr_bin_clang++/osx-version-min_10.9/third_/s2/s2cellid.o]错误1 scons:由于错误而终止构建。
    @isal您使用的是最新版本的自制软件吗<代码>brew更新。另外,这个帖子暗示这只是一个警告,可以忽略:我已经更新了我的答案,加入了你的补丁,谢谢!为了避免修改源代码,我将其添加到公式中,以便brew自己可以下载并进行实际的修补。对我来说很有用。目前的吉特回购协议与约塞米蒂兼容。但在安装mongodb之前我需要pymongo。很容易
    sudo-pip安装pymongo