Analecto

9 de janeiro de 2015

Regen.

64 bit – Running 32-bit app under 64-bit linux – Ask Ubuntu.

Há alguns anos, um dos meus amigos veio aqui em casa para passar um dia comigo. Nós jogamos um bocado no Playstation 2 que tínhamos aqui. A principal atração, contudo, foi nossa noitada jogando um emulador de Mega Drive feito por fãs para Playstation 2. No meio do nosso jogo, encontramos o tal Rocket Knight Adventures, um jogo pelo qual me apaixonei.

Depois que meu colega foi embora, o Playstation 2 foi guardado e não pude mais jogar. Até eu resolver usar um emulador no meu computador para me dar ao luxo. Os emuladores de Mega Drive disponíveis no repositório do Ubuntu eram complicados (Mednafen) ou imprestáveis (os outros), então eu procurei por algo feito por terceiros. Assim descobri o Regen. Dei dois cliques e o negócio começou a funcionar, com nível de Snes9x, outro emulador que eu usava na época. Terminei Rocket Knight Adventures no Regen e não me arrependo de ter entrado em contato com a música daquele jogo.

Esses dias, Apple me mostrou um personagem de um jogo chamado Shining Force 2. O personagem parece uma pequena tartaruga ou lagartixa encouraçada com uma barriguinha amável e bem alimentada. Ai, ai, que pecado. Eu resolvi que jogaria só pela emoção de jogar com aquela criatura fofinha. Mas, como vocês já sabem, agora estou usando o Linux Mint Debian Edition 64-bit Cinnamon Edition, isto é, não é Ubuntu.

Peguei o Regen e tentei executá-lo aqui, mas nada aconteceu. Eu tentei executá-lo pelo Terminal para saber o que estava errado e descobri que ele estava tendo dificuldade em achar o arquivo “libgtk-x11-2.0.so.0”. “Certo, ele está com dependência faltosa, posso resolver isso”, pensei, com meu pensamento ainda um pouco nublado pela doce barriguinha da tartaruga. Aprendi na Internet o comando “apt-file search”, que me permite procurar por arquivos específicos dentro de pacotes não instalados, para saber em que pacote está libgtk-x11-2.0.so.0. A resposta era: no pacote “libgtk2.0-0”. Daí, abri meu gerenciador de pacotes e procurei pelo tal libgtk2.0-0, mas… ele já estava instalado.

Dando uma olhada no apt-file, eu pude ver que o arquivo libgtk-x11-2.0.so.0 instala no diretório /usr/lib/x86_64-linux-gnu/ e aí a resposta me acertou na face como xixi de bebê durante a troca de fralda. Na época do Ubuntu, eu usava um sistema 32 bits, com bibliotecas 32 bits devidamente instaladas, mas agora estou de 64 bits. De fato, “x86_64-linux-gnu” é um diretório cheio de objetos de 64 bits que não fazem sentido para uma aplicação de 32 bits, que parecia ser o caso do Regen. Alguém pode ter ficado preocupado até agora com a possibilidade de ter de recompilar o Regen para apontá-lo ao diretório correto, mas esse não é o caso: mesmo que eu apontasse o Regen para o diretório /usr/lib/x86_64-linux-gnu/, ele não poderia usar nada contido lá, por ser um programa de 32 bits, com capacidades limitadas.

Pensei um pouco. “Talvez o diretório certo não tenha sido criado”, passou pela minha cabeça, pois eu pensei que instalar algo de 32 bits através do APT poderia criar o diretório. Só que esse diretório já existia, porque o Wine já instala bibliotecas de 32 bits, eu só não sabia onde o diretório estava. Não era a solução certa, mas me deu uma ideia: e se eu, deliberadamente, instalasse dependências de 32 bits? Isso pode ser feito.

No repositório, programas e bibliotecas de 32 bits têm uma extensão “:i386” no nome. Então, em vez de instalar libgtk2.0-0, instalar “libgtk2.0-0:i386”. Instalei e tentei usar o Regen novamente. Agora, ele acusava a falta de um arquivo chamado “libXv.so.1”. Eureka! Isso significa que a primeira dependência havia sido satisfeita e que meu raciocínio estava correto afinal! Eu só precisava instalar as outras dependências e logo eu estaria saboreando aquila suculenta barriguinha…

