New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #37450 (closed defect: fixed)

Opened 16 months ago

Last modified 15 months ago

expect 5.45 error on upgrading Tcl & Tk to 8.6.0

Reported by: phildobbin@… Owned by: markd@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: dale+macports@…, ryandesign@…
Port: expect

Description (last modified by ryandesign@…) (diff)

When running selfupdate scanning binaries found:

Scanning binaries for linking errors: 9.9%
 Could not open /opt/local/lib/libtcl8.5.dylib: Error opening or reading
file (referenced from /opt/local/bin/expect)

This was after running port upgrade outdated & involved the ports Tcl & Tk (Tcl 8.5.13 -> 8.6.0_1 & Tk the same) amongst others.

The package manager went on to try to rebuild the ports expect, libnewt & Vim & failed on all but Vim which was uninstalled & then re-installed. The original Vim was compiled with the +tcl variant & the subsequent rebuild excluded it.

I have attached the log files for the failed builds of expect & libnewt...

Attachments

expect_main.log (132.5 KB) - added by phildobbin@… 16 months ago.
libnewt_main.log (18.3 KB) - added by phildobbin@… 16 months ago.
expect.diff (1.2 KB) - added by ryandesign@… 16 months ago.
main.log (120.1 KB) - added by ryandesign@… 16 months ago.

Change History

Changed 16 months ago by phildobbin@…

Changed 16 months ago by phildobbin@…

comment:1 Changed 16 months ago by ryandesign@…

  • Owner changed from macports-tickets@… to markd@…
  • Port set to expect
  • Description modified (diff)

expect links with libtcl8.5.dylib:

$ port installed expect
The following ports are currently installed:
  expect @5.45_3+universal (active)
$ otool -L /opt/local/bin/expect
/opt/local/bin/expect:
	/opt/local/lib/libtcl8.5.dylib (compatibility version 8.5.0, current version 8.5.13)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

Now that tcl has been updated to 8.6.0 libtcl8.5.dylib no longer exists; the port needs to be rebuilt to link with libtcl8.6.dylib instead.

We could also use this opportunity to update expect to use the tcl 8.6.0 sources.

Unfortunately expect does not build with tcl 8.6.0 (regardless of what version of tcl sources it uses). Attached is a patch to update the port, and a log showing how it fails to build.

libnewt is a different port maintained by a different maintainer and probably needs a separate ticket.

Changed 16 months ago by ryandesign@…

Changed 16 months ago by ryandesign@…

comment:2 Changed 16 months ago by dale+macports@…

  • Cc dale+macports@… added

Cc Me!

comment:3 Changed 15 months ago by ryandesign@…

  • Cc ryandesign@… added
  • Summary changed from expect 5.45 + libnewt 0.52.14 error on upgrading Tcl & Tk to expect 5.45 error on upgrading Tcl & Tk to 8.6.0

comment:4 Changed 15 months ago by ryandesign@…

  • Status changed from new to closed
  • Resolution set to fixed

In that bug report it was pointed out that we need to add -ltclstub8.6 to LDFLAGS. Fixed in r102801.

Note: See TracTickets for help on using tickets.