[分享]如何在Solaris下面build Mono

stonepeter stonepeter 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原文在
http://www.genunix.org/wiki/index.php/How_to_build_Mono_on_Solaris
贴上来自己参考,我有空试一下,试过了就散分了。
How to build Mono on Solaris
From Genunix
1 What is Mono?

Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Sponsored by Novell, the Mono open source project has an active and enthusiastic contributing community . Its homepage is http://www.mono-project.com/Main_Page.

2 Components for Mono

mono: C# compiler, runtime environment etc.
libgdiplus: GDI+ drawing api implementation for Mono's System.Drawing.
xsp: Standalone web server written in C# that can be used to run your ASP.NET applications.
mod_mono: An Apache 1.3/2.0/2.2 module that provides ASP.NET support for Apache.
gtk-sharp-1.0.10: GTK1 c# binds.
gtk-sharp-2.4.2: GTK2(2.4) c# binds.
gtk-sharp-2.8.2: GTK2(2.8) c# binds.
There are other components, such as development tools. For more information please refer to its homepage.

3 Where to download

You can download Mono and component packages from page http://www.mono-project.com/Downloads.

4 Tools to build Mono

GNU tar to unpack the sources, as Solaris tar has problems unpacking Mono.
GNU build tools, such as gcc, gld, gas etc.
Notes:
GCC installed in the /usr/sfw/ works fine. although gld, gas etc are not included, it seems it's ok.
Because make included in CBE is GNU make, so it should be ok.
5 Build instructions

libgdiplus(1.1.13.6)

libgdiplus is optional, but if you need GDI+ drawing api support for Mono, you should build it.

On Sparc,

configure, gmake, gmake check, gmake install
is ok.

On x86, you need to change the source code according to http://mail-index.netbsd.org/pkgsrc-bugs/2005/10/18/0013.html, because there are some problem when building included cairo.

Mono(1.1.13.8)

If you set your build environment properly, the build process of Mono is straight forward.

On Sparc, just

configure, gmake, gmake check, gmake install
is ok. And when you do "gmake check", all check should passed(My test result:193 test(s) passed. 0 test(s) did not pass.), but the check process would fail after the test if you are not using gas.

On x86, you need add "--with-tls=pthread" when you do configure to avoid error

In file included from /usr/include/link.h:35,
from dyn_load.c:71:
/usr/include/libelf.h:45:2: #error "large files are not supported by libelf"
*** Error code 1
make: Fatal error: Command failed for target `dyn_load.lo'.
and

Undefined first referenced
symbol in file
GC_local_malloc ./.libs/libmonoruntime.a(reflection.o)
GC_local_malloc_atomic ./.libs/libmonoruntime.a(object.o)
GC_local_gcj_fast_malloc ./.libs/libmonoruntime.a(object.o)
GC_local_gcj_malloc ./.libs/libmonoruntime.a(object.o)
ld: fatal: Symbol referencing errors. No output written to pedump
you also need to make some modification of the source code. Here is the patch for mono

When you do "gmake check", it always fails at:

Test run: image=[path_to_mono_source]/mono/mini/exceptions.exe, opts=
I just ignored it.

After you have installed mono, remember to add [dist_dir]/lib/pkgconfig to your $PKG_CONFIG_PATH to make sure all the packages depend on Mono can find it.

6 Applications
7 Problem need to be noticed when build mono with SUN Studio
8 Usefull resources
...全文
游戏服务器开发面试精解 这是一份游戏服务器开发方向的面试题库,共 295 题,覆盖游戏服务端架构、网络通信、同步模型、场景管理、战斗系统、数据存储、分服容灾、反作弊运维等核心链路,交付三种阅读版本,方便随时翻看。 内容主线按面试实际被追问的路径组织,覆盖十二个模块:游戏服务器整体架构与进程模型、网络通信(TCP/KCP/UDP/协议设计)、同步模型(状态同步、帧同步、预测回滚)、场景管理与 AOI、战斗与技能系统、任务活动与商业化系统、数据库设计与数据落地、缓存与内存数据库(Redis)、分区分服跨服与合服、高并发容灾与回档、防作弊与外挂对抗、运维监控日志与线上事故处理。 游戏服务端和普通后端不同,考的不是 Redis 分布式锁这种背一遍就行的八股,而是 100 人同屏广播怎么压、帧同步不同步怎么查、回档事故怎么收场这类一线踩坑题。作者面过腾讯 IEG、网易雷火、米哈游等公司的服务端岗,按公开面经频次统计后重新出题并逐题写解答。每题先给一句能直接说出口的结论,再展开原理或排查步骤,最后列回答要点;带追问标记的题顺着项目场景往下挖。版本基准对齐 C++17、Linux epoll、MySQL 8.0 InnoDB、Redis 7.2、MongoDB 6.0、protobuf、KCP,Netty 与 Go 在对比题里提到。 适合准备校招或一到三年社招、目标腾讯、网易、米哈游、莉莉丝、三七等游戏服务端岗的同学,C++ 为主的服务器方向最对口,Go 或 Netty 栈的同学看网络和架构部分也通用。 使用时第一遍从头过,盖住答案自己说一遍,卡壳的标星;第二遍只看标星和高频题;面试前重点看同步、战斗、回档三个模块,追问别跳过。 立即下载

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
stonepeter
Solaris 1,543 成员 2,062 内容