[PD-dev] [ pure-data-Bugs-3525064 ] win7 / x64 plugin path issue : underlying tcl bug
SourceForge.net
noreply at sourceforge.net
Wed May 9 12:25:28 CEST 2012
Bugs item #3525064, was opened at 2012-05-09 03:25
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3525064&group_id=55736
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: pd-extended
Group: v0.43
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Hans-Christoph Steiner (eighthave)
Summary: win7 / x64 plugin path issue : underlying tcl bug
Initial Comment:
PD 0.43.1 extended on Win7 x64.
By default, when PD starts I get the following error reported in the main window
(Tcl) UNHANDLED ERROR: couldn't read directory "C:/Users/sxa/Application Data/*-plugin": permission denied
while executing
"glob -directory $dir -nocomplain -types {f} -- *-plugin/*-plugin.tcl *-plugin.tcl"
(procedure "load_startup_plugins" line 7)
invoked from within
"load_startup_plugins"
(procedure "pdtk_pd_startup" line 20)
invoked from within
"pdtk_pd_startup 0 43 1 {extended-20120423} { {"standard (MMIO)" 3} {"ASIO (via portaudio)" 4} } {} {DejaVu Sans Mono} normal"
("uplevel" body line 53)
invoked from within
"uplevel #0 $cmds_from_pd"Using C:/Program Files (x86)/pd/startup as startup.
It seemed to me that PD shouldnt be looking for plugins in
C:/Users/sxa/Application Data/
it should be looking for them in
C:/Users/sxa/Application Data/Pd
Because Im on Win7
C:/Users/sxa/Application Data/Pd
maps to
C:\Users\sean\AppData\Roaming\Pd
but Ive made sure that exists, so that's not the issue.
The relevant section of code starts at line 674 of pd-gui.tcl
proc load_startup_plugins {} {
foreach pathdir [concat $::sys_searchpath $::sys_staticpath] {
set dir [file normalize $pathdir]
if { ! [file isdirectory $dir]} {continue}
foreach filename [glob -directory $dir -nocomplain -types {f} -- \
*-plugin/*-plugin.tcl *-plugin.tcl] {
set ::current_plugin_loadpath [file dirname $filename]
load_plugin_script $filename
}
}
}
Adding some debug info
proc load_startup_plugins {} {
foreach pathdir [concat $::sys_searchpath $::sys_staticpath] {
set dir [file normalize $pathdir]
if { ! [file isdirectory $dir]} {continue}
foreach filename [glob -directory $dir -nocomplain -types {f} -- \
*-plugin/*-plugin.tcl *-plugin.tcl] {
set ::current_plugin_loadpath [file dirname $filename]
load_plugin_script $filename
}
}
}
Printing debug information confirmed that
set dir [file normalize $pathdir]
is stripping the lowest subdirectory [PD] off the path.
This appears to be triggered by a tcl bug in normalize which occurs with paths/permissions under win x64;
http://sourceforge.net/tracker/index.php?func=detail&aid=3463315&group_id=10894&atid=110894
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3525064&group_id=55736
More information about the Pd-dev
mailing list