Opened 4 years ago

Last modified 10 months ago

#40738 assigned defect

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

jack@0.121.3 Build.log (25.6 KB) - added by ray.degennaro@… 4 years ago.
Jack Build Log

Download all attachments as: .zip

Change History (22)

comment:1 follow-up: Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Description modified (diff)
  • Owner changed from macports-tickets@… to eu@…

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.

comment:2 follow-up: Changed 4 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 4 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:4 Changed 4 years ago by mathsmac@…

  • Cc mathsmac@… added

Cc Me!

comment:5 Changed 4 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 in reply to: ↑ 1 Changed 4 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 in reply to: ↑ 2 Changed 4 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.

Last edited 4 years ago by dbevans (David B. Evans) (previous) (diff)

comment:8 Changed 4 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:9 Changed 4 years ago by dbevans (David B. Evans)

  • Cc devans@… added

Cc Me!

comment:10 Changed 4 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 4 years ago by dbevans (David B. Evans)

ffmpeg updated to 2.1 dropping jack dependency in r112713.
ffmpeg-devel updated to latest git master dropping jack dependency in r112714.

Leaving jack issue to the maintainer.

comment:12 Changed 4 years ago by kevleyski@…

Last edited 4 years ago by kevleyski@… (previous) (diff)

comment:13 Changed 4 years ago by kevleyski@…

  • Cc kevleyski@… added

Cc Me!

comment:14 Changed 4 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:15 Changed 4 years ago by cardinals7879@…

  • Cc cardinals7879@… added

Cc Me!

comment:16 Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Cc charles.choi@… added

Has duplicate #41029.

comment:17 Changed 4 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 4 years ago by jeremyhu (Jeremy Huddleston Sequoia)

  • Resolution set to invalid
  • Status changed from new to closed

Changed 4 years ago by ray.degennaro@…

Jack Build Log

comment:19 Changed 4 years ago by ray.degennaro@…

  • Resolution invalid deleted
  • Status changed from closed to 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

Last edited 4 years ago by ray.degennaro@… (previous) (diff)

comment:20 Changed 4 years ago by ray.degennaro@…

  • Cc ray.degennaro@… added

Cc Me!

comment:21 Changed 10 months ago by kurthindenburg (Kurt Hindenburg)

  • Owner eu@… deleted
  • Status changed from reopened to assigned
Note: See TracTickets for help on using tickets.