Opened 10 years ago

Last modified 3 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@…

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.

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 directoryPallet 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:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #45221.

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:5 Changed 9 years ago by SickTeddyBear

Cc: amcgee@… added

Cc Me!

comment:6 Changed 9 years ago by mr.j.bell@…

Cc: mr.j.bell@… added

Cc Me!

comment:7 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #47236.

comment:8 Changed 9 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 9 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:11 Changed 8 years ago by 1-61803

Cc: iamsudo@… added

Cc Me!

comment:12 Changed 3 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 3 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:15 Changed 3 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>

Note: See TracTickets for help on using tickets.