Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOS Build fails for Xcode 15 #22832

Closed
GraxMonzo opened this issue Jun 11, 2023 · 4 comments
Closed

IOS Build fails for Xcode 15 #22832

GraxMonzo opened this issue Jun 11, 2023 · 4 comments
Labels
CLI Versioned Expo CLI -- `npx expo start` outdated project: upstream

Comments

@GraxMonzo
Copy link

Summary

Running npx expo run:ios after pre-building the project with the command npx expo prebuild --clean causes a build error for Xcode 15.

After some research I found a similar problem here facebook/react-native#37748 and a pull request that solves this problem facebook/react-native#37758 which was released in the react-native version 0.70.10 . So I tried manually updating the react-native version in package.json to 0.70.10 and running the pre-build via npx expo prebuild --clean --skip-dependency-update expo,react-native to avoid downgrading package version but it didn't do anything.

Build error:

> [email protected] ios
> expo run:ios

› Planning build
› Preparing react-native Pods/React-Core-AccessibilityResources » ResourceBundle-AccessibilityResources-React-Core-Info.plist
› Preparing expo-updates Pods/EXUpdates-EXUpdates » ResourceBundle-EXUpdates-EXUpdates-Info.plist
› Preparing expo-constants Pods/EXConstants-EXConstants » ResourceBundle-EXConstants-EXConstants-Info.plist
› Executing react-native Pods/hermes-engine » [CP] Copy XCFrameworks
› Compiling react-native Pods/Yoga » log.cpp
› Compiling react-native Pods/Yoga » event.cpp
› Compiling react-native Pods/Yoga » experiments.cpp
› Compiling react-native Pods/Yoga » Yoga.cpp
› Compiling react-native Pods/Yoga » Yoga-dummy.m
› Compiling react-native Pods/Yoga » YGValue.cpp
› Compiling react-native Pods/Yoga » YGStyle.cpp
› Compiling react-native Pods/libevent » strlcpy.c
› Compiling react-native Pods/libevent » signal.c
› Compiling react-native Pods/libevent » select.c
› Compiling react-native Pods/libevent » poll.c
› Compiling react-native Pods/libevent » log.c
› Compiling react-native Pods/libevent » listener.c
› Compiling react-native Pods/libevent » libevent-dummy.m
› Compiling react-native Pods/libevent » kqueue.c
› Compiling react-native Pods/libevent » http.c
› Compiling react-native Pods/libevent » evutil_time.c
› Compiling react-native Pods/libevent » evutil_rand.c
› Compiling react-native Pods/libevent » evutil.c
› Compiling react-native Pods/libevent » evthread.c
› Compiling react-native Pods/libevent » evrpc.c
› Compiling react-native Pods/libevent » evmap.c
› Compiling react-native Pods/libevent » event_tagging.c
› Compiling react-native Pods/libevent » event.c
› Compiling react-native Pods/libevent » evdns.c
› Compiling react-native Pods/libevent » bufferevent_sock.c
› Compiling react-native Pods/libevent » bufferevent_ratelim.c
› Compiling react-native Pods/libevent » bufferevent_pair.c
› Compiling react-native Pods/libevent » bufferevent_filter.c
› Compiling react-native Pods/libevent » bufferevent.c
› Compiling react-native Pods/libevent » buffer.c
› Compiling react-native Pods/glog » vlog_is_on.cc
› Compiling react-native Pods/glog » utilities.cc
› Compiling react-native Pods/glog » symbolize.cc
› Compiling react-native Pods/glog » signalhandler.cc
› Compiling react-native Pods/glog » raw_logging.cc
› Compiling react-native Pods/glog » logging.cc
› Compiling react-native Pods/glog » glog-dummy.m
› Compiling react-native Pods/glog » demangle.cc
› Compiling react-native Pods/fmt » format.cc
› Packaging react-native Pods/libevent » liblibevent.a
› Compiling react-native Pods/fmt » fmt-dummy.m
› Compiling react-native Pods/Yoga » YGNodePrint.cpp
› Compiling react-native Pods/Yoga » YGNode.cpp
› Compiling react-native Pods/Yoga » YGLayout.cpp
› Compiling react-native Pods/Yoga » YGEnums.cpp
› Compiling react-native Pods/Yoga » YGConfig.cpp
› Compiling react-native Pods/Yoga » Utils.cpp
› Compiling react-native Pods/React-perflogger » React-perflogger-dummy.m
› Compiling react-native Pods/React-perflogger » BridgeNativeModulePerfLogger.cpp
› Compiling react-native Pods/React-logger » react_native_log.cpp
› Packaging react-native Pods/React-perflogger » libReact-perflogger.a
› Packaging react-native Pods/glog » libglog.a
› Compiling react-native Pods/React-logger » React-logger-dummy.m
› Compiling react-native Pods/React-jsinspector » React-jsinspector-dummy.m
› Compiling react-native Pods/React-jsinspector » InspectorInterfaces.cpp
› Compiling react-native Pods/RCT-Folly » json_pointer.cpp
› Compiling react-native Pods/RCT-Folly » json.cpp

