Getting "tcl wasn't compiled with threads enabled" error

Bernard Desgraupes bdesgraupes at
Sun Sep 2 02:48:21 PDT 2007

Ryan Schmidt wrote:

> On Sep 2, 2007, at 01:24, Bernard Desgraupes wrote:
>> Ryan Schmidt wrote:
>> Yet the original question still holds: why doesn't the Tcl Portfile  
>> have the --enable-threads argument if threads are required to be  
>> enabled when executing a "port selfupdate" ?
> Don't know, and there's no tcl maintainer whom we could ask. Does  
> MacPorts even build itself against the MacPorts tcl if it's present?  
> I thought it always used the system's tcl. Well, except obviously in  
> your case it's using the /usr/local tcl but again that's only because  
> gcc always looks there and we don't know how to turn it off.

I understand.

> The first lines of /opt/local/bin/port are:
> #!/bin/sh
> #\
> exec /usr/bin/tclsh "$0" "$@"
> So it seems the intention is to use the system's tcl, not MacPorts's  
> tcl.

...and this is why it all works just fine like this in the default case. 
This is because the system's Tcl _is_ compiled with threads enabled (see 
last line in /usr/lib/ I had messed up my installation 
because I had a freshly compiled Tcl which installed itself in 
usr/local/bin and was not compiled with threads enabled.

> We could of course add --enable-threads to the tcl port if that's  
> desired.
There could be a variant to turn this on. Anyway the current scheme is 
the best, there's no point relying on a MacPorts-built Tcl when the 
system's Tcl works just fine.

Thanks for the clarification,



More information about the macports-users mailing list