Подтвердить что ты не робот

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

Но компиляция ошибок по-прежнему существует. Что я должен делать?

4b9b3361

Ответ 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