Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#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)

config.log (40.3 KB) - added by purist 2 years ago.
$ ./configure

Download all attachments as: .zip

Change History (7)

comment:1 Changed 2 years ago by jmroot (Joshua Root)

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:

checking for Tcl public headers... /path/to/MacPorts-2.7.1/vendor/tcl/generic

i.e the Tcl headers are provided in the MacPorts source distribution.

Changed 2 years ago by purist

Attachment: config.log added

$ ./configure

comment:2 Changed 2 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 2 years ago by jmroot (Joshua Root)

I'd guess it's likely because of the space in the path.

comment:4 Changed 2 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 2 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed

No problem; this is a duplicate of #58175 then.

comment:6 Changed 2 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

Note: See TracTickets for help on using tickets.