#41056 closed defect (invalid)
Mavericks + gcc48 build breaks + fixes
Reported by: | davidfavor (David Favor) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.0 |
Keywords: | mavericks | Cc: | jeremyhu (Jeremy Huddleston Sequoia) |
Port: | gcc48 |
Description
1) After Mavericks upgrade /usr/include is gone
*) FIX: ln -sf $(xcrun --show-sdk-path)/usr/include /usr/include
2) couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
*) FIX: make Macports TCL (which is currently 8.6.1) a dependency + arrange for Macports TCL to be used instead of system TCL
It appears TCL is no longer provided as a Framework in OSX. There is no Tcl.framework directory or tclIndex file on the disk anymore.
Attachments (2)
Change History (9)
Changed 11 years ago by davidfavor (David Favor)
Attachment: | gcc48-missing-tcl.log added |
---|
comment:1 Changed 11 years ago by davidfavor (David Favor)
comment:2 Changed 11 years ago by davidfavor (David Favor)
Building with parallel=no now to see if log file is more informative. Will update ticket after build finishes.
comment:3 Changed 11 years ago by davidfavor (David Favor)
Hum... looks like more missing header files... Detail in attached gcc48-cfbase-missing.log log file.
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc48/libgcc/work/gcc-4.8.1/libsanitizer/asan/asan_malloc_mac.cc:16:35: fatal error: CoreFoundation/CFBase.h: No such file or directory
Changed 11 years ago by davidfavor (David Favor)
Attachment: | gcc48-cfbase-missing.log added |
---|
comment:4 Changed 11 years ago by davidfavor (David Favor)
Hum... http://www.opensource.apple.com/source/CF/CF-550/CFBase.h is an open source copy of this file. Maybe this file can simply be deposited somewhere like lang/gcc48/files + add this as an include path to search during compilation.
comment:5 Changed 11 years ago by neverpanic (Clemens Lang)
Keywords: | mavericks added |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Replying to david@…:
1) After Mavericks upgrade /usr/include is gone
*) FIX: ln -sf $(xcrun --show-sdk-path)/usr/include /usr/include
/usr/include
isn't gone, it's part of the command line tools. Revert the symlink and install the command line tools using xcode-select --install
. This will also automatically fix MacPorts' ./configure
script which will fail to find Tcl without the command line tools.
2) couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
This is a red herring. MacPorts does not need this file, yet somehow this error message shows up sometimes.
*) FIX: make Macports TCL (which is currently 8.6.1) a dependency + arrange for Macports TCL to be used instead of system TCL
That is currently not possible, because MacPorts base is not compatible with Tcl 8.6 (due to MacPorts overriding the try
statement new to 8.6). Also using MacPorts Tcl to build MacPorts would create a very simple way for users to shoot themselves in the foot, which is why we're not doing that, at least not without adding additional safeguards.
It appears TCL is no longer provided as a Framework in OSX. There is no Tcl.framework directory or tclIndex file on the disk anymore.
Tcl is still available on OS X, but you have to install the Command Line Tools in order to build against it.
Installing the Command Line Tools will also fix the problem you see with the GCC build.
comment:6 Changed 11 years ago by davidfavor (David Favor)
Hum... Already did this once... Installing command line tools again correctly populated /usr/include this time...
I'll rebuild again + see what happens.
Thanks.
comment:7 Changed 11 years ago by davidfavor (David Favor)
Worked! Thanks!
I'll remember to reinstall command line tools if /usr/include is missing.
Refer also to ticket #37336.