1

我正在尝试通过 Yum 在 CentOS 5.3.3 上安装 Mono。

根据我在其他地方找到的说明,我从 Mono 站点获取了一份mono.repo副本并将其放在 /etc/yum.repos.d 目录中。

该文件如下所示:

[mono]
name=Mono for rhel-4-i386 (stable)
baseurl=http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/
enabled=1
gpgcheck=0

接下来我运行yum install mono-complete,这是日志。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.5ninesolutions.com
 * updates: mirrors.usc.edu
 * centosplus: mirror.5ninesolutions.com
 * addons: mirror.5ninesolutions.com
 * extras: mirrors.usc.edu
base                                                                                                                                   | 1.1 kB     00:00
updates                                                                                                                                |  951 B     00:00
centosplus                                                                                                                             |  951 B     00:00
addons                                                                                                                                 |  951 B     00:00
extras                                                                                                                                 | 1.1 kB     00:00
Excluding Packages in global exclude list
Finished
Reducing CentOS-5 - Extras to included packages only
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mono-complete.i586 0:1.9.1-2.novell set to be updated
--> Processing Dependency: mono-nunit = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-extras = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data-firebird = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: bytefx-data-mysql = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-locale-extras = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data-oracle = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data-sybase = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-winforms = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data-sqlite = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-jscript = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-web = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-data-postgresql = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-devel = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: ibm-data-db2 = 1.9.1-2.novell for package: mono-complete
--> Processing Dependency: mono-core = 1.9.1-2.novell for package: mono-complete
--> Running transaction check
---> Package mono-web.i586 0:1.9.1-2.novell set to be updated
---> Package mono-data.i586 0:1.9.1-2.novell set to be updated
---> Package mono-data-firebird.i586 0:1.9.1-2.novell set to be updated
---> Package mono-core.i586 0:1.9.1-2.novell set to be updated
--> Processing Dependency: libgdiplus0 for package: mono-core
---> Package mono-nunit.i586 0:1.9.1-2.novell set to be updated
---> Package mono-devel.i586 0:1.9.1-2.novell set to be updated
--> Processing Dependency: glib2-devel for package: mono-devel
---> Package mono-data-sybase.i586 0:1.9.1-2.novell set to be updated
---> Package mono-data-postgresql.i586 0:1.9.1-2.novell set to be updated
---> Package mono-jscript.i586 0:1.9.1-2.novell set to be updated
---> Package mono-data-sqlite.i586 0:1.9.1-2.novell set to be updated
---> Package bytefx-data-mysql.i586 0:1.9.1-2.novell set to be updated
---> Package mono-data-oracle.i586 0:1.9.1-2.novell set to be updated
---> Package ibm-data-db2.i586 0:1.9.1-2.novell set to be updated
---> Package mono-locale-extras.i586 0:1.9.1-2.novell set to be updated
---> Package mono-extras.i586 0:1.9.1-2.novell set to be updated
---> Package mono-winforms.i586 0:1.9.1-2.novell set to be updated
--> Running transaction check
---> Package libgdiplus0.i386 0:1.9-1.rhel4.novell set to be updated
--> Processing Dependency: libXrender.so.1 for package: libgdiplus0
--> Processing Dependency: libungif.so.4 for package: libgdiplus0
--> Processing Dependency: libexif.so.9 for package: libgdiplus0
---> Package glib2-devel.i386 0:2.12.3-4.el5_3.1 set to be updated
--> Running transaction check
---> Package libXrender.i386 0:0.9.1-3.1 set to be updated
---> Package libgdiplus0.i386 0:1.9-1.rhel4.novell set to be updated
--> Processing Dependency: libexif.so.9 for package: libgdiplus0
---> Package giflib.i386 0:4.1.3-7.1.el5_3.1 set to be updated
--> Finished Dependency Resolution
libgdiplus0-1.9-1.rhel4.novell.i386 from mono has depsolving problems
  --> Missing Dependency: libexif.so.9 is needed by package libgdiplus0-1.9-1.rhel4.novell.i386 (mono)
Error: Missing Dependency: libexif.so.9 is needed by package libgdiplus0-1.9-1.rhel4.novell.i386 (mono)

根据CentOS 论坛上的这篇帖子,我什至启用了centosplus repo - 但无济于事。

谁能指导我解决libexif.so.9缺少的依赖关系?我似乎找不到这个确切版本的 rpm...

谢谢,m^e

4

1 回答 1

1

编辑:我刚刚意识到您正在使用 CentOS 4 源代码但试图在 CentOS 5 上安装。这几乎可以肯定是您的问题。无论如何,为了所有人的利益,我将我的原始答案留在下面。

我同意这是 ServerFault 的事情:

百胜安装 libexif

或者

百胜安装exif

更重要的是,我肯定会自己从源代码编译 Mono,以便您可以使用更新的东西。这是一件轻而易举的事(一旦你特别安装了 libgdiplus)。我在 CentOS 5 上做过很多次,在 CentOS 4 上做过几次。

http://ftp.novell.com/pub/mono/sources/

编译 libgdiplus 以支持 System.Drawing:

$ tar xzf libgdiplus-2.10.tar.gz
$ cd libgdiplus-2.10
$ ./configure
$ make
$ make install

然后编译 Mono 本身:

$ tar xzf mono-2.10.tar.gz
$ cd mono-2.10
$ ./configure
$ make
$ make install
于 2011-03-03T20:10:23.523 回答