zoukankan      html  css  js  c++  java
  • 在Linux Ubuntu上编译DNX

    DNX是.NET Execution Environment,前身是XRE,XRE的前身是KRuntime,项目网址:https://github.com/aspnet/DNX 。

    签出DNX的代码:

    git clone https://github.com/aspnet/DNX.git --recursive

    安装Mono:

    apt-get install mono-complete

    运行./build.sh命令进行编译,出现错误:

    WARNING: Invalid certificate received from server. Error code: 0xffffffff800b010a
    WARNING: Invalid certificate received from server. Error code: 0xffffffff800b010a
    WARNING: Invalid certificate received from server. Error code: 0xffffffff800b010a
    WARNING: Invalid certificate received from server. Error code: 0xffffffff800b010a
    Unable to find package 'KoreBuild'.
    WARNING: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
    WARNING: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
    Unable to find version '0.2' of package 'Sake'.

    通过下面的命令可以修复这个问题:

    CERTMGR=/usr/local/bin/certmgr
    sudo $CERTMGR -ssl -m https://go.microsoft.com
    sudo $CERTMGR -ssl -m https://nugetgallery.blob.core.windows.net
    sudo $CERTMGR -ssl -m https://nuget.org
    sudo $CERTMGR -ssl -m https://www.myget.org/F/aspnetvnext/
    mozroots --import --sync

    继续编译,出现下面的错误:

    ./build.sh: 31: ./build.sh: source: not found
    ./build.sh: 35: ./build.sh: dnvm: not found

    将build.sh文件中的第一行由 #!/bin/sh  改为  #!/usr/bin/env bash ,错误消失。

    错误的原因是:在Ubuntu中,/bin/sh指向的是/bin/dash,而dash不支持source命令,详见source command not found in sh shell

    继续编译,出现下面的错误:

    info: Exec
    info:   program: kpm
    info:   commandline: restore
    info:   workingdir: src/Microsoft.Framework.ApplicationHost
    warn: ApplicationName='kpm', CommandLine='restore', CurrentDirectory='src/Microsoft.Framework.ApplicationHost', 
    Native error= Cannot find the specified file

    查看makefile.shade文件(这是Sake的配置文件),发现问题出在下面的配置部分

    for each='var projectFile in Files.Include("src/*/project.json")'
            exec program='cmd' commandline='/C kpm restore' if='!IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"
            exec program='kpm' commandline='restore' if='IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"
    for each='var projectFile in Files.Include("test/*/project.json")'
            exec program='cmd' commandline='/C kpm restore' if='!IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"
            exec program='kpm' commandline='restore' if='IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"
    for each='var projectFile in Files.Include("samples/*/project.json")'
            exec program='cmd' commandline='/C kpm restore' if='!IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"
            exec program='kpm' commandline='restore' if='IsMono' workingdir="${Path.GetDirectoryName(projectFile)}"

    出错是因为找不到kpm命令。

    已经在github上针对这个问题提交了issue,等这个问题解决后再继续编译。

  • 相关阅读:
    用户交互
    python简介
    maven阿里云镜像setting
    apache虚拟主机的ip用法 包括iis
    apache的虚拟主机配置和指定目录的访问描述(
    apache重定向301 配置,根域名转到www
    前端学习
    一步一步写jQuery插件
    json 和 table控件
    下载相关
  • 原文地址:https://www.cnblogs.com/dudu/p/build-dnx-on-linux-ubuntu.html
Copyright © 2011-2022 走看看