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.

/bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

See original GitHub issue

Description:

As suggested by the docs, I uninstalled global react-native-cli, and use npx instead. I encounter this error when running : npx react-native init AwesomeProject as the error suggests, I run cd ./AwesomeProject/ios && pod install But still get the same error during installation of glog as follow:

/bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

React Native version:

Run `react-native info` in your terminal and copy the results here.

bash: react-native: command not found

Steps To Reproduce

  1. brew install node
  2. brew install watchman
  3. sudo gem install cocoapods -n /usr/local/bin
  4. npx react-native init AwesomeProject

Expected Results

An error during Installing glog (0.3.5).

Installing glog (0.3.5) [!] /bin/bash -c set -e #!/bin/bash

Copyright © 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/”

/bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:22

github_iconTop GitHub Comments

43reactions
EmperorEarthcommented, Mar 9, 2020

hat tip to elpardo farther down in this thread

  • check your git’s global autocrlf setting
    • git config --global core.autocrlf
    • repository one doesn’t matter for this issue (my repo setting was right but my global one was wrong)
  • if it isn’t already, set it to input on macOS (false also works, see documentation link below)
    • git config --global --add core.autocrlf input

git’s core.autocrlf documentation

Hacky workaround spoilered to avoid misleading used these instructions a couple of days ago after reading a few dozen comments across several threads for convenience, most lines can be triple clicked to copy/paste assumed you are comfortable editing in `vi`, if not, you'll need to adjust as necessary

on ios

  • starting from RN project root
  • vi node_modules/react-native/scripts/ios-configure-glog.sh
    • :w ++ff=mac
      • saves in mac line endings
  • vi node_modules/react-native/scripts/ios-install-third-party.sh
    • replace SCRIPTDIR=$(dirname "$0") with
      • SCRIPTDIR=$(pwd)/$(dirname "$0")
    • replace fetch_and_unpack glog-0.3.5.tar.gz https://github.com/google/glog/archive/v0.3.5.tar.gz 61067502c5f9769d111ea1ee3f74e6ddf0a5f9cc "\"$SCRIPTDIR/ios-configure-glog.sh\"" with
      • fetch_and_unpack glog-0.3.5.tar.gz https://github.com/google/glog/archive/v0.3.5.tar.gz 61067502c5f9769d111ea1ee3f74e6ddf0a5f9cc "sh \"$SCRIPTDIR/ios-configure-glog.sh\""
    • :wq
  • cd node_modules/react-native/scripts/ && ./ios-install-third-party.sh
  • cd third-party/ && cd glog-0.3.5/src && ./configure && ./make && cd ../..
  • cp -a glog-0.3.5/src/. ../../../../ios/Pods/glog/src/ && cp -a folly-2018.10.22.00/folly/. ../../../../ios/Pods/Folly/folly
  • cd ../../../../ios && pod update
2reactions
ramses429commented, Apr 27, 2020

git config --global core.autocrlf input solve for mac https://help.github.com/en/github/using-git/configuring-git-to-handle-line-endings

Read more comments on GitHub >

github_iconTop Results From Across the Web

"/bin/bash^M: bad interpreter: No such file or directory" - Stack ...
Run following command in terminal sed -i -e 's/\r$//' scriptname.sh. Then try ./scriptname.sh. It should work.
Read more >
Resolve Issue: Bin/Bash^M: Bad Interpreter: No Such File Or ...
To fix the error in the Windows operating system, open the bash script file in the Notepad++ editor and then go to the...
Read more >
bin/bash^M: bad interpreter: No such file or directory
DOS uses a carriage return (^M) with a line feed therefore linux system confused and thinks the script should be executed by /bin/bash^M...
Read more >
Not able to execute a .sh file: /bin/bash^M: bad interpreter
The script indicates that it must be executed by a shell located at /bin/bash^M . There is no such file: it's called /bin/bash...
Read more >
How To Fix Bad Interpreter No Such File or Directory Error
If your system shows a bad interpreter, no such file or directory is an error message probably it is caused by having a...
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