#64321 closed defect (duplicate)
MacPorts 2.7.1: build from source fails MacOs Big Sur 11.6.2 with "configure: error: tcl.h not found."
Reported by: | purist | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | base | Version: | 2.7.1 |
Keywords: | Cc: | ||
Port: |
Description
I'm building a fresh install of MacPorts on a fresh install of Big Sur 11.6.2 with a fresh install of XCode 13.2.1
Running "./configure" I get this:
checking for Tcl public headers... configure: error: tcl.h not found. Please specify its location with --with-tclinclude
Yes I ran Xcode, and built something with Xcode, and also ran all these commands:
$ sudo xcode-select --install $ sudo softwareupdate --install -a $ sudo xcodebuild -license $ sudo xcode-select --reset
looks like Xcode command line tools installed Tcl stuff here:
% sudo find /Library -name tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/tcl.h /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers/tcl.h % sudo find /Library -name "tclConfig.sh" /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/tclConfig.sh /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Tcl.framework/tclConfig.sh
As per the find results above, Yes I did try these commands:
$ ./configure --with-tclinclude=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers $ ./configure --with-tcl=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tcl.framework/
And I also tried using both --with-tcl and --with-tclinclude together and in all cases I get some variant of this message at the top
configure: WARNING: unrecognized options: --with-tcl, --with-tclinclude
I'm guessing that the latest MacPorts is not tested with Big Sur 11.6.2 and Xcode 13.2.1. I have reasons for needing to use Big Sur and not the latest OS Monterey. For the "--with-*" params, I chose the MacOSX11.3.sdk because that's the closest version to what I'm using but it's moot because in all cases "./configure" doesn't seem to be passing these params down to the tcl config script.
Please help, I was hoping to make my own build rather than use the prebuilt binary .pkg installer
thanks
Attachments (1)
Change History (7)
comment:1 Changed 3 years ago by jmroot (Joshua Root)
comment:2 Changed 3 years ago by purist
Oh I'm rusty, I didn't think of the log file...
I've attached the whole log file for running the vanilla "./configure" with no args. These might the the lines you're looking for:
configure:8607: === configuring in vendor/tcl/unix (/Volumes/Big LaCie/p/sw2/MacPorts-2.7.1/vendor/tcl/unix) configure:8866: running /bin/sh ./configure '--cache-file=/dev/null' '--disable-option-checking' '--prefix=/opt/local/libexec/macports' '--enable-threads' '--srcdir=.' 'CC=clang' in vendor/tcl/unix configure:8872: === finished configuring in vendor/tcl/unix (/Volumes/Big LaCie/p/sw2/MacPorts-2.7.1/vendor/tcl/unix) configure:8933: === configuring in vendor/thread (/Volumes/Big LaCie/p/sw2/MacPorts-2.7.1/vendor/thread) configure:9192: running /bin/sh ./configure '--cache-file=/dev/null' '--disable-option-checking' '--prefix=/opt/local/libexec/macports' '--srcdir=.' 'CC=clang' in vendor/thread configure:9194: error: configure failed for vendor/thread
seems like "./configure" chose "vendor/tcl/unix" instead of "vendor/tcl/macosx"- is this what's causing my issue?
comment:3 Changed 3 years ago by jmroot (Joshua Root)
I'd guess it's likely because of the space in the path.
comment:4 Changed 3 years ago by purist
Worked like a charm. Thank you for your time and attention, Mr. Root. What a cool last name for a Unix guy...
configure: === configuring in vendor/tcllib (/Users/johnny/Desktop/MacPorts-2.7.1/vendor/tcllib)
This is an old school mistake. I used to be religious about removing spaces from file names because it used to be a problem for Unix life. But in recent years I've been loosening my policy as I haven't noticed any issues.
Thank You Joshua
comment:5 Changed 3 years ago by jmroot (Joshua Root)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
No problem; this is a duplicate of #58175 then.
comment:6 Changed 3 years ago by purist
Oh I see. It didn't turn up in my search since the error is different.
Happy New Year. Thanks again
You haven't attached a config.log or full configure output, so I can't be sure where this message is coming from. I can only assume it's perhaps from configuring in vendor/thread, in which case the correct output would be:
i.e the Tcl headers are provided in the MacPorts source distribution.