Erro ao usar arquivos auxiliares do EP3

Erro ao usar arquivos auxiliares do EP3

por Daniel Cukier -
Número de respostas: 21

Estou tentando usar os arquivos auxiliares de exemplo do ep3 no pd.

Quando crio um objeto do tipo, recebo o seguinte erro:

error: Ïúíþ: no such object
error: CXトÄ: no such object 
fileosc~
... couldn't create
error: Ïúíþ: no such object
error: IcÄHヘツタ: no such object 
fprintf~
... couldn't create

Compilei usando a opção darwin. Meu SO é Snow Leopard

Agradeço toda ajuda

Daniel

Em resposta à Daniel Cukier

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Daniel,

estas mensagens são do terminal do Pd, né? Você pode publicar o resultado do comando make pd_darwin?

Estes caracteres estranhos parecem coisas de codificação (UTF-8, ISO-8859-1), mas nenhum dos arquivos de exemplo usa essas coisas!

Marcelo

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por Daniel Cukier -
$ make pd_darwin
cc -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o fprintf~.o -c fprintf~.c
cc -bundle -undefined suppress -flat_namespace -o fprintf~.pd_darwin fprintf~.o 
rm -f fprintf~.o
cc -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o fileosc~.o -c fileosc~.c
cc -bundle -undefined suppress -flat_namespace -o fileosc~.pd_darwin fileosc~.o 
rm -f fileosc~.o

Eu criei um link simbólico dos arquivos .pd_darwin para os arquivos .pd

achei mais uma coisa no console do Pd:

/Users/danicuki/Documents/Dropbox/USP/doutorado/disciplinas/compus/ep3-arquivos/fileosc~.pd_darwin: dlopen(/Users/danicuki/Documents/Dropbox/USP/doutorado/disciplinas/compus/ep3-arquivos/fileosc~.pd_darwin, 10): no suitable image found.  Did find: /Users/danicuki/Documents/Dropbox/USP/doutorado/disciplinas/compus/ep3-arquivos/fileosc~.pd_darwin: mach-o, but wrong architecture

Em resposta à Daniel Cukier

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Oi, Daniel!

Eu já vi esse erro "mach-o, but wrong architecture" antes... mas não lembro exatamente o que era. É possível que seu ambiente de desenvolvimento seja 64 bits e o Pd rode em modo de compatibilidade de 32 bits? Se sim, então o .pd_darwin estaria sendo gerado para 64 bits... ou ainda, você estaria compilando o .pd_darwin numa versão do MacOS e rodando o Pd em outra?

Marcelo

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por Daniel Cukier -

Exatamente!

O meu SO é 64 bits e a compilação estava sendo feita para 64 bits, porém o meu pd está em 32 bits.

Adicionei a opção para compilar em 32 bits e funcionou. Ficou assim o makefile:

DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
    -Wno-unused -Wno-parentheses -Wno-switch -m32

.c.pd_darwin:
	cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
	cc -m32 -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o 
	rm -f $*.o

Em resposta à Daniel Cukier

Re: Erro ao usar arquivos auxiliares do EP3

por Andre Jucovsky Bianchi -

Aproveito pra documentar aqui que no meu Debian 6.0 eu tive que fazer duas alterações no makefile para poder compilar o fprintf~. Elas foram:

  1. Adicionar a flag -fPIC à variável LINUXCFLAGS (linhas 54-56).
  2. Alterar a opção -export_dynamic para -export-dynamic (com hífen ao invés de underscore) na linha do ld (linhas 62-63).
Em resposta à Andre Jucovsky Bianchi

Re: Erro ao usar arquivos auxiliares do EP3

por Allan Felipe Pereira de Brito -

Olá, estou no Debian 6.0 e fiz as 2 alteracões que o André mencionou.

Com make pd_linux me parece que roda tudo certo sem mensagens de erro, dando origem aos 2 arquivos fileosc~.pd_linux e fprintf~.pd_linux.

Também adicionei o ponto no File/Path para indicar o diretório atual.

O fileosc~-help.pd apresenta no terminal do PD:

inicializando classe fileosc~...
inicializando objeto fileosc~...
computando tabela do SENO...
output~
... couldn't create
error: signal outlet connect to nonsignal inlet (ignored)
... you might be able to track this down from the Find menu.
error: signal outlet connect to nonsignal inlet (ignored)

O output~ fica indisponível (tracejado) e o open não consegue abrir o arquivo. 

O fprintf~-help.pd não apresenta nenhum erro quando abre, mas em compensação não gera um arquivo com o open teste.txt.

Será que estou fazendo alguma simples besteira que está bagunçando as coisas?

Em resposta à Allan Felipe Pereira de Brito

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Olá, Allan!

