Opened 11 years ago
Closed 7 years ago
#40738 closed defect (worksforme)
jack does not build OSX 10.9
Reported by: | mattbrocklehurst@… | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.99 |
Keywords: | mavericks | Cc: | mathsmac@…, dbevans (David B. Evans), kevleyski@…, cardinals7879@…, kickingvegas (Charles Choi), ray.degennaro@… |
Port: | jack |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Not had chance to fix this yet but...
Getting error...
:info:build <command line>:7:10: fatal error: '/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h' file not found :info:build #include "/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h" :error:build Failed to install jack :debug:build couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
Reason being Frameworks are now part of the Xcode5 directory (Apple must of wanted a tidy up), think you can run xcrun
to find the path..
On my machine these two directories live
- /Applications/Xcode5-DP3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Headers
- /Applications/Xcode5-DP3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tcl.framework
I did try (running out of time)...
ln -s "/Applications/Xcode5-DP3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Headers" /System/Library/Frameworks/Carbon.framework/Headers ln -s "/Applications/Xcode5-DP3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tcl.framework" /System/Library/Frameworks/Tcl.framework
And it does get a bit further but then its failing with
:info:build In file included from <built-in>:162: :info:build In file included from <command line>:7: :info:build /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:29:10: fatal error: 'HIToolbox/HIToolbox.h' file not found :info:build #include <HIToolbox/HIToolbox.h>
I think there is a --with-tcl-dir
that we can pass to ./configure in the Portfile configure-amend directive and use xcrun
to find out this path.. but i've run out of time (hopefully someone else has a patch or a quick solution)
Attachments (1)
Change History (23)
comment:1 follow-up: 6 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to eu@… |
comment:2 follow-up: 7 Changed 11 years ago by mattbrocklehurst@…
For some reason jack is down as a dependency for ffmpeg not sure why because I removed jack as ffmpeg dependency in Portfile and ffmpeg compiled and runs fine, perhaps rather than trying to support the old jack release it's easier to remove the dependency in ffmpeg - think most people will want ffmpeg rather than jack!
comment:3 Changed 11 years ago by IgnitusBoyone@…
I can verify that this is a problem when upgrading ffmpeg or installing it from scratch on Mavericks. My attempt to solve the issue was far less technically clean then ryan's I was trying to build through symlinks the layout required by jack, but stopped at HIToolbox as it was obvious that the package had not been updated for the framework moment. Removing jack from teh port file was a cleaner solution and for my purposes ffmpeg works fine.
comment:5 Changed 11 years ago by davidfavor (David Favor)
It appears the problem is that in 10.8 most of Carbon was deprecated.
And now in 10.9 the residue of Carbon was removed.
https://developer.apple.com/library/mac/releasenotes/General/CarbonCoreDeprecations/ describes what was removed in 10.8 and there seems to be no 10.9 definitive statement anywhere on the Apple site... and many people are reporting the same missing header file.
My guess is the fix for Jack is to convert it from Carbon to Cacoa.
comment:6 Changed 11 years ago by dbevans (David B. Evans)
Replying to ryandesign@…:
It looks like there is something called jack2 now. Perhaps we need to either update the jack port to that, or create a new jack2 port for it.
jack2 is a C++ rewrite of jack with a different (but not necessarily better) set of capabilities. Seems to be a bit of disagreement in the jack user community about which is better and for what purpose. So this needs to be looked at carefully. I think it would be good to add a new jack2 port but not sure whether this would substitute for/conflict with jack. Need someone who knows more about it before jumping.
comment:7 Changed 11 years ago by dbevans (David B. Evans)
Replying to mattbrocklehurst@…:
For some reason jack is down as a dependency for ffmpeg not sure why because I removed jack as ffmpeg dependency in Portfile and ffmpeg compiled and runs fine, perhaps rather than trying to support the old jack release it's easier to remove the dependency in ffmpeg - think most people will want ffmpeg rather than jack!
Jack is an optional audio input method for ffmpeg. Just removing the dependency will not keep ffmpeg from using it if it is installed by some other port. It needs to be disabled in configuration as well.
comment:8 Changed 11 years ago by dbevans (David B. Evans)
With regard to the impact on ffmpeg, it looks like fixing jack may take some time. Am I correct in understanding that this is a Mavericks only issue? If so I will disable the jack functionality in ffmpeg and ffmpeg-devel for that platform only until the jack issue is resolved.
comment:10 Changed 11 years ago by dbevans (David B. Evans)
Looks like I mis-spoke. Although ffmpeg can, in theory, use jack as an input device, our implementation fails to configure it due to the lack of the 'sem_timedwait' function on OS X. So using it as a dependency has no practical purpose at this time. Will remove it.
comment:11 Changed 11 years ago by dbevans (David B. Evans)
comment:12 Changed 11 years ago by kevleyski@…
comment:14 Changed 11 years ago by cardinals7879@…
CC me please. Unless i'm understanding it wrong it looks like jack isn't listed as a dependency of VLC but there is a variant of VLC called "jack."
comment:16 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | charles.choi@… added |
---|
Has duplicate #41029.
comment:17 Changed 11 years ago by michaelld (Michael Dickens)
I have Jack @0.121.3_0 installed on my 10.9 boot with no issues.
comment:18 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:19 Changed 11 years ago by ray.degennaro@…
Resolution: | invalid |
---|---|
Status: | closed → reopened |
I'm working with an hours old MacPorts install, so apologies if I shouldn't have re-opened the ticket. I'm getting the
:info:build <command line>:7:10: fatal error: '/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h' file not found
error trying to build the latest version of 'jack' as part of installing 'fluidsynth' before installing 'frescobaldi'. I have made sure that MacPorts is up-to-date and I've done a clean and tried installing 'jack' independently.
My install of 10.9 Mavericks and Xcode 5 are up-to-date.
Build log attached above.
Ray
comment:21 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)
Owner: | eu@… deleted |
---|---|
Status: | reopened → assigned |
comment:22 Changed 7 years ago by neverpanic (Clemens Lang)
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
jack1 is superseded by jack2, see #54870 and [e36ae16764409c89e717408941b18dbf2719a233/macports-ports]. I'm going to assume this is no longer a problem in jack2.
Remember to use WikiFormatting and to Cc the port's maintainer.
The tclIndex error message is irrelevant; please ignore it.
The other errors sound like jack is using Carbon, which was always just meant as a crutch to allow developers to move to OS X from OS 9 quickly and which is in every new OS X release becoming less and less supported. OS X is now 13 years old and it's high time for developers to stop using Carbon.
It looks like there is something called jack2 now. Perhaps we need to either update the jack port to that, or create a new jack2 port for it.