Ubuntu 13.04: как построить Monodevelop 4.0.1?
Я загрузил источники из git:
git clone git://github.com/mono/monodevelop.git
и зависимостей:
cd monodevelop && git submodule init && git submodule update
Я настраиваю моно 3.0.11 (потому что
"Вам нужно моно 2.10.9 или новее"
и версия по умолчанию была 2.10.8.1)
Я добавил репозиторий:
cat «deb http://ubuntu.mirror.cambrium.nl/ubuntu/ lucid main» >> /etc/apt/sources.list
Я установил пакеты:
apt-get install libglib2.0-cil gnome-sharp2 gtk-sharp2 libmono-addins-cil-dev libmono-addins-gui-cil-dev libmono-addins-msbuild-cil-dev
./настроить
дает мне
Configuration Summary
---------------------
MonoDevelop has been configured with
prefix = /usr/local
profile = default
Packages included in the build:
main
extras/JavaBinding
extras/ValaBinding
extras/MonoDevelop.Database
extras/MonoDevelop.Debugger.Gdb
extras/PyBinding
extras/MonoDevelop.MeeGo
Но
make | grep "not resolved"
дает мне ошибки:
/usr/local/lib/mono/ 4.0/Microsoft.Common.targets: warning: Ссылка 'glib-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешено
/usr/local/lib/mono/4.0/Microsoft.Common.targets: warning: Reference 'pango-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешен
/usr/local/lib/mono/4.0/Microsoft.Common.targets: warning: Ссылка 'atk-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешено
/usr/local/lib/mono/4.0/Microsoft.Common.targets: warning: Ссылка 'gdk-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешен
/usr/local/lib/mono/4.0/Microsoft.Common.targets: предупреждение: ссылка 'gtk-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешена
/usr/local/lib/mono/4.0/Microsoft.Common.targets: warning: Ссылка 'glade-sharp, Version = 2.12.0.0, Culture = neutral, PublicKeyToken = 35e10195dab3c99f' не разрешен
На этой странице http://article.gmane.org/gmane.comp.gnome.mono.monodevelop.general/14338
рекомендуется "Похоже, вам нужно установить gtk-sharp 2.12.x"
Но я их установил:
find/usr/lib/mono/gac -xdev -iname "* Sharp.dll" | grep "3c99f" | grep -v "политика"
/usr/lib/mono/gac/pango-sharp/2.12.0.0__35e10195dab3c99f/pango-sharp.dll
/usr/lib/mono/gac/gconf-sharp/2.24.0.0__35e10195dab3c99f/gconf-sharp.dll
/usr/lib/mono/gac/gnome-sharp/2.24.0.0__35e10195dab3c99f/gnome-sharp.dll
/usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll
/usr/lib/mono/gac/atk-sharp/2.12.0.0__35e10195dab3c99f/atk-sharp.dll
/usr/lib/mono/gac/glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll
/usr/lib/mono/gac/art-sharp/2.24.0.0__35e10195dab3c99f/art-sharp.dll
/usr/lib/mono/gac/gnome-vfs-sharp/2.24.0.0__35e10195dab3c99f/gnome-vfs-sharp.dll
/usr/lib/mono/gac/glade-sharp/2.12.0.0__35e10195dab3c99f/glade-sharp.dll
/usr/lib/mono/gac/gdk-sharp/2.12.0.0__35e10195dab3c99f/gdk-sharp.dll
Я также пробовал этот совет:
http://www.mono-project.com/Parallel_Mono_Environments#Tip:_MONO_GAC_PREFIX
и добавьте MONO_GAC_PREFIX в ~/.bashrc
echo $MONO_GAC_PREFIX
/usr
Но компиляция ошибок по-прежнему существует. Что я должен делать?
Ответы
Ответ 1
Вот что я делаю:
sudo apt-get install libglade2.0-cil-dev
sudo apt-get install gnome-sharp2
cd /usr/lib/mono/gac/
sudo gacutil -i glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll &&
sudo gacutil -i atk-sharp/2.12.0.0__35e10195dab3c99f/atk-sharp.dll &&
sudo gacutil -i gdk-sharp/2.12.0.0__35e10195dab3c99f/gdk-sharp.dll &&
sudo gacutil -i gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll &&
sudo gacutil -i glade-sharp/2.12.0.0__35e10195dab3c99f/glade-sharp.dll &&
sudo gacutil -i pango-sharp/2.12.0.0__35e10195dab3c99f/pango-sharp.dll &&
sudo gacutil -i gnome-sharp/2.24.0.0__35e10195dab3c99f/gnome-sharp.dll &&
sudo gacutil -i gconf-sharp/2.24.0.0__35e10195dab3c99f/gconf-sharp.dll &&
sudo gacutil -i gnome-vfs-sharp/2.24.0.0__35e10195dab3c99f/gnome-vfs-sharp.dll
По-видимому, mono GAC не видит те библиотеки, которые вы устанавливаете из пакетов. Ну, команды выше работают для меня:-D
Ответ 2
Мне удалось скомпилировать Monodevelop 4.1.4 сегодня на Ubuntu 13.04. У меня были подобные проблемы, как вы. Я скомпилировал и установил gnome-sharp из исходного кода. Когда вы запустите ./configure
, обратите внимание на вывод в конце. Фактически мне удалось скомпилировать его без ошибок, слепо запустив ./configure
make
make install
, но не заметил, что для того, чтобы библиотеки DLL работали с рядом библиотек, которые должны были быть доступны перед вами. Окончательный вывод ./configure
расскажет вам, какие библиотеки вам нужны для этих DLL.
Все, что кажется отсутствующим, создается из источника и устанавливает его на вашем компьютере. Обратите внимание на номера версий, поскольку есть более поздние версии некоторых библиотек.
Ответ 3
Я бы порекомендовал вам попробовать удалить файл ~/.config/xbuild/pkgconfig-cache-2.xml. Он кэширует установленные пакеты и в некоторых случаях создает полный беспорядок после установки/переустановки gtk-sharp и других пакетов. Вы можете посмотреть этот файл, и если вы найдете ссылки на несуществующие старые файлы gtk-sharp и другие, то это ваш случай. После удаления файл будет воссоздан xbuild при следующем компиляции.
Ответ 4
вместо
cat «deb http://ubuntu.mirror.cambrium.nl/ubuntu/ lucid main» >> /etc/apt/sources.list
делать
cat «deb http://ubuntu.mirror.cambrium.nl/ubuntu/ raring main» >> /etc/apt/sources.list
или, возможно,
cat «deb http://ubuntu.mirror.cambrium.nl/ubuntu/ quantal main» >> /etc/apt/sources.list