Este objeto output~ deve ser do Pd-extended, e talvez você esteja usando o Pd vanilla ou outra distribuição "menos completa". Vale a pena instalar as bibliotecas extra, mas existem duas soluções simples para o seu problema:

1) troque output~ por dac~. Vai funcionar, mas você vai perder os controles de volume e liga/desliga do DSP.

2) copie os arquivos em anexo no seu diretório, ou no /usr/lib/pd/extra (acrescente-o ao Path no menu do Pd).

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por Allan Felipe Pereira de Brito -

Obrigado, agora realmente o output~ existe. Porém os dois patches continuam não conseguindo abrir o arquivo txt e gravar no txt, respectivamente. Vou instalar a versão extended, o que parece não ser trivial, já que tenho o sistema amd64 e só constam pacotes i386 para download.

Em resposta à Allan Felipe Pereira de Brito

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Allan, avise pra gente se o problema desapareceu no Pd extended. É possível que isso não tenha nada a ver com o sistema 64 bits, mas que simplesmente o Pd não esteja encontrando mais algum objeto. Quando você carrega os patches, ou quando você tenta abrir os txt, não aparece nenhuma outra mensagem no console do Pd?

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por Allan Felipe Pereira de Brito -

Estou ainda no processo de tentativa da instalação. O .deb do Ubuntu de amd64 não está rodando. (Consigo ter o extended no windows, haveria alguma instrução para a compilação nele, caso não dê certo no linux?) . Aqui no Debian sempre rodei o vanilla normalmente.

No caso do fprintf~-help.pd não há mensagem alguma, Para o fileosc~-help.pd há :

inicializando classe fileosc~...
inicializando objeto fileosc~...
computando tabela do SENO...

Mas a tentativa de abrir o arquivo resulta em "nao consegui abrir o arquivo"

Em resposta à Allan Felipe Pereira de Brito

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Talvez seja um tiro no escuro, mas será que compilar os externals no modo de compatibilidade de 32 bits não resolveria o problema? Foi o que resolveu o problema do Daniel no Mac, e talvez não custe tentar. É só acrescentar a opção -m32  em LINUXCFLAGS e também na linha do ld.

Em resposta à Allan Felipe Pereira de Brito

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Sobre a compilação no Windows, aquele makefile inclui uma seção que corresponde ao "make pd_nt", mas provavelmente terá que ser adaptada para o seu compilador (se ele não for o Visual Studio). Talvez alguém mais tenha alguma dica para dar no Windows?

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por Allan Felipe Pereira de Brito -

A compilação com o -m32 dá erros :

cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -fPIC -m32 -I../../src -o fprintf~.o -c fprintf~.c
In file included from /usr/include/features.h:378,
from /usr/include/stdio.h:28,
from fprintf~.c:6:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [fprintf~.pd_linux] Error 1


E no exemplo compilado está aparecendo :

/pvanalyzer~.pd_linux: wrong ELF class: ELFCLASS32
pvanalyzer~
... couldn't create

E para o outro arquivo também :

/pvsynth~.pd_linux: wrong ELF class: ELFCLASS32
pvsynth~
... couldn't create
mux~
... couldn't create
error: signal outlet connect to nonsignal inlet (ignored)
... you might be able to track this down from the Find menu.
tried but couldn't sync A/D/A

-------------------------------------------------------------

Já no Windows com os arquivos compilados (para o analyzer) recebebo o seguinte erro :

comecando analise...
Nao encontrei o identificador data
Nao encontrei o identificador data
Nao encontrei o identificador data
Incompatibilidade entre o tamanho do bloco RIFF e o tamanho
do bloco de amostras (a diferenca deve ser 36)!
analise concluida!

A menos disso parece que o resto dá certo, ele gera o .pv (só com a primeira linha referente aos dados) e o outro arquivo .pd ao menos não exibe erros quando vai abrí-lo.

Acho que terei que descobrir como compilar no windows mesmo e caso tudo continue dando errado, como última solução resta compilar no ime.

 

Em resposta à Allan Felipe Pereira de Brito

Re: Erro ao usar arquivos auxiliares do EP3

por Andre Jucovsky Bianchi -

Allan, sobre a compilação com -m32 no linux, a mensagem de erro que você obteve diz que não consegue encontrar o arquivo gnu/stubs-32.h. Este arquivo vem com o pacote libc6-dev-i386 do repositório do Debian para arquitetura amd64.

Tente compilar de novo após a instalação deste pacote.

Em resposta à Andre Jucovsky Bianchi

Re: Erro ao usar arquivos auxiliares do EP3

por Allan Felipe Pereira de Brito -

Consegui fazer funcionar !!!!! A solução foi algo muito simples e que deve ter uma explicação muito boba, não me batam (sou um linux amateur). Não funciona quando eu abro com os ícones que estão no desktop, mas funciona quando eu abro pelo terminal ! (Os exemplos compilados ainda dão aquele erro, mas agora o principal, a compilação, funciona) 

