Dear Support,
I have a problem with "file readable" on winxp 32bit
as vmware guest on an openSuse host.
I using "Shared Folders" on windows to access
a directory from linux.
but tcl on winxp has a problem with acessing
files on the shared folder:
detail:
1. file readable returns 0 -> not readable
2. but in tcl I can open and read this file -> readable
3. the problem is that the tcl pkgLoader stops working
from tclPkgUnknown in tcl8.4 package.tcl
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
501 catch {
502 foreach file [glob -directory $dir -join -nocomplain \
503 * pkgIndex.tcl] {
504 set dir [file dirname $file]
505 if {![info exists procdDirs($dir)] && [file readable $file]} {
506 if {[catch {source $file} msg]} {
507 tclLog "error reading package index file $file: $msg"
508 } else {
509 set procdDirs($dir) 1
510 }
511 }
512 }
513 }
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
the "file readable" will return 0 and the pkgLoader will not
load the pkgIndex.tcl file
=> this is a bug
from the code down you get the info that from inside tcl
"files readable" returns 0 but I can open and read the file
test script
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><
parray tcl_platform
foreach f {"//.host/Shared
Folders/FbgBase/src/TestFreiburg/lib/TestFbg/pkgIndex.tcl"} {
puts "++ $f"
if {![file exists $f]} {
puts " -> file does not exists !!"
continue
}
unset -nocomplain stat
unset -nocomplain attribute
file stat $f stat
array set attribute [file attributes $f]
puts exists:[file exists $f]
puts readable:[file readable $f]
parray stat
parray attribute
set FH [open $f r]
while {![eof $FH]} {
puts "pkgIndex.tcl: [gets $FH]"
}
close $FH
}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
results
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
tcl_platform(byteOrder) = littleEndian
tcl_platform(machine) = intel
tcl_platform(os) = Windows NT
tcl_platform(osVersion) = 5.1
tcl_platform(platform) = windows
tcl_platform(user) = SYSTEM
tcl_platform(wordSize) = 4
++ //.host/Shared Folders/FbgBase/src/TestFreiburg/lib/TestFbg/pkgIndex.tcl
exists:1
readable:0
stat(atime) = 1171619183
stat(ctime) = 1171619183
stat(dev) = -1
stat(gid) = 0
stat(ino) = 0
stat(mode) = 33188
stat(mtime) = 1171545538
stat(nlink) = 1
stat(size) = 369
stat(type) = file
stat(uid) = 0
attribute(-archive) = 0
attribute(-hidden) = 0
attribute(-longname) = //.host/Shared
Folders/FbgBase/src/TestFreiburg/lib/TestFbg/pkgIndex.tcl
attribute(-readonly) = 0
attribute(-shortname) = //.host/Shared
Folders/FbgBase/src/TestFreiburg/lib/TestFbg/pkgIndex.tcl
attribute(-system) = 0
pkgIndex.tcl: ##
pkgIndex.tcl: ## testFreiburg - src/TestFreiburg/lib/pkgIndex.tcl
pkgIndex.tcl: ##
pkgIndex.tcl: ## (C) 2004 - Freiburg - Project - Group
pkgIndex.tcl: ## ------------------------------------------------------
pkgIndex.tcl: ## EMail: freiburg AT compiler-factory DOT de
pkgIndex.tcl: ## ------------------------------------------------------
pkgIndex.tcl: ## all rights reserved
pkgIndex.tcl: ##
pkgIndex.tcl:
pkgIndex.tcl: package ifneeded TestFbg 2.0 [list source [file join $dir
TestFbg.tcl]]
pkgIndex.tcl:
pkgIndex.tcl:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
mfg
Andreas Otto
Logged In: YES
user_id=1245417
Originator: NO
Similar issue seems to be #1613456 (with a Samba share).
Francois
Logged In: YES
user_id=37987
Originator: NO
I see the same problems and found that it works correctly upto Tcl 8.4.12 and is broken from 8.4.13 onward.
Since this command is used inside [package unknown] this bug breaks loading of packages from vmware shared folders.
Logged In: YES
user_id=32170
Originator: NO
Apologies, but I know nothing about vmware.
Logged In: YES
user_id=80530
Originator: NO
Is this bug present in Tcl 8.5.2 ?
Logged In: YES
user_id=37987
Originator: NO
The bug is still present in Tcl 8.5.2 (tested using tclkit852.exe):
(tclkit) 1 % cd Z:/hv/library
(library) 2 % lappend auto_path [pwd]
Z:/tclkit/tclkit852.exe/lib/tcl8.5 Z:/tclkit/tclkit852.exe/lib Z:/tclkit/tclkit852.exe/lib/tk8.5 Z:/tclkit/tclkit852.exe/lib/tk8.5/ttk Z:/hv/library
(library) 3 % package require pdf4tcl
can't find package pdf4tcl
(library) 4 % cd pdf4tcl
(pdf4tcl) 5 % file readable pkgIndex.tcl
0
(pdf4tcl) 6 % set f [open pkgIndex.tcl]
filef7e500
(pdf4tcl) 7 % string length [read $f]
706
(pdf4tcl) 8 % close $f
(pdf4tcl) 9 % info pa
8.5.2
Logged In: YES
user_id=80530
Originator: NO
Possibly relevant article.
http://www.waltervos.com/news/shared-personal-folders-vista-ubuntu-permissions/
The branch 'fix-win-native-access' includes a patch that
may fix the bug reported here.
http://core.tcl.tk/tcl/info/0aabf0529e
I'm not equipped to test the effectiveness of the
patch, or whether it introduces any new test
failures or other problems. I'd be grateful if folks
who can and who are intersted in this bug and related
bugs could do so, and report back whether the patch
is suitable for merging into the release branches.
Patch from fix-win-native-access branch
committed for 8.4.20, 8.5.12, and 8.6b3.
Continued testing strongly encouraged.
In particular, the #define UNICODE variant
of the trunk is likely to have some lingering
problems.