node-mac-permissions icon indicating copy to clipboard operation
node-mac-permissions copied to clipboard

The Speech framework is not compatible with macOS < 10.15

Open glawson opened this issue 5 years ago • 4 comments

We build with a macOS 10.14 image on Travis, permissions.mm fails to build because Speech/Speech.h is not found.

Need to wrap with compiler directives: #if AVAILABLE_MAC_OS_X_VERSION_10_15_AND_LATER

And remove ld flag, -frameworks Speech for anything less than 10.15

glawson avatar May 21 '20 23:05 glawson

I am also experiencing this issue on a Mac running macOS 10.14.6.

Speech/Speech.h is not found.

...
> node-gyp rebuild

  CC(target) Release/obj.target/nothing/../node-addon-api/src/nothing.o
  LIBTOOL-STATIC Release/nothing.a
  CXX(target) Release/obj.target/permissions/permissions.o
../permissions.mm:11:9: fatal error: 'Speech/Speech.h' file not found
#import <Speech/Speech.h>
...

MaddHatters avatar Jun 12 '20 15:06 MaddHatters

This shouldn't be mediated by the version of macOS - you need to be building against the 10.15 SDK. You can run this on any version of macOS as long as you built against the right SDK i'm fairly certain 🤔

codebytere avatar Jun 12 '20 18:06 codebytere

@codebytere Thanks for the tip! I'm having some trouble finding those SDKs. I did some searching and found developer.apple.com/download/more/ and can't seem to find any "SDKs". I also only see "Kernal Debug Kits" referencing version # "10.15". I also tried finding ways to update/add sdk's in Xcode but no luck. Maybe I'm missing something.

Any idea where to get the sdk?

EDIT: Acutally the Kernal Debug Kits might be what I'm looking for. I'm going to try this now.

EDIT #2: The Kernal Debug Kit did not work unfortunately.

MaddHatters avatar Jun 15 '20 15:06 MaddHatters

Try setting this for targetting the latest MacOS SDK that is installed. Works locally for my electron mac universal builds

export SDKROOT="$(xcrun --show-sdk-path --sdk macosx)"

For Github actions, another potential route I've read of is:

env:
  DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer

I'd imagine a similar env setup would be possible on TravisCI

mmaietta avatar Mar 10 '21 22:03 mmaietta