Using MonoDevelop on CentOS7
Problem
ドはまりポイントが多々あるので,自分用にメモっておきます。
というか明らかにOpenSuSEなりUbuntuでやったほうがいい。あっちならパッケージもあるし。
環境
CentOS-7.0-1406-x86_64
GnomeDesktop + 基本開発環境パッケージをインストール
gcc gcc-c++ libtool bison autoconf automake
が含まれる
アップデートはかけておく
For CentOS6.5 (14/07/14追記)
6.5でインストールされているautoconf, automake, pkg-configはかなり古く,monodevelopがビルドできません。
rpm -e --nodeps
でパッケージのみ削除して,ソースを落としてきてmake installしてください。
あとgitは1.8移行が必要になるので,これも同様に。
Mono
方針
Mono 3.4.0をビルド→Githubからクローン→最新をビルド
githubのをビルドするにはMonoが必要なので。
手順
cd /usr/src
wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2
tar xjf mono-3.4.0.tar.bz2
cd mono-3.4.0/
アーカイブにはtargetsファイルが不足しているので,作っておく。
githubのクローンから同じファイルをコピーしてもよい。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Microsoft.Portable.Core.props" />
<Import Project="..\Microsoft.Portable.Core.targets" />
</Project>
./autogen --prefix=/usr
make && make install
libgdiplus
曲者。
手順
yum install glib2-devel libX11-devel pixman-devel fontconfig-devel freetype-devel libexif-devel libjpeg-devel libtiff-devel libpng-devel giflib-devel
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
tar xjf libgdiplus-2.10.9.tar.bz2
cd libgdiplus-2.10.9
ここでsrc/pngcodec.c
を下記を参考に修正。
https://bugzilla.xamarin.com/show_bug.cgi?id=1632
export echo=echo
./configure --prefix=/usr
export echo=echo
大事。
さらにtests/Makefile
の130行目を以下のように修正。
LIBS = -lpthread -lfontconfig -lglib-2.0 -lX11
make && make install
Gtk-sharp
githubからクローンするとGtk3系が対象になっている。MonoDevelopで必要なのはGtk2系なので,アーカイブからビルドする。
手順
yum install gtk2-devel libglade2-devel
wget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.21.tar.gz
tar xf gtk-sharp-2.12.21.tar.gz
cd gtk-sharp-2.12.21
ここでPKG_CONFIG_PATH環境変数にプレフィックスを/usrにしたMonoへのパスを通す。
echo export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
source ~/.bash_profile
./configure --prefix=/usr
make && make install
Gnome-sharp
うーむ。
手順
yum install pango-devel atk-devel libgnome-devel libgnomecanvas-devel libgnomeui-devel git svn libtool
git clone git://github.com/mono/gnome-sharp
cd gnome-sharp
このままmakeしても成功しない。/usr/bin/gapi2-fixup
, /usr/bin/gapi2-codegen
をviで開いて,:set ff?
の結果が fileformat=DOS
になっていたら,
:set fileformat=unix
:wq
と操作する。
./bootstrap-2.24 --prefix=/usr
make && make install
Mono Addins
git clone git://github.com/mono/mono-addins
cd mono-addins
./autogen.sh --prefix=usr
make && make install
MonoDevelop
やっとたどりついた。
手順
git clone git://github.com/mono/monodevelop
cd monodevelop
./configure --prefix=/usr --profile=stable
make && make install
Results
補足 (14/7/11 追記)
/tmp/nuget ディレクトリに書き込み権限を設定しておかないと,一般ユーザーで使うときにNuGetが使えません。chmod 777
でOKです。
Author And Source
この問題について(Using MonoDevelop on CentOS7), 我々は、より多くの情報をここで見つけました https://qiita.com/ailen0ada/items/5da132b0cb9bea5db92f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .