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

时间:2018-01-10 13:45:58

标签: d dmd

我是D语言的新手。我正在研究其他人开发的现有代码。以前的开发人员使用linux环境来构建和运行D Application。 我正在尝试在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编译器。 如果您有任何想法,请提供帮助。

1 个答案:

答案 0 :(得分:1)

这似乎是Botan的一个错误。根据Travis CI的说法,他们的构建失败了the same message