18

While installing RNPermissions and its dependencies I run into an error. Seems to be a problem with my compiler or the package that is being installed.

The error:

checking whether the C compiler works... no
/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing: Unknown `--is-lightweight' option
Try `/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b':
configure: error: C compiler cannot create executables
See `config.log' for more details

Full output:

$ pod install
Analyzing dependencies
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `Permission-Camera` from `../node_modules/react-native-permissions/ios/Camera.podspec`
Fetching podspec for `Permission-LocationAlways` from `../node_modules/react-native-permissions/ios/LocationAlways.podspec`
Fetching podspec for `Permission-LocationWhenInUse` from `../node_modules/react-native-permissions/ios/LocationWhenInUse.podspec`
Fetching podspec for `RNPermissions` from `../node_modules/react-native-permissions`
Fetching podspec for `React` from `../node_modules/react-native/`
Fetching podspec for `yoga` from `../node_modules/react-native/ReactCommon/yoga`
Downloading dependencies
Installing DoubleConversion (1.1.5)
Installing Folly (2018.10.22.00)
Using RNPermissions (2.0.3)
Using React (0.59.10)
Installing boost-for-react-native (1.63.0)
Installing glog (0.3.4)
[!] /bin/bash -c 
set -e
#!/bin/bash
set -e

PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"
CURRENT_ARCH="${CURRENT_ARCH:-armv7}"

export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"

# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
    rm test-driver
fi

./configure --host arm-apple-darwin

# Fix build for tvOS
cat << EOF >> src/config.h

/* Add in so we have Apple Target Conditionals */
#ifdef __APPLE__
#include <TargetConditionals.h>
#include <Availability.h>
#endif

/* Special configuration for AppleTVOS */
#if TARGET_OS_TV
#undef HAVE_SYSCALL_H
#undef HAVE_SYS_SYSCALL_H
#undef OS_MACOSX
#endif

/* Special configuration for ucontext */
#undef HAVE_UCONTEXT_H
#undef PC_FROM_UCONTEXT
#if defined(__x86_64__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#elif defined(__i386__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#endif
EOF

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-apple-darwin-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for arm-apple-darwin-gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -arch undefined_arch -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk
checking whether the C compiler works... no
/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing: Unknown `--is-lightweight' option
Try `/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/si/Library/Caches/CocoaPods/Pods/Release/glog/0.3.4-1de0b':
configure: error: C compiler cannot create executables
See `config.log' for more details
Peter G.
  • 7,816
  • 20
  • 80
  • 154

7 Answers7

49

Open Xcode

  1. Select Xcode goto Preferences...

Select **Xcode** goto **Preferences...**

  1. Select Loctions and set Command Line Tools

Select **Loctions** and set **Command Line Tools**

Rasheed Qureshi
  • 1,215
  • 1
  • 11
  • 19
15

For me running sudo xcode-select --reset fixed it.

Prior I also installed/updated gcc with brew upgrade gcc, not sure if this a prerequisite.

Lars Blumberg
  • 19,326
  • 11
  • 90
  • 127
6

Set your XCODE CLI via XCode preferences and then run pod install again.

Xcode -> Preferences -> Locations -> Command Line Tools

Mohd Danish Khan
  • 1,044
  • 11
  • 12
3

Had the same issue, slightly different output. Resolved by accepting Xcode license sudo xcodebuild -license accept

1

Ensure Xcode is in your Applications folder.

I had to install an old version of Xcode and was just running it out of ~/Downloads. Once I moved (cut/paste) the Xcode.app file to Applications, this error went away.

Source: https://www.ryadel.com/en/xcode-sdk-iphoneos-cannot-be-located-mac-osx-error-fix/

Nigh7Sh4de
  • 395
  • 2
  • 7
  • 20
  • I had a similar situation going on. Instead of the executable being named "Xcode.app" is was named "Xcode 13.app", which meant the compilation process was not able to find it. Renaming from "Xcode 13" to "Xcode" solved my problem. – Antonio Jaime Oct 06 '22 at 16:42
0

Updated GCC and the problem went away.

brew update
brew upgrade
brew info gcc
brew install gcc
brew cleanup
Peter G.
  • 7,816
  • 20
  • 80
  • 154
0

I tried the laundry list of suggestions, and found a non-ideal workaround from here: https://github.com/facebook/react-native/issues/32291#issuecomment-929965479

I executed which gcc and used that path on the export CC line in the script referenced above.

Of course, editing directly in node_modules isn't the best way to do it, as it'll be blown away with any updates, but it at least allowed the pod install to complete.

  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Sep 06 '22 at 19:44