Compilar o player mpg123 é uma ótima opção para obter a melhor performance possível em sistemas com limitação de recursos.
Se você roda o Linux em uma máquina antiga (486 ou superior), as opções de compilação permitem habilitar o 3DNOW e desabilitar o SSE, só pra citar um exemplo de como você pode adequar o aplicativo aos recursos presentes de multimídia presentes na sua CPU.
Uma vez que aquilo que não é usado é retirado, durante a compilação, o resultado é quase sempre um binário enxuto, de execução rápida e mais eficiente — e esta necessidade é, provavelmente, o principal motivo de se usar o mpg123 player: você quer ouvir muita música, sem atrapalhar a execução dos outros aplicativos no seu sistema.
Habilitar recursos específicos pro seu hardware ou descartar do aplicativo o que não serve pro seu sistema, são fortes motivos para compilar seus programas.
Onde baixar o código fonte do mpg123
Você pode fazer o download da versão mais nova do mpg123, no site SourceForge —. Ao final do artigo, há uma relação de links úteis, caso você queira se aprofundar no assunto.
Na presente data, a versão mais nova é a 1.21. Quem usa o Ubuntu 14.04 LTS, tem que se contentar com o mpg123 1.15 ou 1.16 (depende da sua máquina). A versão 1.20 está prevista para ser lançada com o Ubuntu 15.04 Vivid Vervet.
Compilar seus próprios programas, a partir do fonte, traz esta boa surpresa (código mais novo) com frequência. 😉 — Vale lembrar, contudo, código mais novo é comumente menos testado.
E, antes que você pergunte… Sim! Você pode ter uma versão padrão do seu sistema instalada e convivendo pacificamente com a versão compilada — e vou mostrar como!
Após fazer o download descompacte o tarball em algum de seus diretórios:
tar xvvjf mpg123-20141108205059.tar.bz2
Note que o nome do arquivo, inclui a data em que foi lançado e o número da sua versão. Portanto, adeque o comando ao nome exato do arquivo que você baixou.
Entre no diretório criado:
cd mpg123-20141108205059$
As dependẽncias
Se você já tiver uma versão do mpg123 instalada no seu sistema, as dependências (ou seja, as bibliotecas que o mp123 precisa para funcionar) provavelmente já estarão lá.
Se não tiver outra versão do mpg123, certifique de ter os seguintes softwares já instalados, antes de prosseguir:
... Depends: libasound2 (>= 1.0.16), libaudio2, libc6 (>= 2.15), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libltdl7 (>= 2.4.2), libmpg123-0 (>= 1.15.1), libopenal1 (>= 1.14), libportaudio2 (>= 19+svn20101113), libpulse0 (>= 0.99.1) Suggests: alsa-utils, jackd, nas, oss-compat, oss4-base, pulseaudio
A sessão suggests, acima, se refere a “sugestões”. Não há necessidade de instalar estes itens.
Como compilar o mpg123
De maneira resumida, você pode executar todos os 3 passos da compilação, da seguinte forma (como superusuário):
./configure make make install
Simples, não é?
Normalmente, o processo detecta as configurações do seu sistema e desabilita/habilita automaticamente uma série de recursos — entregando um aplicativo mais enxuto, ao final do processo.
Mas você pode, se quiser, exercer algum controle manual sobre o processo. Peça a ajuda ao sistema, para saber quais opções estão disponíveis (in english):
.configure --help=recursive
O configure permite criar vários resultados diferentes de binários, de forma que possa testar e decidir qual o melhor pro seu sistema.
Se você usa um hardware 32 bits atual, pode usar o configure assim:
./configure --with-cpu=x86
Na maioria das vezes, contudo, isto é desnecessário, uma vez que o configure provavelmente já vai detectar a sua CPU e vai criar uma compilação automaticamente sob medida pra você.
Por padrão o sistema de instalação posiciona o mpg123 em /usr/local/bin/
. Mas você pode executá-lo sem indicar o caminho:
mpg123
Se você já tem uma versão do mpg123 instalada, pode indicar um nome diferente pra versão que você compilou — o que te permite comparar as duas versões ou ter uma exclusivamente para fazer uso de determinados recursos.
No exemplo abaixo, vou pedir ao configure para preparar uma versão do mpg123 específica para o dispositivo de saída de áudio alsa. Para evitar confusão, vou nomeá-lo mpg123alsa, com a opção --program-suffix=alsa
. Veja como fica:
./configure --with-default-audio=alsa --program-suffix=
Com a opção --program-suffix=
é possível acrescentar ao nome do programa principal um sufixo, à sua escolha.
O arquivo executável gerado terá o nome mpg123alsa
.
Desta forma, você pode criar diferentes versões, com diferentes recursos habilitados/desabilitados para comparar e, se quiser, escolher qual a melhor pra você.
Como linkar e instalar
Os próximos 2 passos, são muito simples — e envolvem o utilitário make
.
Dentro do mesmo diretório em que se encontra descompactado o código, execute os seguintes comandos:
make sudo make install
Ao fim do processo, execute o seu novo mpg123 (com sufixo, se você colocou um). 😉
Se quiser saber mais sobre como compilar e linkar programas, leia este pequeno tutorial.
Referências:
- Baixe o mpg123 do sourceforge: http://sourceforge.net/projects/mpg123/files/mpg123/
- Site oficial do mpg123: http://www.mpg123.de/faq.shtml
- Como usar o mpg123
- Como usar o mpg123 com equalização
4 replies on “Como compilar e instalar o mpg123”
Olá, Elias, bom dia!
Estou tendo uma pequena dificuldade em compilar o mpg123 com sucesso, segui exatamente o modo que você explica, mas não sei o que está acontecendo, poderia me dizer algo sobre?
Meu Linux é Debian Jessie, e lembrando que instalando pelo apt-get consigo normalmente. Ao final da tentativa de ‘compilar’ aparece o seguinte:
make[2]: Nothing to be done for ‘install-exec-am’.
/bin/mkdir -p ‘/usr/local/share/man/man1’
/usr/bin/install -c -m 644 man1/mpg123.1 man1/out123.1 ‘/usr/local/share/man/man1’
/bin/mkdir -p ‘/usr/local/lib/pkgconfig’
/usr/bin/install -c -m 644 libmpg123.pc ‘/usr/local/lib/pkgconfig’
A mensagem “Nothing to be done” Não quer dizer, necessariamente, que “algo ruim” aconteceu.
Tente rodar o programa. 😉
Não roda, essa é a parte onde é digitado make install, estranho, acredito que falte alguma coisa para conseguir finalizar.
Vamos ver, vou continuar tentando resolver, fim de semana tenho mais tempo, se resolver, mando um retorno aqui. Agradeço!.
Então, tente também rodar todos os comandos com privilégios administrativos:
sudo make...
Se, ainda assim, não der, podemos tentar outra abordagem. 😉