Conflito com bibliotecas essenciais / compilação do Ofelia

Conflito com bibliotecas essenciais / compilação do Ofelia

por Felipe Oliveira da Silva Netto -
Número de respostas: 1

Eu instalei o Pd 0.49 e o ofelia no meu debian 9, instalei as versões que o ofelia exigia de alguns pacotes (baixando diretamente o pacote debian), etc., mas não foi o bastante. O ofelia exigia uma versão da libm (a biblioteca padrão de matemática da linguagem C, essencial do sistema) diferente da que eu tinha. Eu até tentei instalar pelo pacote debian, mas o apt me avisou que eu teria que desinstalar centenas de outros pacotes e que isso poderia tornar o sistema instável (e exigiu que eu digitasse uma frase inteira pra prosseguir).

A solução, portanto, foi compilar o ofelia. Eu segui as instruções do próprio criador do ofelia em resposta a alguém que teve o mesmo problema numa versão anterior do ofelia, num fórum do Pd. Basicamente, consiste em roubar o ofelia.pd_linux do ofxOfelia. E funcionou pra mim. Por isso vou deixar as instruções aqui, pra quem mais estiver com o mesmo problema e pra que se possa debater, encontrar uma solução mais simples, ressalvas etc.

0) Preliminares: Instalação do Pd 0.49.0 e do Ofelia 3.0.0

0.1) Siga as instruções que o monitor deixou em outro tópico para instalar o Pd 0.49.0.

0.2) Instale o Ofelia 3.0.0 pelo Pd (conforme instruído em outro tópico)

0.3) Instale as dependências executando o script ofelia/scripts/<seu_SO>/install_dependencies.sh com sudo.

0.4) [Opcional] Instale os codecs executando o script ofelia/scripts/<seu_SO>/install_codecs.sh com sudo. Alguns codecs são proprietários.

1) Compilação do openFrameworks

1.1) Vá para https://openframeworks.cc/download/ e baixe o arquivo de acordo com seu SO e sua versão do gcc (provavelmente 6). Para saber a versão do gcc que vc tem instalada, execute

gcc --version

1.2) Descompacte a pasta, dê um cd para <pasta_do_OF>/scripts/linux/<seu_SO> e execute

sudo ./install_dependencies.sh

1.3) [Opcional] Instale os codecs via

sudo ./install_codecs.sh

Alguns codecs são proprietários.

1.4) Suba ao diretório pai e execute

./compileOF.sh -jN

onde N é o número de núcleos do seu processador que vc quer que o script utilize. A opção -j é opcional, mas eu recomendo que vc utilize todos os núcleos, pq a compilação é beeeem demorada.

2) Compilação do ofxOfelia

2.1) Baixe o ofxOfelia 3.0.0 aqui: https://github.com/cuinjune/ofxOfelia/archive/v3.0.0.tar.gz

2.2) Descompacte a pasta, renomeie-a para ofxOfelia e mova-a para <pasta_do_OF>/addons

2.3) dê um cd para <pasta_do_OF>/addons/ofxOfelia/scripts/Linux64 e execute

sudo ./updateOF.sh

2.4)

cd ../../LinuxExternal
make

2.5) Copie o arquivo ofelia.pd_linux presente em addons/ofxOfelia/LinuxExternal/bin e cole-o na pasta do ofelia, substituindo o arquivo antigo. Agora é só reiniciar o Pd!

E não esqueça: na janela do Pd, é preciso marcar a caixa "DSP", ou o som não vai sair! Good coding!

Em resposta à Felipe Oliveira da Silva Netto

Re: Conflito com bibliotecas essenciais / compilação do Ofelia

por Marcelo Queiroz -

Oi, Felipe!

Você tentou a mesma receita com a versão atual (3.0.1) do ofelia no github (https://github.com/cuinjune/ofxOfelia)? Deu algum problema?

Minha experiência com essas compilações é que o open frameworks é enjoadinho, mas depois que ele está compilado, fica bem fácil atualizar o ofelia: passei da versão 2.3.1 para a 3.0.0 e depois para a 3.0.1 super fácil, apenas com "make" e copiar os arquivos ofelia.pd_linux e libfmodex.so do ofxOfelia para o Pd.

Aproveito para dizer que nosso laboratório no CEC já está com a versão 3.0.1 em todas as máquinas.

Marcelo