【问题标题】:How can I get BerkeleyDB for ActivePerl 5.10?如何获得适用于 ActivePerl 5.10 的 BerkeleyDB?
【发布时间】:2010-09-27 09:02:07
【问题描述】:

我正在尝试找出适用于 ActivePerl 5.10 的 BerkeleyDB PPM 在哪里。任何人都知道在哪里可以找到它,或者如何构建它?

我找到了潜在客户here。他们声称 BerkeleyDB 0.33 已经为 Perl 5.10 构建好了。它们提供指向 PPM 的链接,但不提供指向支持 zip 文件的链接。所以我绕过它,手动获取 the ppmthe zip 并在 ppm 文件上运行 ppm install 。这不起作用,因为无法加载 zip 中提供的 dll。

似乎唯一要做的就是从 Oracle 获取 BerkeleyDB 代码,使用 Visual Studio 为 Win32 编译它(提供的 MSI 使用 Cygwin 工具),从 CPAN 修改 tarball 并自己构建 ppm。

【问题讨论】:

  • 我获取了用于构建 Berkeley DB 库的 Oracle 源代码,然后获取了 BerkeleyDB-0.36。我正确修改了 config.in 属性。 Oracle 库构建得很好。 Perl mod 没有。此外,使用 Visual C++,而不是 Cygwin(Oracle 用于他们的 perl 发行版)。
  • 仅供参考,我正在迁移现有的 BDB 应用程序。解决方法 = SQLite。每个 BDB 文件 = 1 个 2 列表(键、值)。分别将每个 db_put 和 db_get 迁移到 SQL 插入和选择。
  • 我打算建议使用 SQLite 作为替代方案。

标签: perl winapi module berkeley-db activeperl


【解决方案1】:

简短的回答:使用 Sqlite。 长答案,自己编译和调试,贡献给社区。​​p>

【讨论】:

    【解决方案2】:

    启动 ppm,进入 Edit -> Preferences -> repositories 并添加 "trouchelle" repository。他们有一个用于 ActiveState Perl 5.10 的 BerkelyDB 包。

    【讨论】:

    【解决方案3】:

    您是否考虑过获得Strawberry Perl?它可能不适合您的目的,但创建它的很大一部分原因是对 CPAN 模块的更好(尽管不是完美)支持,而不是要求 PPM 存储库保持最新。

    【讨论】:

    • 对于 rectord,ActivePerl 一直有相同的 CPAN shell,现在根据需要获取辅助构建工具 (MinGW)。使用 Strawberry Perl 构建 BerkeleyDB-0.42 与使用 ActivePerl 失败的地方相同。
    【解决方案4】:

    DBD::DBM 不支持 BerkelyDB 吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2011-08-03
      • 2013-05-03
      • 1970-01-01
      • 2013-09-02
      • 2020-01-05
      • 2013-03-24
      相关资源
      最近更新 更多