.NET跨平台:在Linux Ubuntu上编译coreclr/corefx/dnx(20150617)
编译时间:北京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)的更多相关文章
- 在Linux CentOS上编译CoreCLR
经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在“src/pal/tools/clang-compiler-overr ...
- 在Linux Ubuntu上编译DNX
DNX是.NET Execution Environment,前身是XRE,XRE的前身是KRuntime,项目网址:https://github.com/aspnet/DNX . 签出DNX的代码: ...
- .NET跨平台:在Ubuntu上用自己编译的dnx运行ASP.NET 5示例程序
在 Linux Ubuntu 上成功编译 dnx 之后,会在 artifacts/build/ 文件夹中生成 dnx-coreclr-linux-x64/ 与 dnx-mono/ 这2个文件夹,前者是 ...
- Win10上编译CoreCLR的Windows和Linux版本
一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...
- 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法
这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...
- 在ubuntu上编译chrome
在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...
- 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer
一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...
- [转]Linux Ubuntu上架设FTP
Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...
- 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法
[转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的li ...
随机推荐
- Activemq的连接方式
http://blog.csdn.net/liangguo03/article/details/7011227 http://blog.csdn.net/johnnie_deng/article/de ...
- IT 网址
蒋金楠 (Artech) WCF ,asp.net等 博客地址:http://www.cnblogs.com/artech/tag/WCF/ 伍华聪 ...
- jsp include flush true
设置flush为true,就是说,如果你的缓冲区的内容很多了,就将数据读出,以免数据泄漏,造成错误服务器端页面缓冲,大致的意思是,在将生成的HTML代码送到客户端前,先在服务器端内存中保留,因为解释J ...
- ceshi
% void CLASS cam_xyz_coeff (float rgb_cam[3][4], double cam_xyz[4][3]) % { % double cam_rgb[4][3], i ...
- abstract与interface的区别
abstract的用法: //通过abstract 关键字修饰的类叫抽象类. abstract class Animal { String name; String color; abstract p ...
- d3 中exit() remove()正确工作的方式
在官网中给出的代码[1]是有问题的,如下的代码并不能正常工作: // Update… var p = d3.select("body").selectAll("p&quo ...
- java中Class.forName("xxx")和ClassLoader().loadClass("xxx")的区别
一.首先,查看Class类中的forName方法,可以发现有如下三个方法,但是我们通常用的是只有一个参数的方法. 简单介绍一下这三个方法: 第一个方法Class.forName("xxx&q ...
- nodejs复习04
TCP/UDP网络应用 创建TCP服务器客户端 socket套接字对象实例,是对TCP协议的一个基本封装接口 clientt套接字对象实例 //server.js var net = require( ...
- Node使用multiparty包上传文件
var multiparty = require('multiparty'); var http = require('http'); var util = require('util'); var ...
- POJ2104 K-th Number(主席树)
题目 Source http://poj.org/problem?id=2104 Description You are working for Macrohard company in data s ...