Após instalar todas as dependências (libgtk-x11-2.0.so.0, libXv.so.1, libasound.so.2, libSDL-1.2.so.0), Regen funcionou, embora com uma interface meio feia. Inobstante, comecei a jogar Shining Force 2. Aprendi várias coisas hoje:

  1. Regen é um programa de 32 bits.
  2. Eu posso procurar por arquivos avulsos em pacotes não instalados usando o comando “apt-file search” seguido do nome do arquivo.
  3. Programas de 32 bits instalados pelo APT satisfazem dependências como 32 bits, mas as dependências ainda precisam ser instaladas manualmente se eu arrumar o programa por fontes fora do repositório.
  4. Não é uma doçura? http://www.shiningforcecentral.com/content/artwork/files/sf2/sf2_book_kiwi2.jpg
  5. As dependências do Regen pertencem aos pacotes libgtk2.0-0:i386, libxv1:i386, libasound2:i386 e libsdl1.2debian:i386, que podem ser instalados pelo Gerenciador de Aplicativos.

12 de maio de 2014

Instalando o LMMS 1.0 sob Linux Mint Debian Edition 64-bit Cinnamon Edition.

Oh, raios de nome longo esse. Atualmente, a versão do LMMS disponível no repositório do Linux Mint é a 0.4.10, que é atrasada. Quem já tentou instalar um programa de Ubuntu no Linux Mint provavelmente encontrou problemas de variada gravidade. Eu, por exemplo, tentei instalar o Xdiagnose no meu Linux Mint e acabei com o sistema de um jeito que não achei que fosse possível. Então, você deve procurar programas de Debian caso você queira instalar um programa indisponível no repositório. O LMMS 1.0 está disponível para Debian Sid, o que pode deixar muitos com um pé atrás, mas eu instalei com sucesso aqui e posso garantir que é seguro.

Mas caso você não acredite em mim, talvez queira avaliar se vale a pena ou não substituir sua instalação atual do LMMS pela mais recente. Não mudou muita coisa, mas posso notar duas grandes mudanças, uma ótima e outra péssima, para que você veja se deve atualizar ou não:

  1. A interface está horrorosa. Feia que dói, falando sério. Está confusa, mortiça.
  2. Dois sintetizadores novos foram adicionados, um modulador de frequência (emulador de OPL2, permitindo sons próximos ao do Sega Mega Drive) e um gerador de efeito sonoro (Sfxr).

Se você acha que ter dois novos sintetizadores compensa ter uma interface feia, vá em frente. Se você acha que a interface feia não é compensada pelos sintetizadores novos, não vá em frente. Se você tentar instalar o LMMS 1.0 no seu Linux Mint, você obterá o seguinte erro: a dependência não é contentável (lmms-common >= 1.0). Isso significa que você precisa preencher uma dependência antes e essa dependência é justamente o pacote lmms-common mais recente. Mas, se você tentar instalá-lo, receberá outro erro: quebra a dependência do pacote lmms (lmms-common = 0.4.10). E agora?

  1. Execute no Terminal o comando sudo apt-get remove –purge lmms lmms-common. Isso irá remover do seu sistema o LMMS e o lmms-common atual, tal como os arquivos de configuração.
  2. Baixe o lmms-common.
  3. Instale o lmms-common usando Gdebi. Se houver uma dependência não resolvida, pare imediatamente e reinstale a versão do repositório (0.4.10). Nesse caso, é melhor esperar até a versão mais recente aparecer no repositório oficial, porque atualizar outros pacotes quebrará várias dependências.
  4. Baixe o LMMS.
  5. Instale o LMMS. Novamente, pare se houver alguma dependência não resolvida.

LMMS está pronto. Eu preferi ficar com o LMMS 0.4.10 depois que vi o quanto a interface é nojenta, mas cada um com seu cada qual. Caso você tenha encontrado dependências não resolvidas ou caso você queira se desfazer da versão 1.0, execute os comandos abaixo no Terminal:

  1. sudo apt-get remove –purge lmms lmms-common
  2. sudo apt-get install lmms

Isso desinstalará a versão 1.0 e instalará a versão disponível no repositório oficial.

%d blogueiros gostam disto: