Hi,
We are developing a application in TCL. Finally we want to wrap it as a windows executable.But in our application we make use of TCL extension packages like tdom0.8.2 ,udp1.0.8 and BWidget-1.8.0.In Tcl.
But when we go for wrapping for a windows executable,In that TCLApp, I selected preview file as base-tcl8.5-thread-win32-ix86.exe.If I verify the packages that are going to be wrapped together, tdom0.8.2 ,udp1.0.8 and BWidget-1.8.0 are not there.If I manually add those packages,I am getting error during wrapping itself.I want to know how to Include those packages for wrapping.without those packages if I compile,I am getting error like cannot find package Tdom.
Thanks,
Sivabalan K.
Hello Sivabalan.
I believe I will need more information from you to diagnose this.
For example, when you say that
"tdom0.8.2 ,udp1.0.8 and BWidget-1.8.0 are not there"
what exactly are you looking at ?
The TclApp GUI, and if yes, there ?
The wrapped application itself ?
The fact that you "manually add those packages" seems to indicate that you have listed only the files of your application in the TclApp project, but not the packages they need.
Note that TclApp is not fully automatically pulling the packages you require in your sources into the wrap. There is a button to do this semi-automatically however. On the panel 'Packages', the clicking on the left- most toolbar button (icon: circular arrow) will cause TclApp to scan the listed application files for required packages and adds them to the list of packages to wrap.
Regarding the errors you get during wrapping with the manually added packages, what are the exact error messages ?
Even so, I am guessing that the packages are not found, is that correct ?
Normally TDK will try to use the packages found in an ActiveTcl installation for wrapping. This may fail if you do not have ActiveTcl, or installed it after the Tcl Dev Kit.
Another possibility is that while you are creating a Windows executable your TclApp is running on a different platform (Linux for example). You are not clear on that point.
Are the errors going away if you add ActiveState's teapot repository at http://teapot.activestate.com to the list of repositories to search ? This information can be found under the menu 'Edit -> Preferences'
Andreas.
Hello Andreas,
Here the information Required ,
I already installed Active TCL before the installation of TCLDEV kit in my machine.
I kept the required packages in the Active Tcl installation(Inside /lib/tcl8.5 and /lib/tk8.5).And it was working.
The Platform Where I am running TCLApp is Windows.
I came to know about the missing packages by pressing the button "Show the packages Wrapped in the prefix file" in the prefix file frame in the
TCLApp GUI.I am using base-tcl8.5-thread-win32-ix86.exe as the prefix file.
In the Files tab,I listed the TCL scripts of my application
In the Packages tab,I Pressed the left most(Circular arrow ) button,And it added three packages 1.Thread 2."udp 1.0.6" 3.tdom
Now If I wrap the Application, I am getting the following error in the console of Run tab,
issues...
package 'tdom -is profile' is not known (Specified, Not recoverable)
package 'udp -is profile -require 1.0.6' is not known (Specified, Not recoverable)
Aborting
In the Packages tab,If I remove three packages and if I press the second button from right,I can see the list of some packages,In that I selected only TCL8.5 and started wrapping,It was successful and I got a executable also.If I run it ,I am getting error as cannot find package Tdom(If the prefix file is base-tk8.5-thread-win32-ix86.exe).
Here I want to tell one more thing,I am using the trial version of ActiveState Tcl Dev Kit 5.0.1,Is it a problem?
Thanks,
Sivabalan K
Ok.
First "Show the packages Wrapped in the prefix file" shows the packages which are present in the basekit you have chosen as prefix file. That is mainly support for the virtual filesystem. That the packages bwidget, tdom and udp are not present there is expected and ok.
Now for the missing packages ... This definitely looks as if the search paths are not set up correctly.
Can you go to the menu 'Edit -> Preferences' and look at the dialog you reach through that ? It has two tabs, for "TAP search paths" and "TEApot search paths".
I am guessing that you have a few paths in the tabs "TAP search paths", and nothing in tab "TEApot search paths". This guess is based on the fact that tDOM and Udp are not found, but Thread apparently is. Can you tell me what paths are shown in both of these tabs ?
When you say that the required packages are under /lib/tcl8.5 and /lib/tk8.5 of the ActiveTcl installation, that sounds irregular. Both packages are provided by ActiveState through the TEApot at http://teapot.activestate.com/ and when installed into ActiveTcl 8.5 via the 'teacup' application should be found under '/lib/teapot'.
Have you gotten these packages from somewhere else, or maybe compiled on your own ?
How do the directories for tdom and udp look like ?
Hi,
Recently I started using Active TCL,Before that we are using the binary distribution of TCL.
After you told about Teacup,I explored about it and updated my ActiveTCL using Teacup application.
Now I am not getting that error.
Thanks for your Input.
Thanks,
Sivabalan K
Hello Andreas,
With your help I rectified the Tdom and Udp package inclusion problems.
Now I successfully wrapped the Application,and exe got generated.As stated earlier,I included multiple scripts during wrapping and call that scripts using "source" command.After wrapping, If I execute the application,where ever it finds source command and then script name(As it is in same folder I didn't give any path),It is giving error telling "there is no file or folder in that path".So,while wrapping an application,In source command path, what changes I have to do?Please Guide me.
Thanks,
Sivabalan K