使用依赖项时无法在 mac 系统上运行 D 程序



我对D语言很陌生。我正在处理其他人开发的现有代码。以前的开发人员使用 linux 环境来构建和运行 D 应用程序。我正在尝试在MAC中做同样的事情,因为它是我的本地环境。

这是我的jub.json文件的样子

{
    "name" : "dsmasher",
    "description" : "Hello World - A minimal DUB bundle.",
    "dependencies" : {
        "d2sqlite3": "~>0.9.7",
        "botan": "~>1.12.9"
    }
}

程序非常简单

import std.stdio;
int main () {
   return 0;
}

但是当我构建它时,它会抛出以下错误。

/Library/D/dmd/src/druntime/import/object.d(3440,23): Error: template memutils.refcounted.RefCounted!(X509CertificateImpl, ThreadMem).RefCounted.opCast does not match any template declaration
/Library/D/dmd/src/druntime/import/object.d(3440,49): Error: template memutils.refcounted.RefCounted!(X509CertificateImpl, ThreadMem).RefCounted.opCast does not match any template declaration
/Library/D/dmd/src/druntime/import/object.d(3441,39): Error: template memutils.refcounted.RefCounted!(X509CertificateImpl, ThreadMem).RefCounted.opCast does not match any template declaration
../../../.dub/packages/memutils-0.4.9/memutils/source/memutils/vector.d(790,10): Error: template instance object.__equals!(const(RefCounted!(X509CertificateImpl, ThreadMem)), const(RefCounted!(X509CertificateImpl, ThreadMem))) error instantiating
../../../.dub/packages/memutils-0.4.9/memutils/source/memutils/helpers.d(71,27):        instantiated from here: opEquals!()
../../../.dub/packages/botan-1.12.9/botan/source/botan/tls/server.d(689,38):        instantiated from here: opEquals!(RefCounted!(Vector!(RefCounted!(X509CertificateImpl, ThreadMem), ThreadMem), ThreadMem))
/Library/D/dmd/bin/dmd failed with exit code 1.
  ^^^ Terminated, exit code: 2 ^^^
************  Build terminated.  ************

我为此使用 dmd 编译器。如果您有任何想法,请提供帮助。

这似乎是Botan中的一个错误。根据Travis CI的说法,他们的构建失败了,并发出相同的消息。

最新更新