❌  (ios/Pods/boost/boost/container_hash/hash.hpp:131:33)

  129 | #else
  130 |         template <typename T>
> 131 |         struct hash_base : std::unary_function<T, std::size_t> {};
      |                                 ^ no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
  132 | #endif
  133 | 
  134 |         struct enable_hash_value { typedef std::size_t type; };

› Compiling react-native Pods/RCT-Folly » dynamic.cpp
› Compiling react-native Pods/RCT-Folly » WaitOptions.cpp
› Compiling react-native Pods/RCT-Folly » VirtualEventBase.cpp
› Packaging react-native Pods/Yoga » libYoga.a
› Compiling react-native Pods/RCT-Folly » UniqueInstance.cpp
› Compiling react-native Pods/RCT-Folly » Unicode.cpp
› Compiling react-native Pods/RCT-Folly » Try.cpp
› Packaging react-native Pods/React-jsinspector » libReact-jsinspector.a
› Packaging react-native Pods/fmt » libfmt.a
› Compiling react-native Pods/RCT-Folly » ToAscii.cpp
› Compiling react-native Pods/RCT-Folly » TimeoutManager.cpp
› Compiling react-native Pods/RCT-Folly » TimekeeperScheduledExecutor.cpp
› Compiling react-native Pods/RCT-Folly » TimedDrivableExecutor.cpp
› Compiling react-native Pods/RCT-Folly » ThreadedExecutor.cpp
› Compiling react-native Pods/RCT-Folly » ThreadWheelTimekeeper.cpp
› Compiling react-native Pods/RCT-Folly » ThreadPoolExecutor.cpp
› Compiling react-native Pods/RCT-Folly » ThreadName.cpp
› Compiling react-native Pods/RCT-Folly » ThreadLocalDetail.cpp
› Compiling react-native Pods/RCT-Folly » ThreadId.cpp
    Run script build phase '[CP-User] Generate app.manifest for expo-updates' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXUpdates' from project 'Pods')
    Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
    Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'roomsi' from project 'roomsi')
    Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'roomsi' from project 'roomsi')

› 1 error(s), and 4 warning(s)

CommandError: Failed to build iOS project. "xcodebuild" exited with error code 65.

What platform(s) does this occur on?

iOS

SDK Version

48.0.19

Environment

expo-env-info 1.0.5 environment info:
System:
OS: macOS 14.0
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.14.2 - ~/.nvm/versions/node/v18.14.2/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v18.14.2/bin/yarn
npm: 9.5.0 - ~/.nvm/versions/node/v18.14.2/bin/npm
Managers:
CocoaPods: 1.12.0 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.0, iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0
IDEs:
Xcode: 15.0/15A5160n - /usr/bin/xcodebuild
npmPackages:
expo: ~48.0.19 => 48.0.19
react: 18.2.0 => 18.2.0
react-dom: ^18.2.0 => 18.2.0
react-native: 0.71.10 => 0.71.10
npmGlobalPackages:
eas-cli: 3.11.0
Expo Workflow: bare

Minimal reproducible example

npx expo prebuild with Xcode 15 Beta

@GraxMonzo GraxMonzo added CLI Versioned Expo CLI -- `npx expo start` needs validation Issue needs to be validated labels Jun 11, 2023
@expo-bot expo-bot removed the needs validation Issue needs to be validated label Jun 11, 2023
@byCedric
Copy link
Member

Hi @GraxMonzo! Thanks for reporting this issue. Unfortunately, this is caused by an issue in React Native itself. I can see you already found the thread, just pasting it here to connect it from this end as well: facebook/react-native#37748

Once React Native 0.71.11 is released, this should be fixed.

@byCedric
Copy link
Member

@GraxMonzo React Native 0.71.11 is out! If you upgrade to this version, I assume this is fixed, which should be compatible with Expo SDK 48.

If you run into anything else, feel free to let us know!

@dohooo
Copy link

dohooo commented Jul 12, 2023

@GraxMonzo React Native 0.71.11 is out! If you upgrade to this version, I assume this is fixed, which should be compatible with Expo SDK 48.

If you run into anything else, feel free to let us know!

Hi thanks for your help, But I found the react-native version automatic changed to 0.71.8 after modify the version from 0.71.8 to 0.71.12 when I execute expo prebuild. Is that about this arguments?

expo prebuild --clean --skip-dependency-update react-native # It works, the version didn't change.

How to avoid this happening and do not need to use this argument? Is wait for the newer version of Expo@48.* ?

@FeMaffezzolli
Copy link

@GraxMonzo React Native 0.71.11 is out! If you upgrade to this version, I assume this is fixed, which should be compatible with Expo SDK 48.

If you run into anything else, feel free to let us know!

Upgrading the version to 0.71.11 solved the problem for me.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CLI Versioned Expo CLI -- `npx expo start` outdated project: upstream
Projects
None yet
Development

No branches or pull requests

5 participants