Search code examples
iosreact-nativecocoapodspod-install

I get an Error when I use pod-install in react native


I tried to reinstall/update cocoapods, ruby, ffi and I dont really have a clue about that error or developing for apple in general. It seems to have a Problem with the Arch type? I work on an M1 Mac, could that be a problem? Does someone know this error or has a solution?

here is the Error:

Downloading dependencies
Installing BEMCheckBox (1.4.1)
Installing DoubleConversion (1.1.6)
Installing FBLazyVector (0.71.4)
Installing FBReactNativeSpec (0.71.4)
Installing Permission-Camera (3.8.0)
Installing RCT-Folly (2021.07.22.00)
Installing RCTRequired (0.71.4)
Installing RCTTypeSafety (0.71.4)
Installing RNCAsyncStorage (1.18.1)
Installing RNCCheckbox (0.5.15)
Installing RNGestureHandler (2.9.0)
Installing RNPermissions (3.8.0)
Installing RNSVG (13.9.0)
Installing RNVectorIcons (9.2.0)
Installing React (0.71.4)
Installing React-Codegen (0.71.4)
Installing React-Core (0.71.4)
Installing React-CoreModules (0.71.4)
Installing React-RCTActionSheet (0.71.4)
Installing React-RCTAnimation (0.71.4)
Installing React-RCTAppDelegate (0.71.4)
Installing React-RCTBlob (0.71.4)
Installing React-RCTImage (0.71.4)
Installing React-RCTLinking (0.71.4)
Installing React-RCTNetwork (0.71.4)
Installing React-RCTSettings (0.71.4)
Installing React-RCTText (0.71.4)
Installing React-RCTVibration (0.71.4)
Installing React-callinvoker (0.71.4)
Installing React-cxxreact (0.71.4)
Installing React-hermes (0.71.4)
Installing React-jsi (0.71.4)
Installing React-jsiexecutor (0.71.4)
Installing React-jsinspector (0.71.4)
Installing React-logger (0.71.4)
Installing React-perflogger (0.71.4)
Installing React-runtimeexecutor (0.71.4)
Installing ReactCommon (0.71.4)
Installing Yoga (1.14.0)
Installing boost (1.76.0)
Installing fmt (6.2.1)
Installing glog (0.3.5)
[!] /bin/bash -c 
set -e
#!/bin/bash
# Copyright (c) Meta Platforms, Inc. and 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="arm64"
    fi
fi

# @lint-ignore-every TXT2 Tab Literal
if [ "$CURRENT_ARCH" == "arm64" ]; then
    cat <<\EOF >>fix_glog_0.3.5_apple_silicon.patch
diff --git a/config.sub b/config.sub
index 1761d8b..43fa2e8 100755
--- a/config.sub
+++ b/config.sub
@@ -1096,6 +1096,9 @@ case $basic_machine in
        basic_machine=z8k-unknown
        os=-sim
        ;;
+   arm64-*)
+       basic_machine=$(echo $basic_machine | sed 's/arm64/aarch64/')
+       ;;
    none)
        basic_machine=none-none
        os=-none
EOF

    patch -p1 config.sub fix_glog_0.3.5_apple_silicon.patch
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

# Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak
sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak

./configure --host arm-apple-darwin

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 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/"

patching file config.sub
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... /Library/Developer/CommandLineTools/usr/bin/cc -arch arm64 -isysroot 
checking whether the C compiler works... no
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'
/Users/felixscherb/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94/missing: Unknown `--is-lightweight' option
Try `/Users/felixscherb/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/felixscherb/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94':
configure: error: C compiler cannot create executables
See `config.log' for more details

I really dont know what to do with that.

EDIT: I got it working with the following command:

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

Solution

  • I got it working with the following command:

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