De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Cadê minhas máquinas virtuais? Debian Lenny!

Colaboração: Rafael Henrique da Silva Correia

Data de Publicação: 27 de September de 2008

Esses dias resolvi começar a usar o Debian Lenny, até semana passada só usava o Etch. O Lenny como todos sabem (ou a maioria) é testing, ou seja, ele tem alguns bugs ainda, está em desenvolvimento. Tive alguns pequenos problemas com meus aplicativos antigos que eu era bem acostumado a usar, porém depois de umas horinhas tudo passou a funcionar perfeitamente, mas ainda tinha um problema! Cadê minhas máquinas virtuais? O Vmware Server 1.0.7 não queria funcionar de forma alguma no Lenny, ai me senti tentado a resolver o problema (como vocês já devem ter se sentido antes).

Bom o primeiro imprevisto foi o seguinte, o gcc que uso no momento é o gcc-4.3, provido pelo pacote de mesmo nome gcc-4.3 (nos repositórios do aptitude), não gosta do script de configuração do Vmware! O foco deste tutorial é resolver os problemas que o Vmware apresenta no Debian Lenny e não tratar passo a passo da instalação do Vmware, quem procura um tutorial de instalação recomendo que leia o tutorial do Carlos Morimoto

Explicando a encrenca número 1

O Vmware precisa compilar suas coisas no gcc-4.1, que na verdade normalmente já está instalado no Lenny por padrão, porém o que muda o gcc que você está usando é o link simbólico denominado gcc (nossa não me diga que o nome é esse :O ), bom vamos ver na prática....

  z10n:~# aptitude install gcc-4.1 build-essential
  z10n:~# which gcc
  /usr/bin/gcc
  z10n:~# ls -la `which gcc`
  lrwxrwxrwx 1 root root 16 Set 22 23:37 /usr/bin/gcc -> /usr/bin/gcc-4.3

Veja que o link aponta para o gcc-4.3 e na verdade para compilar o Vmware precisamos do gcc-4.1, bom até ai é fácil vamos resolver o problema...

  z10n:~# ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc
  z10n:~# ls -la `which gcc`
  lrwxrwxrwx 1 root root 16 Set 23 22:01 /usr/bin/gcc -> /usr/bin/gcc-4.1

Observe agora que o link mudou! Agora você usará o gcc-4.1 por padrão! Bom menos um problema o Vmware agora irá compilar, será??

Explicando a encrenca número 2

Bom agora eu consigo compilar mas já saiu um patch para resolver umas encrencas com o script do Vmware! Este patch (e outros mais velhinhos) podem ser encontrados neste link: http://groups.google.com/group/vmkernelnewbies/files?pli=1

Bom o que vamos baixar é esse: vmware-any-any-update117d.tar.gz

Depois de baixar o arquivo vamos descompactá-lo...

  z10n:~# tar -xvzf vmware-any-any-update117d.tar.gz -C /usr/local/src/

Neste tutorial eu resolvi descompactá-lo no /usr/local/src, mas na sua casa você poderá descompactá-lo em qualquer lugar de sua preferência que não muda em nada.

Bom agora vamos pegar o pacote do Vmware-server-1.0.7-108231.tar.gz, que pode ser baixado de ...

http://www.vmware.com/download/server/

Eu particularmente prefiro usar o 1.0.7 pois o 2.0 ainda é beta, e não gostei muito dele.

Bom depois de baixar o pacote vamos extraí-lo no mesmo local do outro...

  z10n:~# tar -xvzf Vmware-server-1.0.7-108231.tar.gz -C /usr/local/src/

Lembrando que estou fazendo todas as operações como usuário root!

Certo agora estão descompactados, vamos fazer o seguinte...

  z10n:~# cd /usr/local/src/vmware-server-distrib/
  z10n:/usr/local/src/vmware-server-distrib# ./vmware-install.pl

Agora depois de rodar este script iremos parar com a execução do mesmo respondendo no a uma pergunta em específico que irei mostrar...

    Before running VMware Server for the first time, you need to configure it by
    invoking the following command: "/usr/bin/vmware-config.pl". Do you want this
    program to invoke the command for you now? [yes]

Nesta pergunta respondam no e dêem enter! O default é yes mas cuidado com os dedos nervosos, vocês não podem teclar enter nesta opção, pois usaremos o script de configuração do patch a partir desta etapa...

  z10n:/usr/local/src/vmware-server-distrib# cd ../vmware-any-any-update117d/
  z10n:/usr/local/src/vmware-any-any-update117d# ls
  runme.pl services.sh update update.c vmblock.tar vmmon.tar vmnet.tar
  z10n:/usr/local/src/vmware-any-any-update117d# ./runme.pl

