question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

iOS pod install is failing on project init

See original GitHub issue

Description

When running npx react-native init <myproject>, using any template, the pod install phase fails on macOS 11.1 and XCode 12.3.

Environment:

  • React Native version: 4.13.1. Also please note that your issue template says to run react-native info, which is not a valid command.
  • macOS version: 11.1.0 (x86 architecture, not an M1)
  • npm version: 7.3.0
  • node version: 15.5.1
  • XCode version: 12.3

Steps To Reproduce

Provide a detailed list of steps that reproduce the issue.

  1. run npx react-native init myproject
  2. “Installing Cocoapods dependencies” step fails.
  3. cding into the ios directory and running pod install produces additional logs, but still fails.

Expected Results

The project should complete cocoapod install and work correctly.

Snack, code example, screenshot, or link to a repository:

Initial command error output (omitting ascii-art):

✔ Downloading template
✔ Copying template
✔ Processing template
✖ Installing CocoaPods dependencies (this may take a few minutes)
✖ Installing CocoaPods dependencies (this may take a few minutes)
error Error: Failed to install CocoaPods dependencies for iOS project, which is required by this template.
Please try again manually: "cd ./myproject/ios && pod install".
CocoaPods documentation: https://cocoapods.org/

Manual pod install output:

Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Downloading dependencies
Installing CocoaAsyncSocket (7.6.4)
Installing CocoaLibEvent (1.0.0)
Installing DoubleConversion (1.1.6)
Installing FBLazyVector (0.63.4)
Installing FBReactNativeSpec (0.63.4)
Installing Flipper (0.54.0)
Installing Flipper-DoubleConversion (1.1.7)
Installing Flipper-Folly (2.3.0)
Installing Flipper-Glog (0.3.6)
[!] /bin/bash -c
set -e
#!/bin/bash
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

set -e

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

if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
    # Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg.
    # it's better to rely on platform name as fallback because architecture differs between simulator and device

    if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
        CURRENT_ARCH="x86_64"
    else
        CURRENT_ARCH="armv7"
    fi
fi

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

# Prepare exported header include
EXPORTED_INCLUDE_DIR="exported/glog"
mkdir -p exported/glog
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

checking for a BSD-compatible install... /usr/local/bin/ginstall -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... /usr/local/bin/gmkdir -p
checking for gawk... gawk
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 armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk
checking whether the C compiler works... no
/Users/damien/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing: Unknown `--is-lightweight' option
Try `/Users/damien/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/damien/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6':
configure: error: C compiler cannot create executables
See `config.log' for more details

I can tell that the Flipper-glog dependency appears to be the point of failure, but I do not know how to troubleshoot that internal RN dependency properly. Possible relevant issues are #25561 and #30372. In one case, the recommended solution is to ensure that XCode.app is pointed to by the xcode-select tool.

However, running

sudo xcode-select -s /Applications/XCode.app/Contents/Developer
# or
sudo xcode-select --switch /Applications/XCode.app

followed by pod install does not resolve this issue. I have also tried a couple of additional steps:

  • Reinstalling cocoapods, using sudo gem and/or using brew install
  • Reinstalling XCode 12.3

This is a critical problem, as no new RN projects can currently be created in my environment.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:10
  • Comments:27

github_iconTop GitHub Comments

34reactions
mafelixcommented, Apr 6, 2021

sudo xcode-select --switch /Applications/Xcode.app

Run this and the pod install should run smoothly; M1 machine or not.

25reactions
atasmohammadicommented, Jan 6, 2021

+1 ( on M1 Mac )

Read more comments on GitHub >

github_iconTop Results From Across the Web

Xcode: pod install error when creating new projects
3 Answers 3 · $sudo gem install cocoapods · move to your folder run pod init · open your Podfile and add your...
Read more >
Troubleshooting - CocoaPods Guides
<Using the CocoaPods Project · Go to Product > Edit Scheme · Click on Build · Add the Pods static library, and make...
Read more >
How to fix “pod install” error in React Native on Mac M1
using Apple's Rosetta 2: sudo arch -x86_64 gem install ffi . Run again the same command React Native suggested you earlier, but using...
Read more >
Trouble with installing cocoapods | Apple Developer Forums
This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it....
Read more >
CocoaPods installation failure when building for iOS
iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project. After ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found