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

fatal error: 'boost/preprocessor/control/expr_iif.hpp' file not found #632

Closed
juskek opened this issue Jan 3, 2024 · 8 comments
Closed

Comments

@juskek
Copy link

juskek commented Jan 3, 2024

Description

Followed instructions for using the Expo SDK with TV apps

Throws:

> Task :expo-modules-core:buildCMakeDebug[arm64-v8a]

... long stack trace ...

C/C++: /Users/justinkek/.gradle/caches/transforms-3/03658dcb6075d6cbc41f64dd0325babd/transformed/jetified-react-android-0.73.1-2-debug/prefab/modules/folly_runtime/include/folly/functional/Invoke.h:22:10: fatal error: 'boost/preprocessor/control/expr_iif.hpp' file not found
C/C++: #include <boost/preprocessor/control/expr_iif.hpp>
C/C++:          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: 1 error generated.

> Task :expo-modules-core:buildCMakeDebug[arm64-v8a] FAILED

React Native Version

0.73.1-2

Output of npx react-native info

System:
OS: macOS 14.1.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 35.32 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.19.0
path: ~/.nvm/versions/node/v18.19.0/bin/node
Yarn:
version: 1.22.18
path: /usr/local/bin/yarn
npm:
version: 10.2.3
path: ~/.nvm/versions/node/v18.19.0/bin/npm
Watchman:
version: 2023.12.04.00
path: /usr/local/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.2
- iOS 17.2
- macOS 14.2
- tvOS 17.2
- watchOS 10.2
Android SDK:
API Levels:
- "28"
- "29"
- "30"
- "31"
- "32"
- "33"
- "34"
Build Tools:
- 28.0.3
- 29.0.2
- 30.0.2
- 30.0.3
- 31.0.0
- 32.0.0
- 33.0.0
- 33.0.1
- 34.0.0
System Images:
- android-30 | Google TV Intel x86 Atom
- android-30 | Google APIs Intel x86 Atom
- android-30 | Google APIs Intel x86 Atom_64
- android-30 | Google Play Intel x86 Atom
- android-31 | Google APIs Intel x86 Atom_64
- android-31 | Google Play Intel x86 Atom_64
- android-33 | Google APIs Intel x86_64 Atom
Android NDK: Not Found
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9514443
Xcode:
version: 15.1/15C65
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.9
path: /Users/justinkek/.sdkman/candidates/java/current/bin/javac
Ruby:
version: 2.7.4
path: /Users/justinkek/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native: Not Found
react-native-macos: Not Found
react-native-tvos:
installed: 0.73.1-2
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false

Steps to reproduce

  1. npx create-expo-app -e with-tv
  2. cd into the projectexport EXPO_TV=1
  3. npx expo prebuild
  4. yarn android

Snack, screenshot, or link to a repository

https://github.com/expo/examples/tree/master/with-tv

@joshuaben
Copy link

Confirming the same. Is expo with tv support not yet stable enough for general use?

@kiashan
Copy link

kiashan commented Jan 4, 2024

The same but with metro

@henninghall
Copy link

Downgrading to 0.73.1-1 worked for me

@joshuaben
Copy link

joshuaben commented Jan 4, 2024

Just discovered that setting:

newArchEnabled=true within: android/gradle.properties

when using:

"react-native": "npm:react-native-tvos@0.72.6-1"

is also triggering the above error...

3 errors generated.
ninja: build stopped: subcommand failed.

C++ build system [build] failed while executing:
/Users/joshlongbrake/Library/Android/sdk/cmake/3.22.1/bin/ninja
-C
/Users/joshlongbrake/Projects/.../android/app/.cxx/Debug/554b1l4y/arm64-v8a
appmodules
react_codegen_ReactSlider
react_codegen_rnasyncstorage
react_codegen_rnscreens
react_codegen_rnsvg
react_codegen_safeareacontext

This might be an issue with specific packages and them not playing well with the newer architecture?

@douglowder
Copy link
Collaborator

Confirmed, this issue is reproducible with 0.73.1-2, and not 0.73.1-1. Investigating. I suspect there was some problem with the build of the Android Maven artifacts. The problem does not occur when running yarn ios (Apple TV) instead of yarn android.

@joshuaben per the README in this repo, Expo SDK support is still considered experimental. Note that SDK 50 itself is not generally released yet anyway. Once the SDK 50 release happens, I'll do additional testing before promising production support 😄

@joshuaben
Copy link

Absolutely! I appreciate you being ahead of the curve. Happy to help test when we get there.

@douglowder
Copy link
Collaborator

Confirmed, this was a build issue, likely to do with a problem with the boost artifact downloaded from JFrog during the build (there was an outage). Bumping to 0.73.1-3 today and rebuilding the Maven artifacts, I do not reproduce this issue locally. Publishing shortly. @juskek @joshuaben

@douglowder
Copy link
Collaborator

Fixed in 0.73.1-3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants