Ubuntu 14.04 Server 上安装git源 mono 3.6.1 错误记录及成功步骤

看到ASP.NET vNext要支持Linux后,终于按捺不住折腾的心,决定先架个环境出来,只是实在没想到,因为相对熟悉点才选择的Ubuntu 14.04,会让过程会如此坎坷,有时呆看着屏幕上提示的种种error,真有点别人碰到的错都被我碰到了的荣幸,所以目标达成后,回头将这些错误回顾一遍,记录下来,以为将来鉴。

安装时主要参照的教程,是宇内流云写的《在Ubuntu操作系统上安装mono的具体方法,简称文1;在排错过程中,还有参考园子里 逆水寒龙 的《Ubuntu Server(Ubuntu 14.04 LTS 64位)安装libgdiplus2.10.9出错问题记录》,简称文2.

首先是参照文1的一、二、三步来,因为Ubuntu版本的差异,其中有些包小数字上不同,然后就是安装libgdiplus,我当时选择的是更新一点的libgdiplus-2.10.9.tar.bz2:

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
tar jvxf libgdiplus-2.10.9.tar.bz2
cd libgdiplus-2.10.9
./configure --prefix=/usr
make

首先会很快得到一个错误,基本就是:

../libtool: line xxxx: X-xxx command not found

这个可以先执行  export echo=echo 再 make来解决;另外,还在某E文中找到个办法,用 libgdiplus目录下的libtool 替换掉 其下 pixman/libtool,试了下貌似也能解决问题。

继续 make,报错,如同文2中的一样,主要就是:

gdiplus-private.h:33:31: fatal error: freetype/tttables.h: No such file or directory
 #include <freetype/tttables.h>
                               ^

按文2中的办法即:

ln -s /usr/include/freetype2 /usr/include/freetype

依旧error,第二个要改动的地方也照抄,结果再报错就是 *** DSO missing from command line。

然后不知怎么想的,下了个版本老一点的 libgdiplus-2.10.tar.bz2 ,一试竟然编译成功了!

在安装mono时,问题又来了,编译3.X以后版本的mono需要一个至少先有一个2.10版的mono,但记得园子里的张善友在博文里说过,从哪个版本开始好像也可以不要,因为是3个月前看过的,记不大清,于是直接行动,结果当然是缺少一个 mcs。

之后尝试好几种办法:

1、按文1回复中,宇内提到办法,先 sudo apt-get install mono-gmcs,编译再 remove掉

2、文2回复中,alienblog提到的用 sudo apt-get build-dep mono 来解决依赖问题;

3、干脆直接先装个ubuntu自带的mono: sudo apt-get install mono-complete

尝试的结果,都是报错称XXXX 与 GAC 中的XXX冲突云云, 我当时猜想可能因为这3种办法都会装上 mono-runtime,所以又想找找不预装mono的办法。

经过N多折腾,最终好歹还是编译装上了git源的 mono3.6.1,以下为安装记录:

# 系统环境:vbox中安装的Ubuntu 14.04 Server,内存分配 2G,locale直接选了en_US

# 以下为安装成功后,重复测试通过的全部步骤

sudo apt-get install build-essential automake autoconf
sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig1-dev 
sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libx11-dev libxft-dev libjpeg-dev

# 照抄 http://www.rocko.me/install-mono-3-4-ubuntu/ 提到的依赖包,编译成功后
# 回头重复测试时,发现去掉libgtk-3-dev,在github源的libgdiplus运行 autogen.sh 后,
# 会提示 依赖cairo,需要 >=1.6.4,也懒得去单独解决 cairo 了,直接照搬;
# 至于 xorg-dev 没再测试,有没有用就不知道了,留着先 - -!
sudo apt-get install xorg-dev libgtk-3-dev

sudo apt-get install git

git clone git://github.com/mono/mono.git
cd mono

# 为了整齐,把 libgdiplus 放在了mono目录下
git clone git://github.com/mono/libgdiplus.git
cd libgdiplus/
./autogen.sh --prefix=/usr
make
sudo make install

# 中场休息
sudo ldconfig

#回到mono目录
cd ..
./autogen.sh --prefix=/usr

# 参考 http://www.mono-project.com/Compiling_Mono_From_Git
# 这是不预装mono编译的好办法,不过文中提到,要先执行过 ./autogen.sh
make get-monolite-latest

# 同样,make也需要额外参数
make EXTERNAL_MCS="{PWD}/mcs/class/lib/monolite/gmcs.exe"

