.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 ...
随机推荐
- Linux正则表达式
正则表达示的组成: 一般字符:没有特殊意义的字符 特殊字符(meta字符):元字符,有在正则表达式中有特殊意义 正则表达式中常见的meta字符 POSIX BRE与ERE中都有的meta字符 \ 通常 ...
- Dump类型说明
通过使用windbg提供DbgHelp库中的MiniDumpWriteDump函数在程序崩溃时写dump文件记录程序当时状态,为后续分析问题提供现场. 该函数提供了DumpType参数,让程序员根据具 ...
- make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl] 错误 1,make: *** [out/host/linux-x86/obj/lib/libESR_Portable.so] 错误 1
错误3: g++: g++: selected multilib '32' not installed selected multilib '32' not installed make: *** [ ...
- 社区活动分享PPT:使用微软开源技术开发微服务
上周六在成都中生代技术社区线下活动进行了一个名为"微软爱开源-使用微软开源技术开发微服务"的技术分享. 也算是给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力 ...
- 设置NotePad++设置"不打开上次关闭的文件"
notepad++是一个很好的记事本工具,但是默认会记录上次打开时未关闭的文件,但是实际上用起来并不方便, 可以按照下面的方式去除,notepad++版本:v6.6.2,os:win7 64位 按照以 ...
- Dos命令查看端口占用及关闭进程
1. 查看端口占用 在windows命令行窗口下执行: netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENI ...
- POJ 1743 Musical Theme ——后缀数组
[题目分析] 其实找最长的不重叠字串是很容易的,后缀数组+二分可以在nlogn的时间内解决. 但是转调是个棘手的事情. 其实只需要o(* ̄▽ ̄*)ブ差分就可以了. 背板题. [代码] #include ...
- 向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)[上拉加载组件]
/**** desc : 分页异步获取列表数据,页面向上滚动时候加载前面页码,向下滚动时加载后面页码 ajaxdata_url ajax异步的URL 如data.php page_val_name a ...
- Mac AppleScript 自动完成按键
本人用AppleScript成功实现了打开锐捷app,并且在用户验证框输入我的用户密码,然后强制退出锐捷.(至于为什么这么做呢?用校园网的痛苦,一言难尽啊!) 学习以下内容,首先你要自行百度资料来学习 ...
- CGrowableArray解析 _ DXUT容器
CGrowableArray的声明 in DXUTmisc.h //--------------------------- ...