Opened 10 years ago
Last modified 4 years ago
#43923 new defect
Pallet requires Tcl directory which is no longer included in MacPorts 2.3.0
Reported by: | waitsnake@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.0 |
Keywords: | Cc: | ksammons@…, SickTeddyBear, mr.j.bell@…, 1-61803, kencu (Ken) | |
Port: | Pallet |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
After I got Pallet installed with an workaround that I describe in this ticket here #43922. I was asked from the program to choose the Tcl directory. In older days of Macports this directory was placed under "/Library/Tcl".
In newer times this directory was moved to "/opt/local/share/macports/Tcl/" and a symbolic link was placed in the old directory "/Library/Tcl" to keep older software up and running.
But unfortunately I saw with "pacifist" that all installer packages of Macports 2.3.0 do not include the Tcl directory any longer. I looked in the following installers and Tcl directory was missing there:
- MacPorts-2.3.0-10.9-Mavericks.pkg
- MacPorts-2.3.0-10.8-MountainLion.pkg
- MacPorts-2.3.0-10.7-Lion.pkg
- MacPorts-2.3.0-10.6-SnowLeopard.pkg
So neither the Tcl directory was forgotten in the installer of 2.3.0 or it was removed on purpose? If it was removed on purpose than Pallet needs to be changed that it not needs the files from the Tcl directory any longer.
As workaround look with pacifist in an older installer for Macports version 2.2.1 (e.g. MacPorts-2.2.1-10.9-Mavericks.pkg) and here I could found the Tcl directory and just install this single directory with pacifist.
And now after selecting in Pallet the Tcl directory "/opt/local/share/macports/Tcl" the software finally works a treat.
(to select the Tcl directory first use "goto directory" in finder and than use "select..." in Pallet and drag the folder from the finder windows into the select window of Pallet)
Change History (15)
comment:1 Changed 10 years ago by waitsnake@…
comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | Macports 2.3.0 installer Pallet removed |
Milestone: | MacPorts Future |
Port: | Pallet added; pallet removed |
Summary: | Installer of Macports 2.3.0 des not includ the Tcl directory → Pallet requires Tcl directory which is no longer included in MacPorts 2.3.0 |
MacPorts 2.3.0 for the first time uses its own copy of Tcl, and no longer uses the version of Tcl included in OS X. I believe part of that was removing the /opt/local/share/macports/Tcl directory.
Even before MacPorts 2.3.0 was released, Pallet would not build. There are many other bug reports open. Unfortunately nobody has yet volunteered to update the Pallet code to be compatible with the current versions of OS X, Xcode and MacPorts..
comment:4 Changed 10 years ago by neverpanic (Clemens Lang)
You could try /opt/local/libexec/macports/lib
, but I would be surprised if that worked.
comment:8 Changed 10 years ago by jerryyhom
Using /opt/local/libexec/macports/lib
does work in the sense of finding the file macports.tcl
. However, the Framework's MPInterpreter then looks for the file macports_fastload.tcl
which is not found. Can anyone say where it is or what was its function?
comment:9 Changed 10 years ago by neverpanic (Clemens Lang)
macports_fastload.tcl
was a file that used to set a up a couple of Tcl paths and load a number of files. Since we're controlling the Tcl interpreter MacPorts uses now, it is no longer required and has been removed. The code needs to be adjusted to avoid using it and use MacPorts' tclsh instead.
comment:10 Changed 9 years ago by jmroot (Joshua Root)
Cc: | ksammons@… added |
---|
comment:12 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | kencu added |
---|
A partial fix was committed to the port in [10eff7c75c7f85338e3ecfdb86e597b2084d3fd7/macports-ports] but the fix needs to be committed to https://github.com/macports/pallet.
comment:13 Changed 4 years ago by kencu (Ken)
I have discovered that -- basically -- the current Pallet port is uselessly broken, and should be deleted/obsoleted/marked as doomed for users who try to install it.
If you want to have a chance at building Pallet, clone the macports/pallet repo and start with that, forgetting about the Macports_Framework and Pallet ports.
I got that repo building on Catalina in 15 minutes with some minor edits, but it doesn't actually work. Macports.Framework does send back info to Pallet, but AFAICT Pallet isn't parsing it properly. There is a PR in the macports/pallet repo that might suggest a fix for that, but I haven't got around to trying that.
comment:14 Changed 4 years ago by kencu (Ken)
Pallet LIVES!!!
<https://github.com/macports/pallet/pull/1#issuecomment-755834338>
comment:15 Changed 4 years ago by kencu (Ken)
This ancient ticket refers (more or less) to a version of Pallet that no longer exists.
Pallet is presently broken, and has been for about 10 years.
The current best shot at building something would be to start with the github repo at <https://github.com/macports/pallet.git>
Unfortunately there is a problem with the workaround I mention here. When you make an "sudo port selfupdate" it will download again all files from version 2.3.0 and delete the Tcl directory because it is not included in this version. After Tcl directory is delated Pallet just crashes after it was started. I reinstall Tcl from 2.2.1 and Pallet works again, but it is real pain if I had to reinstall it manually after each selfupdate. I think we just need a new version of Macports that includes this missing directory.