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: 29.446 ]

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

Git - Ciclo básico de trabalho

Conversão da base de dados do Cyrus IMAP no Debian

Leitura recomendada

Tutorial OpenGL v3.0

Projeto Icecream (parte 1)

SDL e C - Uma dupla sensacional

Ponteiros - Saindo de Pesadelos

Parâmetros interessantes do scanf e do printf em C

  
Comentários
[1] Comentário enviado por exercitobr em 22/02/2009 - 23:34h

Nota 10!

[2] Comentário enviado por the_lothar em 18/12/2009 - 07:28h

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

[3] Comentário enviado por crochadejesus em 18/12/2009 - 10:52h

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.

[4] Comentário enviado por mateustads em 28/02/2010 - 20:35h

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

[5] Comentário enviado por crochadejesus em 01/03/2010 - 11:06h

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts