quarta-feira, abril 30, 2008

Compilar a partir da fonte

Este artigo será importante para quem, como eu, gosta é de utilizar os pacotes de software dos repositórios Ubuntu, mas de quando em vez lá instala qualquer coisa a partir da fonte. Isto torna-se chato, até porque tudo o que aprendemos da última vez que fizemos isso já se foi da nossa memória. Agora que estou a fazer uma instalação dessas, aqui ficam algumas dicas, que também vão servir para mim da próxima vez que precisar.


Quando falo em código de fonte estou a falar de programas que têm pelo menos um ficheiro configure, ou qualquer coisa do género. Fonte, daquela pura, só com os ficheiros em c, essa para mim ainda é um mistério.
Se tem um ficheiro configure, então é para utilizar: ele logo me dirá se tenho todas as depedências satisfeitas ou não. Se ele parar a meio a queixar-se da falta de qq coisa, então Synaptic Package Mannager (ou apt-get install) e vai-se buscar.

Pacotes lib, pacotes -dev e pacotes src
Pois, estes meus senhores é que são os necessários. Muitas vezes temos instalado o pacote que é necessário mas mesmo assim não corre: pois, o que ele quer é o pacote -dev. E pior ainda é quando o configure nos diz que necessitamos, por exemplo, do gtk+ (versão 2.0) (este foi para mim um dos piores de resolver) e vamos ver e existem 500 pacotes gtk. Bem, aquilo é uma festa, mas nenhum deles é -dev. Ficamos um pouco lixados. Nunca desistir, porque a solução pode estar, e neste caso está, no libgtk2.0-dev. Caramba, aquilo que uma pessoa tem que adivinhar para continuar a usar Linux (ehehe).
Em alguns casos não existe pacote -dev mas existe o pacote -src, que produz os mesmos efeitos.

Outra coisa que já me deixou às aranhas foi quando o configure se queixa de qualquer coisa como "Não encontro um compilador c" e nós pensamos "Sim, e qual o pacote que tenho que instalar??". Pois, a resposta é a mais óbvia: qualquer compilador c. Uma pesquisa no Synaptic por "C compiler", neste exemplo, é suficiente para obtermos uma lista de candidatos à instalação. Depois é só ler a descrição sumária dos candidatos e, regra geral, não será difícil optar por um correcto (já agora, neste caso eu opto pelo g++).

Para utilizadores um pouco mais avançados, é bom dar uma vista de olhos ao resultado do configure mesmo quando aparentemente a coisa corre sem erros porque muitas vezes há dependências que não sendo essênciais, não estando satisfeitas não permitem a utilização de determinada opção do software que estamos a instalar. Por exemplo, neste momento estou a instalar GIMP 2.5 (nos repositórios só há o 2.4.5) e precisei de instalar o gegl-0.0.16. Corri ./configure e no final obtive:

Building GEGL with prefix=/usr/local

Optional features:
GEGL docs: yes
Build workshop: no
Build website: no (asciidoc not found)

Optional dependencies:
GTK+: yes
Ruby: no
Lua: no (usable lua not found)
Cairo: yes
Pango: yes
pangocairo: yes
GDKPixbuf: yes
JPEG: no (usable JPEG library not found)
PNG: yes
OpenEXR: no (usable OpenEXR not found)
rsvg: no (usable librsvg not found)
SDL: no (usable libsdl not found)
asciidoc: no (asciidoc not found)
enscript: no (enscript not found)
graphviz: no (graphviz not found)
avcodec: no (usable libavcodec not found)
avformat: no (usable libavformat not found)

(este é um dos exemplos mais favoráveis porque origina um relatório final)
O que acontece é que não deu erro, mas se continuar agora não vou poder trabalhar com JPEG no GIMP depois de instalado (reparem na mensagem usable JPEG library not found), o que diga-se de passagem não seria boa ideia num programa de tratamento de imagens. Portanto lá vou eu instalar libjpeg62-dev (uma pesquisa no Synaptic por JPEG resolveu o meu problema) e correr novamente o ./configure.

Bem, no final é só digitar make e sudo make install e, por vezes, ir tomar um café porque se o programa for grande (e o processador pequeno) estes processos podem ser mais ou menos longos...

Neste exemplo, estou só a meio da questão, porque acabei de instalar o gegl e agora tenho que instalar o gimp-2.5. Nunca ninguém disse que trabalhar com o código de fonte era fácil. Mas eu digo que não é impossível: por vezes demora tempo, mas é possível.

Existem muitas outras maneiras de instalar a partir da fonte, que normalmente estão descritas algures na directoria do programa a instalar, num ficherio README, INSTALL ou algo semelhante.

sexta-feira, abril 25, 2008

Ubuntu 8.04 - primeiras impressões



No dia seguinte ao download e instalação do Ubuntu 8.04 Hardy Heron, o que se pode dizer sobre o novo sistema operativo? Primeiro que tudo o look and feel está mais refinado que nunca. A equipa que trabalhou no “bem estar” do utilizador fornece nesta versão mais perfeição a nível de fontes, backgrounds, e usabiliade. O novo Ubuntu está efectivamente mais belo.

Agora vamos aquelas coisas mais chatas, tipo quais a versões que este Linux traz.

A começar pelo Kernel, um "uname -a" dá informação de que se trata do kernel 2.6.24. O Gnome é o 2.22.1 e em termos de aplicações instaladas temos o OpenOffice 2.4, o Firefox 5.0 beta 5 que funciona muito bem. Agora que temos isto despachado, vamos às impressões finais.

O 8.04 é até à data a melhor distribuição de linux no mercado, mas não tomem a minha palavra como certa. Verifiquem por vocês mesmo. Numa altura em que a Red Hat parece hesitante em relação ao futuro do Linux no Desktop, a SuSE anda a tentar perceber o caminho no seio do mundo Microsoft, há felizmente o mundo Debian e o mundo Slackware para salvar a honra do convento. A escolha aqui, para quem procurar um sistema mais user friendly é simples. Debian, na versão Ubuntu e este 8.04 está fabulosamente simples.

Nos próximos tempos vou escrever por aqui alguns artigos sobre algumas tarefas de configuração deste Ubuntu para ficar à minha medida, que pode ser também em parte a vossa. Para já vale a pena fazer o Download do 8.04 (experimentem o darkstar.ist.utl.pt para tráfego nacional) e comecem a brincar com o Ubuntu Hardy Heron.

quarta-feira, abril 23, 2008

Ubuntu 8.04 é Linux

O título é um pouco polémico mas eu assumo-o! Cada vez mais Ubuntu é sinónimo de linux para o utilizador comum.

Amanhã vai sair o Hardy Heron, o 8.04, o LTS (Long Term Support) ou mais simplesmente o Ubuntu. E quer se goste quer não, esta é a melhor versão do Ubuntu alguma vez lançada e de longe uma das melhores distribuições existentes no panorama linux.

Para quem nunca utilizou linux na vida está ainda mais simples experimentar sem dores, sem analgésicos, sem mexer no amado windows.

Falta 1 dia para o release e imediatamente aqui em casa vou fazer o upgrade em duas máquinas diferentes (um servidor e um desktop). Mas voltando ainda ao título polémico: Obviamente que para quem já anda nisto do linux, o Ubuntu não o linux (e já nem me meto na discussão GNU/linux), é só uma das imensas distribuições de linux existentes, mas a verdade é que sendo tão ubíqua é confundida por aqueles que não andam nestas andanças como sendo de facto "o" linux.

Esta confusão tem as suas vantagens. Eu explico: Imaginem que por alguma carga de água um noviço confundia linux com ... digamos Gentoo! O mundo linux assim não ia conseguir atrair ninguém... Assim esta confusão até que é benéfica para o próprio novato que confundindo linux com Ubuntu acaba por cair nas mãos de uma distro muito fácil e intuitiva de utilizar. Dou um exemplo. Um amigo meu, fez download e experimentou e gostou e só teve problemas com ... o VirtualBox que não lhe dava um ecrã com a resolução certa! Fora isso... o Ubuntu foi tudo o que ele esperava do linux.

É mau, sabendo, afirmar que o Ubuntu é o Linux, mas para um novato que ande ainda às apalpadelas entre o bash e cronjob não é desculpável fazer esta confusão? Por mim, quantos mais utilizarem ubuntu, linux, gentoo ou LFS (Linux from scratch) melhor... não me importa o nome que lhe dão... com o tempo aprendem. Afinal tudo na vida é aprendizagem. E agora vamos lá fazer download do Ubuntu 8.04

UPDATE: como foi óbvio houve aqui um erro de números: num ou dois sitios escrevi 8.10 em vez de 8.04... o 8.10 só vai ser lançado em Outubro..

terça-feira, abril 08, 2008

Como escolher uma distro linux?

O que leva as pessoas a escolher uma distribuição em vez de outra? Aliás, no mundo linux porque é que há tantas distribuições disponíveis?

Pelas contas do site distrowatch.com há presentemente 351 distribuições activas. E embora seja óbvio que estas 351 distribuições sejam muitas vezes derivadas de outras, mesmo assim são muitas distribuições. A pergunta que se coloca é naturalmente .... porquê?

A resposta vai depender da pessoa que a der muito naturalmente, mas passa pelo facto de efectivamente haver liberdade para o fazer. Poder experimentar e até por um pouco de vaidade. Afinal quem é que não gostaria de poder verdadeiramente dizer "a minha distribuição". Mas com tanta oferta para o recém-chegado ao mundo Linux, como escolher a distribuição que quer utilizar?

Primeiro que tudo convém pensar várias questões:

1. O computador é para quem? - A vontade do utilizador em se adaptar ao linux e a sua destreza informática são factores a considerar. Se for uma pessoa que vai apenas utilizar o computador ao nível de Desktop, uma distribuição como Ubuntu ou outra que seja baseada em Gnome pode facilitar a transição.

2. Que tipo de serviço é que se vai pedir ao computador? Vai ser um servidor ou um Desktop? Vai trabalhar num sistema em rede? Vai partilhar internet? Vai servir como firewall? Um computador equipado com linux pode ter muitas mais funções que as que um computador Windows normal tem. Claro que com qualquer distribuição que se escolher é sempre possível configurar tudo para as tarefar que pretendemos, contudo com tantas alternativas, provavelmente há distribuições optimizadas para determinadas tarefas. Dê uma vista de olhos ao site Distrowatch.com e escolha de acordo com a tarefa que vai fazer.

3. Quem vai dar o apoio técnico? E honestamente... quanto é que sabe de linux para ajudar? Esta pergunta é feita para que cada um pense para si mesmo o quanto sabe e o quanto está disponível para ajudar o utilizado a quem quer impingir um computador com Linux. É que se não tem paciência para ajudar, escolha uma distro estável, regularmente actualizada, com um bom sistema de gestão de pacotes e que seja fácil de manter, mesmo que isto implique que não vai poder escolher uma bledging edge para o computador.

Por fim, lembre-se sempre, a experiência do utilizado em frente ao computador é mais importante que a distro que lá está. Se a pessoa que for utilizar a máquina tiver mais chatices que benefícios vai fugir a sete pés de volta para o buraco onde estava.

Utilizar linux, para além de instrutivo é divertido, por isso não mace a vida das pessoas tentando impingir-lhe aquilo que gosta em vez de lhe dar aquilo que ela precisa.

quarta-feira, abril 02, 2008

Microdistribuições, Slitaz

slitaz-logo-whitebg-320x118.png
Ao ler a Distrowatch weekly desta semana não pude deixar de dar de caras com uma distribuição daquelas que me apaixonam... pequenina, pequenina, cabe em 25MB e é excelente para correr em máquinas bem antigas (com 16MB de Ram) que estão aí em casa a precisar de ser revitalizadas. Para além de que sou fanático por tudo o que meta aranhas...

Estou a falar da Slitaz, que para além do mais traz um servidor web (lightTPD) para quem precisar de fazer development.

O Slitaz com o seu pequeno tamanho e requisitos presta-se também a ser uma excelente distro para correr numa máquina virtual para quem precisar de fazer algumas experiências sem correr o risco de comprometer o host.

Para além do mais qualquer distro que tenha aranhas no logotipo é do meu agrado.