0

I was trying to install manually CocoaPods into my React Native project

  1. Fix command-line tools path in XCode.

  2. Manually created ios folder in the project directory.

  3. Manually install CocoaPods, but this is the error I got:

    [!] /bin/bash -c 
    set -e
    #!/bin/bash
    
    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/"
    
    /bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
    
andrey.shedko
  • 3,128
  • 10
  • 61
  • 121
  • Check the answers here https://stackoverflow.com/questions/57395463/react-native-glog-ios-unknown-type-name-start-google-namespace – paiv Apr 22 '21 at 15:24

1 Answers1

0

Open the file node_modules/react-native/scripts/ios-configure-glog.sh in Sublime Text editor, change the line endings with View > Line Endings > Mac OS 9, save and try pod install, it works. Note: It doesn't works when you change to Unix line endings so must to Mac OS 9 in sublime text or some equivalent mac line ending from other tools.

If you want a better solution or more info on the problem, please see https://github.com/facebook/react-native/issues/28217.

yum
  • 1,125
  • 1
  • 8
  • 14