Greetings
I have a problem when generating executables with TclDevKit.
My code in .tcl uses the following packages: -pkg Expect -pkg base64 -pkg http -pkg telnet -pkg Thread -pkg anigif 1.3
The package anigif 1,3 is one that I found in the Web to use gifs animated.
Using tclapp treatment to generate the executable.
I select to the architecture win32-ix86.
Edit-> Preferences -(It indicates)-> TEAPOT REPOSITORIES: C:/TclDevKit/tap_help_repository and c:/tcl/lib/teapot
Edit-> Preferences -(It indicates)->TAP Search Paths: C:/Tcl/lib and C:/Tcl/lib/tcl8.4
With Run it shows to me:
Wrapping ...
Expanding...
Following only profile dependencies
Accepting missing dependencies
Accepting version changes made by fuzzy search
Reading .tap files ...
Done
P package Tk 8.5 tcl ...
Issues...
package 'Thread -is profile' is not known (Specified, Not recoverable)
package 'anigif -is profile -require 1.3' is not known (Specified, Not recoverable)
Aborting
I have installed ActiveTcl 8.4.18, TclDevKit 4.1.0 and I execute on a virtual machine Windows XP sp2.
I am thankful for the aid.
Douglas Aparicio Bermudez
A few questions to clarify some details ...
* Any reason not to use the latest TDK 5?
* You say you are using AT 8.4, but show "Tk 8.5" found by TclApp. That would be incompatible. What kind of basekit are you using?
* Is the basekit threaded?
* Is there a .tap file created for the anigif package?
Before nothing thanks for the so quick answer.
* Any reason not to use the latest TDK 5?
Simply TclDevKit 4.1.0 was the one that I have installed. But I will update myself in the future.
* You say you are using AT 8.4, but show "Tk 8.5" found by TclApp. That would be incompatible. What kind of basekit are you using?
I had installed ActiveTcl 8,5... and TclDevKit 5... previously, but I had some problems that (I do not know the reasons) what happened is that it did not work well some parameters of the option 'get $url' of package 'http', that when reinstating it the version of ActiveTcl 8.4.18 no longer I had those problems, it is therefore that at the moment I am with ActiveTcl 8.4.18, TclDevKit 4.1.0.
Inside my code simply I make reference to 'package require Tk' and not because tclapp this detecting Tk 8.5.
* Is the basekit threaded?
My code simply makes reference to 'package require Thread' that I saw that the installation of ActiveTcl 8.4.18 within C:\Tcl\lib\... has package.
* Is there a .tap file created for the anigif package?
I believe that no
Douglas Aparicio Bermudez
The 'P' in the line 'P package Tk 8.5 tcl ...' indicates that TclApp found Tk in the chosen -prefix file, i.e. the selected basekit.
To use the anigif package it has to be in a location where it is found and provide the information for TclApp to recognize it as package. Alternatives:
(1) Put it somewhere in the TAP search paths and add a .tap file to it
(via the tcl package editor 'tclpe').
(2) Add teapot meta data to the package (via 'tclpe'), then convert
it into a teapot package via 'teapot-pkg' and put it into a TEApot
repository searched by TclApp.
Does the Thread package have a .tap file ?
Likely not.
Greetings
I created file .tap with tclapp...
And now just tclapp created the executable...
It already generates the file (anigif.tap) it places and it in C:\Tcl\lib or C:\Tcl\lib\tcl8.4. (TAP Search Paths of tclapp)
And tclapp creates the executable without problems, but at the time of executing it shows it to me the following error:
can't find package anigif 1.3
can't find package anigif 1.3
while executing
"package require anigif 1.3"
invoked from within
"thread::send $threadId {
#Threads
package require Tk
package require anigif 1.3
wm withdraw .
toplevel .t
wm title .t "Se esta conf..."
(procedure "Aceptar" line 70)
invoked from within
"Aceptar inicial param_empty1 param_empty2"
invoked from within
".body.aceptar invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 24)
invoked from within
"tk::ButtonUp .body.aceptar"
(command bound to event)
it continues saying that it does not find the package anigif....
and I have the folder anigif low C:\Tcl\lib. that it contains the archives: pkgIndex.tcl, anigif.tcl, anigif.tap, teapot.txt.
thank you very much
Douglas Aparicio Bermudez
Ok, so you are getting anigif wrapped into your executable now ?
But it is not found at runtime yet ?
Where are the anigif files inside of the wrapped executable ?
If you have TDK 5.0.2 you can do
% tclvfse /your/executable ls | grep anigif
Oh, windows, sorry, then
% tclvfse /your/executable ls > manifest.txt
and look for the anigif files in it via your editor of choice, and its search function.
Just to be sure, your project file for TclApp contains anigif as package to wrap, right ?