Opened 11 years ago

Closed 10 years ago

#40502 closed defect (invalid)

invalid syntax: should be "try body ?catch {type-list ?ecvar? ?msgvar? ?infovar?} body ...? ?finally body?"

Reported by: richard.t.lloyd@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 2.2.0
Keywords: Cc: nerdling (Jeremy Lavergne), ralph@…, ryandesign (Ryan Carsten Schmidt)
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I'm trying to install RVM on Maverick using the pre-release of Xcode - command line tools installed. Specifics on the system are:

OS X Version 10.9 Build 13AS24d

Xcode 5.0 Build 5A11386k

Apple LLVM version 5.0 (clang-500.1.74) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

The problem occurs when trying to install a dependencie, expat. I've installed a fresh version of MacPort2.2.0 from source on my system which I then run via sudo.

Screen output is:

128 > sudo port
Password:
MacPorts 2.2.0
Entering interactive mode... ("help" for help, "quit" to quit)

[Users/richardlloyd] > install expat

invalid syntax:  should be "try body ?catch {type-list ?ecvar? ?msgvar? ?infovar?} body ...? ?finally body?"

Please see the log file for port expat for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_expat/expat/main.log

To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port expat failed

[Users/richardlloyd] >

I'm attaching the expat logfile mentioned above.

I understand the caveats re mac developer / non-disclosure / limited-availability. I hit this problem while trying to install rvm in order to limp past the dreaded certificate verify failed (OpenSSL::SSL::SSLError) bug. Any guidance would be appreciated. Most surely bleeding edge technology here...

Attachments (1)

main.log (710 bytes) - added by richard.t.lloyd@… 11 years ago.

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by richard.t.lloyd@…

Attachment: main.log added

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Component: portsbase
Description: modified (diff)
Keywords: mavericks added
Summary: port install expat fails on OS X 10.9invalid syntax: should be "try body ?catch {type-list ?ecvar? ?msgvar? ?infovar?} body ...? ?finally body?"

comment:2 Changed 10 years ago by ralph@…

I have just tried a source install of macports, using the release version of Mavericks, which went fine, but then when I tried

sudo port upgrade outdated

I too got

invalid syntax:  should be "try body ?catch {type-list ?ecvar? ?msgvar? ?infovar?} body ...? ?finally body?

Note: Ihave ActiveTCL 8.6.1 installed, and macports tcl8.6

Last edited 10 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 10 years ago by ralph@…

Hmm. This even happens with a clean source install of macports with NO existing /opt directory.

comment:4 Changed 10 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… added

This is because of Tcl 8.6.

comment:5 Changed 10 years ago by neverpanic (Clemens Lang)

Try cleaning up your $PATH before installing MacPorts from source: PATH=/usr/bin:/usr/sbin:/bin:/sbin ./configure && make && sudo make install. If that still causes the same problem you probably modified your /usr/bin/tclsh to point to 8.6 – which you should just not do.

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ralph@… ryandesign@… added
Keywords: mavericks removed
Milestone: MacPorts Future
Resolution: invalid
Status: newclosed

I'm going to assume this problem was caused by the user replacing /usr/bin/tclsh with version 8.6 or later, as Cal mentioned above, which is not going to work with today's MacPorts. /usr/bin/tclsh should be restored to the version provided by Apple in OS X.

MacPorts 2.3.0 will include its own copy of tcl 8.5 and use it exclusively, which will eliminate any problems caused by nonstandard system versions of tcl.

In the future, we will update the included copy to 8.6, when we have time to rewrite the parts of MacPorts that are currently incompatible with tcl 8.6.

Note: See TracTickets for help on using tickets.