Compilando o Mono 2.2 no Ubuntu 8.10
Como estava tendo muita dificuldade no início, resolvi documentar todos os passos do processo de compilação do Mono 2.2 e todos os pacotes dependentes e auxiliares, para poder refazer tudo novamente ou rever onde estava errando. Agora disponibilizo para que possa ajudar outros. O processo pode ser feito tanto no Linux Ubuntu 8.10 quanto no Debian.
[ Hits: 30.067 ]
Por: Claudio Rocha de Jesus em 22/02/2009
Baixando os fontes do ftp da Novell
1. Baixar todos os fontes do servidor ftp da Novell :
wget -r http://ftp.novell.com/pub/mono/sources-stable/
2. Compilar e instalar primeiro a biblioteca básica Libgdiplus (uma implementação open source da API GDI+):
cd /home/download/mono/ftp.novell.com/pub/mono/sources/
$ tar -xvjf libgdiplus-2.2.tar.bz2
$ cd libgdiplus-2.2
Antes de compilar deve-se instalar as bibliotecas que esta biblioteca exige para ser compilada:
sudo aptitude install libcairo-dev libcairo-directfb2-dev libcairo2-dev libcairomm-1.0-dev libpango1.0-dev libpangomm-1.4-dev libfreetype6-dev libexif-dev libexif12 libexif-gtk-dev ggcov binutils-dev libpng12-dev libfontconfig1-dev libpoppler-dev libpoppler-glib-dev libxft2-dev
Depois de instalar estas bibliotecas, executar o famoso trio de comandos da seguinte forma:
./configure --prefix=/usr/local
$ make
$ sudo make install
Compilando e instalando o Mono-2.2
Vá para o diretório do mono e digite:
tar -xvjf mono-2.2.tar.bz2
Vá para o diretório dos fontes:
cd mono-2.2
Instale os pacotes requeridos para a compilação:
sudo aptitude install pkg-config libglib2.0-0 libglib2.0-dev libglibmm-2.4-dev libglib2.0-cil libglib2.0-data zlib1g-dev libgc-dev libpcap0.8-dev libtrace3-dev valgrind oprofile
Depois de tudo instalado execute novamente o trio de compilação:
./configure --prefix=/usr/local
$ make
$ sudo make install
Próxima página
Páginas do artigo
1. Baixando os fontes do ftp da Novell
2.
Compilando e instalando o Mono-Basic
3.
Compilando e instalando Mod-mono
4.
Compilando e instalando Heap Buddy
5.
Compilando e instalando o Mono Debugger
6.
Compilando e instalando o GTK# 2.12
Outros artigos deste autor
Implantação de um Sistema de Workgroup Open Source
Conversão da base de dados do Cyrus IMAP no Debian
Git - Ciclo básico de trabalho
Leitura recomendada
Bug afeta todas as distros
Tratamento de exceções na linguagem C
Compilando Templates C++
Tutorial OpenGL v3.0
Programação de Jogos com SDL
Comentários
Veio nao estou conseguindo compilar o websharp qual e o problema???
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ tar -xvjf webkit-sharp-0.3.tar.bz2
tar: Tamanho de registro = 8 blocos
webkit-sharp-0.3/
webkit-sharp-0.3/configure
webkit-sharp-0.3/configure.ac
webkit-sharp-0.3/samples/
webkit-sharp-0.3/samples/FunnyBrowser.cs
webkit-sharp-0.3/samples/Makefile.in
webkit-sharp-0.3/samples/Makefile.am
webkit-sharp-0.3/missing
webkit-sharp-0.3/AUTHORS
webkit-sharp-0.3/NEWS
webkit-sharp-0.3/README
webkit-sharp-0.3/config.sub
webkit-sharp-0.3/aclocal.m4
webkit-sharp-0.3/Makefile.in
webkit-sharp-0.3/INSTALL
webkit-sharp-0.3/config.guess
webkit-sharp-0.3/COPYING
webkit-sharp-0.3/doc/
webkit-sharp-0.3/doc/en/
webkit-sharp-0.3/doc/en/GtkSharp.WebkitSharp.xml
webkit-sharp-0.3/doc/en/WebKit.xml
webkit-sharp-0.3/doc/en/WebKit/
webkit-sharp-0.3/doc/en/WebKit/WebView.xml
webkit-sharp-0.3/doc/en/WebKit/WebBackForwardList.xml
webkit-sharp-0.3/doc/en/WebKit/WebFrame.xml
webkit-sharp-0.3/doc/en/WebKit/WebHistoryItem.xml
webkit-sharp-0.3/doc/en/WebKit/WebSettings.xml
webkit-sharp-0.3/doc/en/WebKit/NavigationResponse.xml
webkit-sharp-0.3/doc/en/WebKit/WebViewTargetInfo.xml
webkit-sharp-0.3/doc/en/WebKit/NetworkRequest.xml
webkit-sharp-0.3/doc/en/index.xml
webkit-sharp-0.3/doc/Makefile.in
webkit-sharp-0.3/doc/Makefile.am
webkit-sharp-0.3/install-sh
webkit-sharp-0.3/sources/
webkit-sharp-0.3/sources/webkit-sharp.pc.in
webkit-sharp-0.3/sources/webkit-sharp.snk
webkit-sharp-0.3/sources/Makefile.in
webkit-sharp-0.3/sources/AssemblyInfo.cs.in
webkit-sharp-0.3/sources/webkit-sharp-api.raw
webkit-sharp-0.3/sources/webkit-sharp-sources.xml
webkit-sharp-0.3/sources/webkit-sharp.dll.config.in
webkit-sharp-0.3/sources/Makefile.am
webkit-sharp-0.3/sources/webkit-sharp.metadata
webkit-sharp-0.3/Makefile.am
webkit-sharp-0.3/webkit-sharp.spec.in
webkit-sharp-0.3/ChangeLog
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ ./configure --prefix=/usr/local
bash: ./configure: Arquivo ou diretório não encontrado
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ cd webkit-sharp-0.3/
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3$ ./configure --prefix=/usr/local
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for MONO_DEPENDENCY... yes
checking for MONO_DEPENDENCY... yes
checking for mono... /usr/local/bin/mono
checking for mcs... /usr/local/bin/mcs
checking for gacutil... /usr/local/bin/gacutil
checking for GTK_SHARP... yes
checking for WEBKIT... yes
checking for gapi2-parser... no
checking for gapi2-parser.exe...
checking for gapi2-fixup... no
checking for gapi2-fixup.exe...
checking for gapi2-codegen... no
checking for gapi2_codegen.exe...
checking for mdassembler... /usr/local/bin/mdassembler
checking for monodocer... /usr/local/bin/monodocer
configure: creating ./config.status
config.status: creating Makefile
config.status: creating webkit-sharp.spec
config.status: creating doc/Makefile
config.status: creating samples/Makefile
config.status: creating sources/Makefile
config.status: creating sources/AssemblyInfo.cs
config.status: creating sources/webkit-sharp-1.0.pc
config.status: creating sources/webkit-sharp.dll.config
config.status: executing default commands
Configuration summary
---------------------
* Installation prefix: /usr/local
* compiler: /usr/local/bin/mcs
* Documentation: yes ()
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3$ make
Making all in sources
make[1]: Entrando no diretório `/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3/sources'
cp ./webkit-sharp-api.raw webkit-sharp-api.xml
chmod u+w webkit-sharp-api.xml
api=./webkit-sharp-api.xml --metadata=./webkit-sharp.metadata
/bin/bash: --metadata=./webkit-sharp.metadata: Arquivo ou diretório não encontrado
make[1]: [webkit-sharp-api.xml] Erro 127 (ignorado)
generate ./webkit-sharp-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/pango-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/atk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/gdk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/gtk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/glib-api.xml \
--outdir=generated --customdir=. \
--assembly-name=webkit-sharp && touch generated-stamp
/bin/bash: generate: comando não encontrado
make[1]: [generated-stamp] Erro 127 (ignorado)
/usr/local/bin/mcs -nowarn:169 -unsafe -target:library -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/pango-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/atk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gdk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll \
AssemblyInfo.cs generated/*.cs -out:webkit-sharp.dll
error CS2001: Source file `generated/*.cs' could not be found
Compilation failed: 1 error(s), 0 warnings
make[1]: ** [webkit-sharp.dll] Erro 1
make[1]: Saindo do diretório `/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3/sources'
make: ** [all-recursive] Erro 1
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0
Mensagem
Veio nao estou conseguindo compilar o websharp qual e o problema???
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ tar -xvjf webkit-sharp-0.3.tar.bz2
tar: Tamanho de registro = 8 blocos
webkit-sharp-0.3/
webkit-sharp-0.3/configure
webkit-sharp-0.3/configure.ac
webkit-sharp-0.3/samples/
webkit-sharp-0.3/samples/FunnyBrowser.cs
webkit-sharp-0.3/samples/Makefile.in
webkit-sharp-0.3/samples/Makefile.am
webkit-sharp-0.3/missing
webkit-sharp-0.3/AUTHORS
webkit-sharp-0.3/NEWS
webkit-sharp-0.3/README
webkit-sharp-0.3/config.sub
webkit-sharp-0.3/aclocal.m4
webkit-sharp-0.3/Makefile.in
webkit-sharp-0.3/INSTALL
webkit-sharp-0.3/config.guess
webkit-sharp-0.3/COPYING
webkit-sharp-0.3/doc/
webkit-sharp-0.3/doc/en/
webkit-sharp-0.3/doc/en/GtkSharp.WebkitSharp.xml
webkit-sharp-0.3/doc/en/WebKit.xml
webkit-sharp-0.3/doc/en/WebKit/
webkit-sharp-0.3/doc/en/WebKit/WebView.xml
webkit-sharp-0.3/doc/en/WebKit/WebBackForwardList.xml
webkit-sharp-0.3/doc/en/WebKit/WebFrame.xml
webkit-sharp-0.3/doc/en/WebKit/WebHistoryItem.xml
webkit-sharp-0.3/doc/en/WebKit/WebSettings.xml
webkit-sharp-0.3/doc/en/WebKit/NavigationResponse.xml
webkit-sharp-0.3/doc/en/WebKit/WebViewTargetInfo.xml
webkit-sharp-0.3/doc/en/WebKit/NetworkRequest.xml
webkit-sharp-0.3/doc/en/index.xml
webkit-sharp-0.3/doc/Makefile.in
webkit-sharp-0.3/doc/Makefile.am
webkit-sharp-0.3/install-sh
webkit-sharp-0.3/sources/
webkit-sharp-0.3/sources/webkit-sharp.pc.in
webkit-sharp-0.3/sources/webkit-sharp.snk
webkit-sharp-0.3/sources/Makefile.in
webkit-sharp-0.3/sources/AssemblyInfo.cs.in
webkit-sharp-0.3/sources/webkit-sharp-api.raw
webkit-sharp-0.3/sources/webkit-sharp-sources.xml
webkit-sharp-0.3/sources/webkit-sharp.dll.config.in
webkit-sharp-0.3/sources/Makefile.am
webkit-sharp-0.3/sources/webkit-sharp.metadata
webkit-sharp-0.3/Makefile.am
webkit-sharp-0.3/webkit-sharp.spec.in
webkit-sharp-0.3/ChangeLog
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ ./configure --prefix=/usr/local
bash: ./configure: Arquivo ou diretório não encontrado
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp$ cd webkit-sharp-0.3/
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3$ ./configure --prefix=/usr/local
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for MONO_DEPENDENCY... yes
checking for MONO_DEPENDENCY... yes
checking for mono... /usr/local/bin/mono
checking for mcs... /usr/local/bin/mcs
checking for gacutil... /usr/local/bin/gacutil
checking for GTK_SHARP... yes
checking for WEBKIT... yes
checking for gapi2-parser... no
checking for gapi2-parser.exe...
checking for gapi2-fixup... no
checking for gapi2-fixup.exe...
checking for gapi2-codegen... no
checking for gapi2_codegen.exe...
checking for mdassembler... /usr/local/bin/mdassembler
checking for monodocer... /usr/local/bin/monodocer
configure: creating ./config.status
config.status: creating Makefile
config.status: creating webkit-sharp.spec
config.status: creating doc/Makefile
config.status: creating samples/Makefile
config.status: creating sources/Makefile
config.status: creating sources/AssemblyInfo.cs
config.status: creating sources/webkit-sharp-1.0.pc
config.status: creating sources/webkit-sharp.dll.config
config.status: executing default commands
Configuration summary
---------------------
* Installation prefix: /usr/local
* compiler: /usr/local/bin/mcs
* Documentation: yes ()
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3$ make
Making all in sources
make[1]: Entrando no diretório `/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3/sources'
cp ./webkit-sharp-api.raw webkit-sharp-api.xml
chmod u+w webkit-sharp-api.xml
api=./webkit-sharp-api.xml --metadata=./webkit-sharp.metadata
/bin/bash: --metadata=./webkit-sharp.metadata: Arquivo ou diretório não encontrado
make[1]: [webkit-sharp-api.xml] Erro 127 (ignorado)
generate ./webkit-sharp-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/pango-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/atk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/gdk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/gtk-api.xml -I:/usr/lib/pkgconfig/../../share/gapi-2.0/glib-api.xml \
--outdir=generated --customdir=. \
--assembly-name=webkit-sharp && touch generated-stamp
/bin/bash: generate: comando não encontrado
make[1]: [generated-stamp] Erro 127 (ignorado)
/usr/local/bin/mcs -nowarn:169 -unsafe -target:library -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/pango-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/atk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gdk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll \
AssemblyInfo.cs generated/*.cs -out:webkit-sharp.dll
error CS2001: Source file `generated/*.cs' could not be found
Compilation failed: 1 error(s), 0 warnings
make[1]: ** [webkit-sharp.dll] Erro 1
make[1]: Saindo do diretório `/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0.3/sources'
make: ** [all-recursive] Erro 1
patrik@monica:/var/www/phpMyAdmin/ftp.novell.com/pub/mono/sources/webkit-sharp/webkit-sharp-0
Não sei com certeza, mas a saída do seu Make esta gerando alguns erros que provavelmente são as fontes da não compilação:
/bin/bash: --metadata=./webkit-sharp.metadata: Arquivo ou diretório não encontrado
/bin/bash: generate: comando não encontrado
error CS2001: Source file `generated/*.cs' could not be found
Procure pela solução destes erros e talvez a coisa role.
Abraço.
Mensagem
Não sei com certeza, mas a saída do seu Make esta gerando alguns erros que provavelmente são as fontes da não compilação:
/bin/bash: --metadata=./webkit-sharp.metadata: Arquivo ou diretório não encontrado
/bin/bash: generate: comando não encontrado
error CS2001: Source file `generated/*.cs' could not be found
Procure pela solução destes erros e talvez a coisa role.
Abraço.
tentei seguir teu tutorial, devido a versão que mudou gerou alguns problemas, até aí tudo bem que fui conseguindo resolver, só que agora chegou em um que não consegui resolver de jeitoooo nenhum...
sabe como posso resolver esse problema?? segue logo abaixo o log
checking for WEBKIT... configure: error: Package requirements (webkit-1.0 >= 1.1.15) were not met:
Requested 'webkit-1.0 >= 1.1.15' but version of WebKit is 1.0.1
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables WEBKIT_CFLAGS
and WEBKIT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
obrigado
abraço
Mensagem
tentei seguir teu tutorial, devido a versão que mudou gerou alguns problemas, até aí tudo bem que fui conseguindo resolver, só que agora chegou em um que não consegui resolver de jeitoooo nenhum...
sabe como posso resolver esse problema?? segue logo abaixo o log
checking for WEBKIT... configure: error: Package requirements (webkit-1.0 >= 1.1.15) were not met:
Requested 'webkit-1.0 >= 1.1.15' but version of WebKit is 1.0.1
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables WEBKIT_CFLAGS
and WEBKIT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
obrigado
abraço
Mateus, infelizmente aqui no trabalho tive que abandonar o Linux e partir (a contra gosto) pro Windows para programar C#. E em casa estou partindo para Java, porque tenho considerado queo o Mono tem uma letargia muito grande.
Mensagem
Mateus, infelizmente aqui no trabalho tive que abandonar o Linux e partir (a contra gosto) pro Windows para programar C#. E em casa estou partindo para Java, porque tenho considerado queo o Mono tem uma letargia muito grande.
Contribuir com comentário
Enviar