编译时间:北京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. java中强制类型转换

    在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...

  2. 基本套接字编程(2) -- I/O模型篇

    1. I/O模型简介 最近一直在学习Unix网络编程,被Unix下各种I/O模型搞得头昏脑涨,结合<Unix网络编程 - 卷一>第六章 并参考了网上各牛们的分析,稍稍厘清了一些.因此记录下 ...

  3. C++ friend

    如果类A希望类B可以访问它的私有成员, 可以把类B设置为友元类. // 类A,希望把私有成员公开给类B class A {     friend class B;// 把B设置为友元类 public: ...

  4. 《服务器的追踪与审计》RHEL6

    在linux系统/etc目录下有两个文件: 服务器的追踪: 当其他人访问我的主机时,通过日志监控到那台主机什么时间通过什么方式登陆,做什么?

  5. flex/bison 计算器

    flex %{ #include <stdio.h> #include "mycalc.tab.h" ;} %} %% "+" return ADD ...

  6. cavium octeon 处理器启动总线Bootbus 简介

    cavium octeon 处理器启动总线Bootbus 简介: 韩大卫@吉林师范大学 Boot-bus(启动总线)是cavium octeon处理器的一种用于启动系统的硬件. CPU通过boot b ...

  7. zendStudio安装Xdebug项目断点调试

    1,首先安装xdebug插件 传送门 2,配置php.ini文件如下: [XDebug] xdebug.profiler_append = xdebug.profiler_enable = xdebu ...

  8. iOS swift lazy loading

    Why bother lazy loading and purging pages, you ask? Well, in this example, it won't matter too much ...

  9. spring 运行时属性值注入

    继续spring学习,今天介绍两种外部属性值注入的方式.当你需要读取配置信息时,可以快速读取. 开始之前先创建属性文件site.properties,放在classpath下面 #数据库配置 ### ...

  10. Java 反射之Class用法

    下面示范如果通过Class对象获取对应类的信息: package com.reflect; import java.lang.annotation.Annotation; import java.la ...