Em resposta à Daniel Cukier

Re: Erro ao usar arquivos auxiliares do EP3

por André Casimiro -

Estou no Ubuntu 11.04, no pd-extended (baixado em http://download.puredata.info/pd-extended)  tentando fazer algumas coisas funcionarem. Já fiz as modificações do -fPIC e -export-dynamic sugeridas pelo André.

A pior, e mais triste, é que não consigo ouvir nenhum som do meu Pd... mas tudo bem, o Pd da minha dupla funciona... :-P

A segunda é que não consigo fazer meu fprintf~ funcionar. Semelhantemente a um problema que o Allan teve por aí acima, no fileosc~-help.pd, ao clicar em open recebo a seguinte saída no terminal:

inicializando classe fileosc~...
inicializando objeto fileosc~...
computando tabela do SENO...
nao consegui abrir o arquivo

No arquivo fprintf~-help.pd, não obtenho nenhuma saída de erro no terminal do pd. Mas nenhum arquivo é criado ou escrito (quando eu mesmo criei o arquivo).

Ajuda, pleaaaase!!

Em resposta à André Casimiro

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

André, um assunto de cada vez:

1) Sobre o som no Pd, você precisa selecionar no menu Media a interface de audio que você tem (provavelmente ALSA). Deve aparecer uma janelinha com os parâmetros de configuração, dê OK. Se aparecer "tried but couldn't sync A/D/A" no terminal do Pd tudo bem, provavelmente você está no caminho certo. No mesmo menu tem a opção "Test Audio and Midi", que é um patch com alguns seletores para gerar e capturar som. Clique no primeiro quadradinho que aparece abaixo do texto (Test Tones, 80). Se não funcionar, provavelmente é porque algum outro dispositivo está monopolizando a placa de som. Eu costumo ter problemas com o Firefox, mais especificamente com os plugins media-player do Firefox. Veja se por acaso no terminal onde você abriu o Pd aparece uma mensagem "snd_pcm_open (output): Device or resource busy", isso indicará que algum outro software bloqueou o uso da placa de som (se você não chamou o Pd de um xterm, faça isso pra observar o log do Pd). Se está aparecendo esta última mensagem de erro, a solução mais rápida e fechar o programa que está usando a placa (a solução mais limpa, porém mais trabalhosa, é usar o Jack, que é um gerenciador de aplicativos de áudio que permite que vários programas acessem a placa de som simultaneamente).

2) Sobre o help do fileosc~, você lembrou-se de copiar o arquivo fileosc~-entrada.txt para o mesmo diretório? Se sim, estranho... você pode mexer no código-fonte fileosc~.c e mandar ele imprimir mais coisa, por exemplo, substituindo a linha

post("nao consegui abrir o arquivo");

por

post("nao consegui abrir o arquivo %s",n->s_name);

Isso vai te permitir checar se ele está procurando o arquivo no diretório certo.

Continuamos tentando...

Em resposta à Marcelo Queiroz

Re: Erro ao usar arquivos auxiliares do EP3

por André Casimiro -

Olá, professor.

1) Eu consigo ouvir som no Pd instalado pelos repositórios do Ubuntu (Pd version 0.42-6) mas não pelo Pd-extended. No Pd-extended:
Não vejo o erro "tried but couldn't sync A/D/A". Abrindo pelo terminal, tenho a seguinte saída (mesmo depois de tentar rodar o "Test Audio and MIDI"):

andre@kairos:~$ pasuspender -- /usr/bin/pdextended -alsa %Ftk scaling is 1.33488765774<init> : Avifile RELEASE-0.7.48-100119-21:44-../src/configure<init> : Available CPU flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_<init> : 2000.00 MHz Intel(R) Core(TM)2 Duo CPU     T6400  @ 2.00GHz processor detected

 

2) Fiz a modificação sugerida, recompilei e o erro mudou para:

nao consegui abrir o arquivo fileosc~-entrada.txt

acho que ta na pasta certa... e eu já adicionei a pasta ao path.

 

xx-P

Em resposta à André Casimiro

Re: Erro ao usar arquivos auxiliares do EP3

por André Casimiro -

2) Resolvido. Tinha que abrir o pdextended pelo terminal estando na pasta onde estão os arquivos. (Pd TROLL!!!)

[]s

Em resposta à André Casimiro

Re: Erro ao usar arquivos auxiliares do EP3

por Marcelo Queiroz -

Jóia. Quanto ao (1), parece que a sua instalação do PulseAudio está brigando com o Pd. Deveria dar pra usar o ALSA, mas uma outra tentativa é tentar direcionar o som por OSS (pd -oss e selecionar OSS no menu Media do Pd).