Agora iremos rodar um script parecido com o que já havíamos executado antes... responda as perguntas atentamente. Lembre-se o foco deste tutorial não é a instalação do Vmware mas sim a resolução dos problemas que ele tem com o Debian Lenny.

Certo depois de ter respondido as perguntas, agora o pensamento é que o Vmware já está funcionando, maaasssss... não é bem isso o que acontece. Se vocês tentarem rodar o vmware na linha de comando vão ter uma saída deste tipo mais ou menos...

  Locking assertion failure. Backtrace:
  #0 /usr/lib/libxcb-xlib.so.0 [0xb7018767]
  #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb70188b1]
  #2 /usr/lib/libX11.so.6(_XReply+0x244) [0xb7e8cc14]
  #3 /usr/lib/vmware/lib/libXrender.so.1/libXrender.so.1(XRenderQueryFormats+0x109) [0xb7d78969]
  #4 /usr/lib/vmware/lib/libXrender.so.1/libXrender.so.1(XRenderFindFormat+0x4c) [0xb7d78f4c]
  #5 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7bbe180]
  #6 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7bbed2c]
  #7 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b8ec14]
  #8 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b9b24f]
  #9 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b8ec14]
  #10 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255)
  [0xb7b9ab34]
  #11 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a9f298]
  #12 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a9f586]
  #13 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7aa177e]
  #14 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb7cb4459]
  #15 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c9c3a1]
  #16 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb7c9c076]
  #17 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7cb36eb]
  #18 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit_valist+0x91e) [0xb7cb2d46]
  #19 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit+0x38) [0xb7cb30b8]
  Locking assertion failure. Backtrace:
  #0 /usr/lib/libxcb-xlib.so.0 [0xb7018767]
  #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb701881e]
  #2 /usr/lib/libX11.so.6 [0xb7e8bdc9]
  #3 /usr/lib/libX11.so.6(XAddExtension+0x2c) [0xb7e6e23c]
  #4 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2(_XftDisplayInfoGet+0x77) [0xb7d70ed7]
  #5 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2 [0xb7d6f8b1]
  #6 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2 [0xb7d6fd39]
  #7 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2(XftDrawPicture+0x10) [0xb7d6fec0]
  #8 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7bbc9b6]
  #9 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7bbed75]
  #10 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b8ec14]
  #11 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b9b24f]
  #12 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b8ec14]
  #13 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255)
  [0xb7b9ab34]
  #14 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a9f298]
  #15 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a9f586]
  #16 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7aa177e]
  #17 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb7cb4459]
  #18 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c9c3a1]
  #19 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb7c9c076]
  vmware: ../../src/xcb_lock.c:77: _XGetXCBBuffer: assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed

Explicando a encrenca número 3

Bom acontece que o pacote libx11-6 do Debian Lenny da um certo problema com o Vmware, o que o impede de abrir sua Interface Gráfica (gui) o que é mal, pois eu particularmente só uso o Vmware pela sua interface! Depois de muito pesquisar, achei no site oficial dos Bugs do Debian, um post que me ajudou muito:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486507

É o seguinte, no começo do post original, a turma ficou debatendo que era melhor fazer um downgrade (um desupgrade ) do pacote libx11-6 o que eu não gostei nada nada, continuei a ler e teve uma pessoa (ST ) que descobriu uma forma menos violenta de arrumar o problema, segue a dica:

  1. Pegue o arquivo libX11.so.6 mais velho, por exemplo do Debian Etch
  2. Crie o diretório libX11.so.6 em: /usr/lib/vmware/lib/
  3. Copie todos os arquivos que tiverem o nome parecido com esse libX11.so.6 do Debian Etch e cole em /usr/lib/vmware/lib/libX11.so.6/
  4. Edite o script /usr/lib/vmware/lib/wrapper-gtk24.sh adicionando a seguinte linha que mostro logo abaixo:
      ...
      vm_append_lib 'libfreetype.so.6'
      vm_append_lib 'libXft.so.2'
      vm_append_lib 'libXrender.so.1'
      vm_append_lib 'libX11.so.6' # << linha que vamos adicionar
      
      # FontConfig is actually fairly well behaved but the fonts.conf that we
      # force when VMWARE_USE_SHIPPED_GTK=yes generates seemingly harmless
      ...
    
  5. Salve o script e saia!

Após feito tudo isso é só rodar abrir o Vmware e usar :)!! Boa diversão!

Não entenderam algo?? Email-me... (<rafaelhenriqu (a) gmail com>)

http://abraseucodigo.blogspot.com

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rafael Henrique da Silva Correia