sudo make install
sudo ldconfig
mono -V

最后,感谢文中提到各位作者,这些经验对我帮助良多。

Ubuntu 14.04 Server 上安装git源 mono 3.6.1 错误记录及成功步骤,布布扣,bubuko.com

时间: 2024-09-27 16:35:31

Ubuntu 14.04 Server 上安装git源 mono 3.6.1 错误记录及成功步骤的相关文章

我的淘宝:Ubuntu 14.04.5上安装 Oracle 11.2.0.4 RAC

进入淘宝店铺 教程:Ubuntu 14.04.5上安装 Oracle 11.2.0.4 RAC 请支持下.价格好商量!

在 Ubuntu 14.10 Server 上安装 Jetty

Jetty提供了一个Web服务器和javax.servlet容器,为SPDY.WebSocket.OSGi.JMX.JNDI.JAAS以及许多其它集成套件添加了支持.这些组件都是开源的,也可用于商业用途和分发. Jetty被广泛用于多种项目和产品,都可以在开发环境和生产环境中使用.Jetty可以很容易地嵌入到设备.工具.框架.应用服务器以及集群中.更多用途可参见Jetty网页.ubuntu 14.10 server上安装Jetty 9 sudo apt-get install openjdk-8

在Ubuntu 14.04 64bit上安装numpy和matplotlib库

原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战>过程中,需要python环境中安装好numpy和matplotlib库,特此将我在Ubuntu 14.04 64bit上的摸索过程总结如下: 书上的建议是: 在Debian/Ubuntu系统下安装Python, Numpy和Matplotlib的最佳方式是使用apt-get等软件包管理器. 避免源码包形式的

Git使用:Linux(Ubuntu 14.04 x64)下安装GIt并配置连接GitHub

github是一个非常好的网络代码托管仓库,知晓许久,但是一直没有用起来,最近才开始使用git管理自己的文档和代码. Git是非常强大的版本管理工具,今天就告诉大家,如何在Linux下安装GIt,并且做相关配置,与GitHub上的仓库链接.我安装的环境是Ubuntu 14.04,64位的 1. 安装 Linux下安装 使用命令apt-get来安装 sudo apt-get install git 2. 配置 配置用户名密码 git config --global user.name "xxx&q

如何在Ubuntu 14.04 LTS上安装MariaDB

MariaDB是一个开源数据库且100%与MySQL兼容,目标是替代MySQL数据库. MariaDB的背景 : 2008年,MySQL被后来被Oracle在2010年收购的 Sun Microsystems 收购了. 最初被Sun公司的收购由于符合项目的需要而受到MySQL社区的欢呼,但是这种情绪并没有持续太久,接下来被Oracle的收购,不幸期望远远低于预 期.许多MySql的开发者离开了Sun和Oracle公司开始新的项目.在他们中间就有MySQL的创建者以及项目长期技术带头人之一的 Mi

Ubuntu 14.04 LTS上安装部署Hadoop 2.7.1

1.安装Ubuntu 14.04 Desktop LTS 下载ISO文件,ubuntu-14.04.1-desktop-amd64.iso. 在VirtualBox或者VMware中新建虚拟机,将ISO文件设置为启动光盘. Windows 7下用VMware Workstation 10虚拟机安装 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-04/100473.htm 一路下一步,在需要输入用户的地方,输入用户名linuxidc,直到系统安装

阿里云 ubuntu 14.04 模板上安装 docker

ubuntu 14.04 的内核是 3.13 ,所以内核不用升级. 安装步骤如下: # apt-get update # apt-get install apt-transport-https # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 # bash -c "echo deb https://get.docker.io/ub

Linux:Ubuntu 14.04 Server 离线安装Jjava8(及在线安装)

(离线安装)首先,通过winscp上传本地下载好的jdk-8u102-linux-x64.gz (离线安装)将jdk-8u102-linux-x64.gz解压到到/usr/lib/jvm下,并把文件夹名重命名为java-8-oracle: [email protected]:/usr/lib$ mkdir jvm[email protected]:/usr/lib$ ls ...jvm ...[email protected]:/usr/lib$ cd /home/hadoop[email pr

ubuntu 14.04 server(amd64) 安装ros indigo

1.添加软件源(添加了正确的软件源,操作系统就知道去哪里下载程序,并根据命令自动安装软件) sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' 2.安装软件包授权密钥 (1)在当前目录生成ros.key文件 wget http://packages.ros.org/ros.key -O - (2)然后加载该文