mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix RNTester hermesc build issue on iOS (#51989)
Summary: I am not sure exactly why, but I've been getting this error when running RNTester on iOS, when it tries to build hermesc from source. We're clearing the env using `env -i` which seems to cause the issue. If I add PATH to the env we set then it builds fine. ``` ++ hermesc_dir_path=/Users/janicduplessis/Developer/react-native/packages/rn-tester/Pods/hermes-engine/build_host_hermesc ++ shift ++ jsi_path=/Users/janicduplessis/Developer/react-native/packages/rn-tester/Pods/../../react-native/ReactCommon/jsi +++ xcode-select -p ++ SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk ++ env -i SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /opt/homebrew/bin/cmake -S /Users/janicduplessis/Developer/react-native/packages/rn-tester/Pods/hermes-engine -B /Users/janicduplessis/Developer/react-native/packages/rn-tester/Pods/hermes-engine/build_host_hermesc -DJSI_DIR=/Users/janicduplessis/Developer/react-native/packages/rn-tester/Pods/../../react-native/ReactCommon/jsi CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! Command PhaseScriptExecution failed with a nonzero exit code ``` ## Changelog: [INTERNAL] [FIXED] - Fix RNTester hermesc build issue on iOS Pull Request resolved: https://github.com/facebook/react-native/pull/51989 Test Plan: Build RN tester locally Reviewed By: cortinico Differential Revision: D76606335 Pulled By: cipolleschi fbshipit-source-id: f442b77aefb3afacd6d9fb1f3d515b8d63c526ba
This commit is contained in:
1 parent
98f5a4e118
commit
1da608f6f1
1 file changed
+11
-3
@@ -10,9 +10,17 @@ hermesc_dir_path="$1"; shift
|
||||
jsi_path="$1"
|
||||
|
||||
# This script is supposed to be executed from Xcode "run script" phase.
|
||||
# Xcode sets up its build environment based on the build target (iphone, iphonesimulator, macodsx).
|
||||
# Xcode sets up its build environment based on the build target (iphone, iphonesimulator, macosx).
|
||||
# We want to make sure that hermesc is built for mac.
|
||||
# So we clean the environment with env -i, and explicitly set SDKROOT to macosx
|
||||
SDKROOT=$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
|
||||
env -i SDKROOT="$SDKROOT" "$CMAKE_BINARY" -S "${PODS_ROOT}/hermes-engine" -B "$hermesc_dir_path" -DJSI_DIR="$jsi_path"
|
||||
env -i SDKROOT="$SDKROOT" "$CMAKE_BINARY" --build "$hermesc_dir_path" --target hermesc -j "$(sysctl -n hw.ncpu)"
|
||||
|
||||
env -i \
|
||||
PATH="$PATH" \
|
||||
SDKROOT="$SDKROOT" \
|
||||
"$CMAKE_BINARY" -S "${PODS_ROOT}/hermes-engine" -B "$hermesc_dir_path" -DJSI_DIR="$jsi_path"
|
||||
|
||||
env -i \
|
||||
PATH="$PATH" \
|
||||
SDKROOT="$SDKROOT" \
|
||||
"$CMAKE_BINARY" --build "$hermesc_dir_path" --target hermesc -j "$(sysctl -n hw.ncpu)"
|
||||
Reference in new issue
Block a user