Now I get the warning on each program start:
error reading package index file
/local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl:
couldn't read file
"/local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/activestate_activetcl_demos8.4/pkgIndex.tcl":
no such file or directory
Any ideas how to supress this message?
--
Gerhard Reithofer
Tech-EDV Support Forum - http://support.tech-edv.co.at
I had the exact same problem, and I found no solution for it.
So, I manually edited
/local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl,
one line before the end, and I manually erased the line that refers to
the demos.
From what I understand, this is due to the demos not having a
pkgIndex.tcl file, but I don't know how to generate one easily.
I tried "teacup regenerate| before this, but "teacup verify" returned 1
error even after this.
George
> O/H Gerhard Reithofer έγραψε:
> > Hi TCL'ers,
> > I've fresh installed Activstate TCL 8.5.7 and made a teacup update
> > afterwards.
> >
> > Now I get the warning on each program start:
> >
> > error reading package index file
> > /local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl:
> > couldn't read file
> > "/local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/activestate_activetcl_demos8.4/pkgIndex.tcl":
> > no such file or directory
> >
> > Any ideas how to supress this message?
> >
>
> I had the exact same problem, and I found no solution for it.
> So, I manually edited
> /local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl,
> one line before the end, and I manually erased the line that refers to the
> demos.
thank's, that works also for me.
> From what I understand, this is due to the demos not having a pkgIndex.tcl
> file, but I don't know how to generate one easily.
As you wrote this, I restored the edited file above and tried:
cd /opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/activestate_activetcl_demos8.4/
tclsh
% pkg_mkIndex . *
This creates an "empty" pkgIndex.tcl file, because there's nothing in
current directory to "load".
That's another solution.
> I tried "teacup regenerate| before this, but "teacup verify" returned 1 error
> even after this.
This seems to be repaired.
winpc:~# /opt/ActiveTcl-8.5/bin/teacup verify
Checking /opt/ActiveTcl-8.5/lib/teapot ...
Ok. 0 problems found
I'm really happy, that Activestate is working on including the demos
again.
/opt/ActiveTcl-8.5/bin/teacup list demos
entity name version platform
------- ----------------------------- ------- ---------------------
package activestate::activetcl::demos 8.4 aix-powerpc
package activestate::activetcl::demos 8.4 hpux-parisc
package activestate::activetcl::demos 8.4 linux-glibc2.3-ix86
package activestate::activetcl::demos 8.4 linux-glibc2.3-x86_64
package activestate::activetcl::demos 8.4 macosx-universal
package activestate::activetcl::demos 8.4 solaris2.8-sparc
package activestate::activetcl::demos 8.4 solaris2.10-ix86
package activestate::activetcl::demos 8.4 win32-ix86
------- ----------------------------- ------- ---------------------
8 entities found
It is a better solution, as "teacup regenerate" will undo the edit to
/local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl,
and the problem (complain actually) will return. I will apply it also in
my repository...
(I thought I was the only one to have this error, since I have installed
both ActiveTcl 8.5 & 8.6 in the same directory :-) )
George
>
> It is a better solution, as "teacup regenerate" will undo the edit to
> /local/home/slash_opt/ActiveTcl-8.5/lib/teapot/package/linux-glibc2.3-x86_64/lib/pkgIndex.tcl,
> and the problem (complain actually) will return. I will apply it also in
> my repository...
>
> (I thought I was the only one to have this error, since I have installed
> both ActiveTcl 8.5 & 8.6 in the same directory :-) )
>
> George
Yes, we repaired this. The newest demos in the teapot have a fake
(empty) pkgIndex.tcl, satisfying the generated package index.
A forced reinstall should fix the issue for anybody seeing this.
Andreas
Doesn't appear to when I try (on OSX):
bash$ tclsh8.5
% package require foobarfoobar
error reading package index file /Library/Tcl/teapot/package/macosx-
universal/lib/pkgIndex.tcl: couldn't read file "/Library/Tcl/teapot/
package/macosx-universal/lib/activestate_activetcl_demos8.4/
pkgIndex.tcl": no such file or directory
can't find package foobarfoobar
% exit
bash$ sudo teacup install activestate::activetcl::demos
Resolving activestate::activetcl::demos ... [package
activestate::activetcl::demos 8.4 macosx-universal ... Already
installed in repository, probing dependencies]
bash$ sudo teacup install --force activestate::activetcl::demos
Resolving activestate::activetcl::demos ... [package
activestate::activetcl::demos 8.4 macosx-universal @ http://teapot.activestate.com]
Retrieving package activestate::activetcl::demos 8.4 macosx-
universal ...@ http://teapot.activestate.com ... Ok
Installing into /Library/Tcl/teapot
Installing package activestate::activetcl::demos 8.4 macosx-
universal
bash$ tclsh8.5
% package require foobarfoobar
error reading package index file /Library/Tcl/teapot/package/macosx-
universal/lib/pkgIndex.tcl: couldn't read file "/Library/Tcl/teapot/
package/macosx-universal/lib/activestate_activetcl_demos8.4/
pkgIndex.tcl": no such file or directory
can't find package foobarfoobar
% package require ActiveTcl
8.5.2.0.284846
This was with the latest update of teacup and I only just tried this
now. (There's no 'foobarfoobar' package, of course; that's just to
trigger the loading.)
Donal.
Thanks for the note ... Checking ... Ah :( I put the code generating
the pkgIndex.tcl at a place where the file was not included in the
list of files which go into the zip. So, currently the fake index is
created, and then left out of the zip.
I'll see to get the fixed zip archives up into the teapot ASAP. Can
still take a day or so. Will post another message in this thread then
its done. My apologies for the brokenness.
And yes, --force is required, that is what I meant by 'forced install'
in my previous message.
Andreas.
Ok, we now have activestate::activetcl::demo zip archives in the
Teapot which have the necessary pkgIndex.tcl file, albeit not
providing any package. Just a comment explaining the need.
Andreas.
I can confirm that, on OSX at least, forcing the update of the package
fixes the problems. Thanks! To reiterate, I used exactly this:
teacup install --force activestate::activetcl::demos
(OK, with sudo so that it could update the right directories. :-))
Donal.