[PD] pdlua

patrice colet via Pd-list pd-list at lists.iem.at
Mon Jul 7 16:34:15 CEST 2014


here is the output of pd console with pdlua.c debug enabled:

pdlua pdlua_proxyinlet_setup done
pdlua pdlua_proxyreceive_setup done
pdlua pdlua_proxyclock_setup done
pdlua lua_open done L = 0x8d3be0
pdlua luaL_openlibs done
pdlua_init: end. stack top is 0
pdlua pdlua_init done
pd_lua_path ./pd.lua
pd.lua loaded from ./pd.lua
pdlua canvas_open done fd = 8
pdlua_setup: stack top 0
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 998
pdlua_reader: fd is 8
pdlua_reader: s is 111
pdlua_reader: fd is 8
pdlua_reader: s is 0
pdlua lua_load returned 0
pdlua_class_new: L is 0x8d3be0, name is pdlua stack top is 1
pdlua_class_new: end stack top is 2
pdlua_class_new: L is 0x8d3be0, name is pdluax stack top is 1
pdlua_class_new: end stack top is 2
pdlua lua_pcall returned 0
pdlua_setup: end. stack top 0
pdlua_loader: stack top 0
pdlua_setrequirepath: stack top 0
pdlua_setrequirepath: end. stack top 0
pdlua_reader: fd is 8
pdlua_reader: s is 221
pdlua_reader: fd is 8
pdlua_reader: s is 0
pdlua_post: stack top is 1
Hello, universe!
pdlua_post: end. stack top is 1
pdlua_class_new: L is 0x8d3be0, name is hello stack top is 1
pdlua_class_new: end stack top is 2
pdlua_clearrequirepath: stack top 0
pdlua_clearrequirepath: end. stack top 0
pdlua_loader: end. stack top 0
pdlua_new: s->s_name is hello
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is /media/sdext/src/pdlua/src
pdlua_object_new: success end. stack top is 2
pdlua_post: stack top is 1
Hello, world!
pdlua_post: end. stack top is 1
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8dc5a8 stack top 0
pdlua_new: s->s_name is hello
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is /media/sdext/src/pdlua/src
pdlua_object_new: success end. stack top is 2
pdlua_post: stack top is 1
Hello, world!
pdlua_post: end. stack top is 1
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8dc830 stack top 0
pdlua_new: s->s_name is hello
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is /media/sdext/src/pdlua/src
pdlua_object_new: success end. stack top is 2
pdlua_post: stack top is 1
Hello, world!
pdlua_post: end. stack top is 1
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8e1600 stack top 0
pdlua_new: s->s_name is hello
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is /media/sdext/src/pdlua/src
pdlua_object_new: success end. stack top is 2
pdlua_post: stack top is 1
Hello, world!
pdlua_post: end. stack top is 1
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8dc890 stack top 0
pdlua_new: s->s_name is pdlua
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is .
pdlua_object_new: success end. stack top is 2
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8e1960 stack top 0
pdlua_new: s->s_name is pdluax
argv[0]: hello
pdlua_new: start with stack top 0
pdlua_pushatomtable: stack top 3
pdlua_pushatomtable: end. stack top 4
pdlua_new: before lua_pcall(L, 2, 1, 0) stack top 4
pdlua_object_new: stack top is 1
pdlua_object_new: path is .
pdlua_object_new: success end. stack top is 2
pdlua_dofile: stack top 2
pdlua_dofile path is /media/sdext/src/pdlua/src
pdlua_setrequirepath: stack top 2
pdlua_setrequirepath: end. stack top 2
pdlua_reader: fd is 8
pdlua_reader: s is 79
pdlua_reader: fd is 8
pdlua_reader: s is 0
pdlua_clearrequirepath: stack top 3
pdlua_clearrequirepath: end. stack top 3
pdlua_dofile end. stack top is 4
pdlua_post: stack top is 1
Hello, world!
pdlua_post: end. stack top is 1
pdlua_object_createinlets: stack top is 2
pdlua_object_createinlets: end. stack top is 2
pdlua_object_createoutlets: stack top is 2
pdlua_object_createoutlets: end stack top is 2
pdlua_new: done lua_pcall(L, 2, 1, 0) stack top 2
pdlua_new: before returning object 0x8e17b8 stack top 0

Le 07/07/2014 16:25, Martin Peach a écrit :
> Could you uncomment the line 84 of pdlua.c
>  #define PDLUA_DEBUG
> and recompile? That might clarify what is wrong at setrequirepath.
>
> Martin
>
> On 2014-07-07 10:01, patrice colet wrote:
>> $ pd -d 5
>> set pd_whichmidiapi 0
>> pdtk_watchdog
>> set ::tmp_path {}
>> lappend ::tmp_path {/home/ubuntu/pdlua}
>> set ::sys_searchpath $::tmp_path
>> set ::tmp_path {}
>> lappend ::tmp_path {/home/ubuntu/pd-externals}
>> lappend ::tmp_path {/usr/local/lib/pd-externals}
>> lappend ::tmp_path {/usr/local/lib/pd/extra}
>> set ::sys_staticpath $::tmp_path
>> set ::startup_flags {}
>> set ::startup_libraries {}
>> lappend ::startup_libraries {pdlua}
>> pdtk_pd_startup 0 45 0 {} { {OSS 2} {ALSA 1} {portaudio 4} } { {OSS-MIDI
>> 0} {ALSA-MIDI 1} } {DejaVu Sans Mono} bold
>> set pd_whichapi 1
>> set pd_whichmidiapi 0
>> ::pdwindow::logpost {} 3 {pdlua 0.7.2 (GPL) 2014 Martin Peach, based on
>> }
>> ::pdwindow::logpost {} 3 {lua 0.6~svn (GPL) 2008 Claude Heiland-Allen
>> <claudiusmaximus at goto10.org>
>> }
>> ::pdwindow::logpost {} 3 {pdlua: compiled for pd-0.45 on Jul  7 2014
>> 11:16:47
>> }
>> ::pdwindow::logpost {} 3 {Using lua version 5.2
>> }
>>
>> When I open hello-help.pd this is printed hundreds of times:
>>
>> ::pdwindow::logpost {} 1 {lua: internal error in `pd._setrequirepath':
>> attempt to call a nil value
>> }
>> ::pdwindow::logpost {} 1 {lua: internal error in `pd._clearrequirepath':
>> attempt to call a nil value
>> }
>>
>> and then:
>>
>> ::pdwindow::logpost {} 1 {maximum object loading depth 1000 reached
>> }
>> ::pdwindow::post {}
>> ::pdwindow::post { }
>> ::pdwindow::post {hello}
>> ::pdwindow::post {
>> }
>> ::pdwindow::logpost {} 1 {... couldn't create
>> }
>> ::pdwindow::post {pdlua: already loaded
>> }
>>
>>
>> Le 07/07/2014 15:52, Martin Peach a écrit :
>>> On 2014-07-07 07:45, patrice colet wrote:
>>>>
>>>> Le 06/07/2014 16:09, Martin Peach a écrit :
>>>> it compiles only if put -llua5.2 and -I/usr/include/lua5.2
>>>> -I/usr/local/inlude/pd in lua flags from linux section,
>>>> here is the compiling process:
>>>>
>>>> /pdlua/src$ make
>>>> compiling pdlua version 0.6
>>>> cflags are -fPIC -threepic
>>>> optcflags are -O6 -funroll-loops -fomit-frame-pointer
>>>> luacflags are -DVERSION='0.6' -I/usr/include/lua5.2
>>>> -I/usr/local/include/pd
>>>> ldflags are  -Wl,--export-dynamic  -shared -fPIC
>>>> libs are -llua5.2   -lc
>>>> cc -fPIC -threepic -O6 -funroll-loops -fomit-frame-pointer
>>>> -DVERSION='"0.6"' -I/usr/include/lua5.2 -I/usr/local/include/pd -o
>>>> "pdlua.o" -c "pdlua.c"
>>>> pdlua.c: In function ‘pdlua_setup’:
>>>> pdlua.c:1773:5: warning: format not a string literal and no format
>>>> arguments [-Wformat-security]
>>>> pdlua.c:1774:5: warning: format not a string literal and no format
>>>> arguments [-Wformat-security]
>>>> pdlua.c:1775:5: warning: format not a string literal and no format
>>>> arguments [-Wformat-security]
>>>> pdlua.c:1776:5: warning: format not a string literal and no format
>>>> arguments [-Wformat-security]
>>>> linking pdlua with -llua5.2   -lc
>>>> cc  -Wl,--export-dynamic  -shared -fPIC -o "pdlua.pd_linux" "pdlua.o"
>>>> -llua5.2   -lc
>>>> chmod a-x "pdlua.pd_linux"
>>>>
>>>
>>> So it compiled. What do you get when it loads? It should print the
>>> version, but you may need to set the debug level in the console.
>>>
>>> Martin
>>>
>>>
>>
>>
>>
>




More information about the Pd-list mailing list