编译时间:北京2015年6月17日上午

操作系统:Ubuntu 14.04.2 LTS

Mono版本:Mono JIT compiler version 4.3.0 (master/3445ac5 Tue Jun 16 20:43:48 CST 2015)

一、编译coreclr

成功!

Repo successfully built.
Product binaries are available at /data/git/coreclr/bin/Product/Linux.x64.Debug

二、编译corefx

失败!15231个错误,编译结果如下:

/data/git/corefx/bin/obj/Linux.AnyCPU.Debug/Microsoft.CSharp/_AssemblyInfo.cs(3,11):
error CS0246: The type or namespace name 'AssemblyTitle' could not be found (are you missing a using directive or an assembly reference?)
[/data/git/corefx/src/Microsoft.CSharp/src/Microsoft.CSharp.csproj] /data/git/corefx/bin/obj/Linux.AnyCPU.Debug/Microsoft.CSharp/_AssemblyInfo.cs(4,11):
error CS0246: The type or namespace name 'AssemblyDescription' could not be found (are you missing a using directive or an assembly reference?)
[/data/git/corefx/src/Microsoft.CSharp/src/Microsoft.CSharp.csproj] ... System/Numerics/Vector_Operations.cs(112,10):
error CS0246:
The type or namespace name 'MethodImplAttribute' could not be found (are you missing a using directive or an assembly reference?)
[/data/git/corefx/src/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj] System/Numerics/Vector_Operations.cs(112,30):
error CS0518: Predefined type 'System.Object' is not defined or imported
[/data/git/corefx/src/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj] System/Numerics/Vector_Operations.cs(112,30):
error CS0103: The name 'MethodImplOptions' does not exist in the current context
[/data/git/corefx/src/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj] 16 Warning(s)
15231 Error(s) Time Elapsed 00:04:12.30
Build Exit Code = 1

问题未找到解决方法,在GitHub上提交了Issue:#2073 。

更新:这是 corefx 的一个bug,后来被修复了。

三、编译dnx

失败!

第一次build的第1个错误:

Determining latest version
Latest version is 1.0.0-beta6-12082
Downloading dnx-mono.1.0.0-beta6-12082 from https://www.myget.org/F/aspnetvnext/api/v2
Installing to /root/.dnx/runtimes/dnx-mono.1.0.0-beta6-12082
dnvm needs unzip to proceed.

再次build的第1个错误:

dnx-mono.1.0.0-beta6-12082 already installed.
Cannot find dnx-mono.1.0.0-beta6-12082, do you need to run 'dnvm install 1.0.0-beta6-12082'?

这个错误是由于Ubuntu上没有安装unzip,通过下面的命令解决了问题:

apt-get unzip
dnvm upgrade -u

接下来的编译错误未找到解决方法:

warn: Dynamic view compilation failed.
/tmp/6dc38ab7770645d48e9ae31c479dec2c-1.cs(10953,13): error CS0103: The name `IsBuildV2' does not exist in the current context
/tmp/6dc38ab7770645d48e9ae31c479dec2c-1.cs(10955,15): error CS0103: The name `DnuPack' does not exist in the current context
/tmp/6dc38ab7770645d48e9ae31c479dec2c-1.cs(10961,17): error CS0103: The name `DnuPack' does not exist in the current context ... verbose: Stack trace:
at Spark.Compiler.BatchCompiler.Compile (Boolean debug, System.String languageOrExtension, System.String[] sourceCode) <0x41536f50 + 0x010ae> in <filename unknown>:0
at Spark.Compiler.CSharp.CSharpViewCompiler.CompileView (IEnumerable`1 viewTemplates, IEnumerable`1 allResources) <0x4152fc40 + 0x0009b> in <filename unknown>:0
at Spark.SparkViewEngine.CreateEntryInternal (Spark.SparkViewDescriptor descriptor, Boolean compile) <0x4150b670 + 0x002a0> in <filename unknown>:0
at Spark.SparkViewEngine.CreateEntry (Spark.SparkViewDescriptor descriptor) <0x4150b370 + 0x0005a> in <filename unknown>:0
at Spark.SparkViewEngine.CreateInstance (Spark.SparkViewDescriptor descriptor) <0x4150b330 + 0x00019> in <filename unknown>:0
at Sake.Engine.Loader.DefaultLoader.Load (Sake.Engine.Options options) <0x414f3580 + 0x004b0> in <filename unknown>:0
at Sake.Engine.SakeEngine.Execute (Sake.Engine.Options options) <0x414f2f10 + 0x002e1> in <filename unknown>:0
at Sake.Engine.SakeEngine.Execute (System.String[] args) <0x414c5fd0 + 0x00047> in <filename unknown>:0
at Sake.Program.Main (System.String[] args) <0x414a8d80 + 0x000f7> in <filename unknown>:0

在GitHub上提交了Issue:#2080

更新:删除dnx文件夹并重新git clone后问题解决。

rm -rf dnx/
git clone --recursive https://github.com/aspnet/dnx.git
cd dnx
./build.sh

.NET跨平台:在Linux Ubuntu上编译coreclr/corefx/dnx(20150617)的更多相关文章

  1. 在Linux CentOS上编译CoreCLR

    经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在“src/pal/tools/clang-compiler-overr ...

  2. 在Linux Ubuntu上编译DNX

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

  3. .NET跨平台:在Ubuntu上用自己编译的dnx运行ASP.NET 5示例程序

    在 Linux Ubuntu 上成功编译 dnx 之后,会在 artifacts/build/ 文件夹中生成 dnx-coreclr-linux-x64/ 与 dnx-mono/ 这2个文件夹,前者是 ...

  4. Win10上编译CoreCLR的Windows和Linux版本

    一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...

  5. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  6. 在ubuntu上编译chrome

    在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...

  7. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  8. [转]Linux Ubuntu上架设FTP

    Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...

  9. 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

    [转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的li ...

随机推荐

  1. tp框架之文件上传

    控制器 function wenjian() { if(empty($_FILES)) { $this->display(); } else { $u = new \Think\Upload() ...

  2. 图文相关性 flickr数据实验结论_1

    初始化的选取很重要,random_uniform的效果远远好于random_normal, 是否有bias对效果影响很小 红色是random_uniform初始化,对比random_normal初始化 ...

  3. 解决poshytip 表单高度大于屏幕高端 显示问题

    Poshy Tip是一款非常友好的信息提示工具,它基于jQuery,当鼠标滑向链接时,会出现一个信息提示条.信息的内容直接可以在HTML里设定也可以是从服务端调用的数据,该插件还提供了很多属性和方法. ...

  4. byte[] 转十进制

    short s = 0; //一个16位整形变量,初值为 0000 0000 0000 0000 byte b1 = 1; //一个byte的变量,作为转换后的高8位,假设初值为 0000 0001 ...

  5. 使用简介<EntityFramework6.0>

    序言 在这一篇中,我们将演示EnitityFramework基本的建模[建模也是EntityFramework最核心的特性]范例,例如实体的分离和继承等.我们开始了演示如何创建一个简单的概念模型的例子 ...

  6. Project Euler欧拉计划

    1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. Th ...

  7. java中Class.forName("xxx")和ClassLoader().loadClass("xxx")的区别

    一.首先,查看Class类中的forName方法,可以发现有如下三个方法,但是我们通常用的是只有一个参数的方法. 简单介绍一下这三个方法: 第一个方法Class.forName("xxx&q ...

  8. Effective C++ 笔记1

    条款1:视C++为一个语言联邦 1.C.Object-Oriented C++.Template C++ .STL 组成了C++,高效编程取决你使用C++的哪一部分 条款2:尽量用const ,enu ...

  9. python基础03序列

    sequence 序列 sequence序列是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于没有引入对象的概念,暂时说元素) 序列可以包含一个或多个元素,也可以没有任何元素 我们之前所说的基 ...

  10. linux kernel elv_queue_empty野指针访问内核故障定位与解决

    1. 故障描述 故障操作步骤: 单板上插了一个U盘,出问题前正在通过FTP往单板上拷贝文件,拷贝的过程中单板自动重启. 故障现象: Entering kdb (current=0xc000000594 ...