【问题标题】:Unable to install tiny_tds on mac无法在 mac 上安装 tiny_tds
【发布时间】:2019-12-12 09:36:35
【问题描述】:

我正在尝试设置一个新的 mac,但无法让 tiny_tds 编译。我正在运行 OSX Mojave (10.14.6) 并通过 asdf 安装了 ruby​​ 2.4.5。当我尝试捆绑时,安装 tiny_tds 失败并且日志显示:

Undefined symbols for architecture x86_64:
  "_dbanydatecrack", referenced from:
      _t in conftest-f13825.o
ld: symbol(s) not found for architecture x86_64

我已经搜索过这个,我发现建议的唯一解决方案是我已经完成的brew install freetds,并尝试运行它:

sudo ARCHFLAGS="-arch x86_64" gem install tiny_tds

这也不起作用。

我愿意接受任何建议,我在上一台 Mac 上安装了 tiny_tds,但我不确定这里有什么不同。根据我的记忆,我所要做的就是 brew install freetds 然后打包。

【问题讨论】:

  • 值得一提的是,我最近重新安装了 10.14.6,并且我在执行 brew install freetds 时没有遇到任何问题。所以你的记忆是正确的。
  • 这是一个漫长的过程,但是根据on this post 的评论,也许可以尝试通过自制软件重新安装readline,然后从头开始重建您的Ruby 以使用新重新安装的readline 构建它?编辑:我不知道asdf 是如何工作的,但这仅适用于您在本地构建Ruby 的情况。也许尝试使用来自rbenv 的 Ruby?

标签: ruby tiny-tds


【解决方案1】:

所以最后,我收到的机器并没有从以前的用户那里被清除干净,我所有的问题都是由于 /usr/local 中有另一个 gcc 以及古老的 tds 库。吹走所有这些东西已经解决了我的问题。

【讨论】:

  • 我建议更详细地解释“吹走所有这些东西”的含义,以帮助将来可能遇到类似问题的其他人。
  • 嗯?你能指定你用什么红宝石使用了什么样的tiny_tds 版本?我认为最新的tiny_tds 不会适用于您指定的 ruby​​ 版本。
【解决方案2】:

我猜你有旧的红宝石。在您的情况下,您有 ruby​​ 2.4.5。

从source code 的快速检查来看,我认为您需要拥有 ruby​​ 2.6.0 或更新版本才能获得最新的 tiny_tds gem。

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2013-02-06
    • 2016-02-12
    • 1970-01-01
    • 2020-04-22
    • 2021-01-06
    相关资源
    最近更新 更多