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.

eas build: hermes requires libicu-dev on the OS for building [rn new architecture]

See original GitHub issue

Build/Submit details page URL

https://expo.dev/accounts/johanneshartl/projects/fiskalcheck/builds/7959e10b-8e40-4642-a353-82c50dd94b54

Summary

When trying to build an app on eas-build, the image is missing the required ICU libraries for hermes. When using the new architecture Hermes is mandatory => new architecture won’t work with eas build

“To avoid substantially increasing the binary size of Hermes, we decided to implement it with another strategy by consuming and mapping the ICU facilities provided by the libraries included in the operating systems, at the cost of some (often minor) variance in behaviors across platforms.” - https://reactnative.dev/blog/2021/10/26/toward-hermes-being-the-default

Managed or bare?

bare

Environment

npx expo-env-info:

  expo-env-info 1.0.5 environment info:
    System:
      OS: Linux 5.14 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)
      Shell: 5.1.16 - /bin/bash
    Binaries:
      Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
      Yarn: 1.22.19 - ~/projects/fiskalcheck/frontend/node_modules/.bin/yarn
      npm: 8.11.0 - ~/.nvm/versions/node/v16.16.0/bin/npm
      Watchman: 4.9.0 - /usr/bin/watchman
    SDKs:
      Android SDK:
        API Levels: 30, 31
        Build Tools: 30.0.2, 30.0.3, 31.0.0, 33.0.0
    npmPackages:
      expo: ^47.0.7 => 47.0.7 
      react: 18.1.0 => 18.1.0 
      react-dom: 18.1.0 => 18.1.0 
      react-native: 0.70.5 => 0.70.5 
    npmGlobalPackages:
      eas-cli: 2.7.1
      expo-cli: 6.0.8
    Expo Workflow: bare

expo doctor:

Expected package @expo/config-plugins@^5.0.2

Found invalid:
  @expo/config-plugins@5.0.1
  (for more info, run: npm why @expo/config-plugins)
Expected package @expo/prebuild-config@^5.0.5
Found invalid:
  @expo/prebuild-config@5.0.3
  (for more info, run: npm why @expo/prebuild-config)

Error output

Task ':ReactAndroid:hermes-engine:configureBuildForHermes'.

[RUN_GRADLEW] CMake Error at CMakeLists.txt:523 (message):
[RUN_GRADLEW]   Unable to find ICU.

. . .

[RUN_GRADLEW] -- The following ICU libraries were not found:
[RUN_GRADLEW] --   uc (required)
[RUN_GRADLEW] --   i18n (required)
[RUN_GRADLEW] --   data (required)
[RUN_GRADLEW] --   uc (required)
[RUN_GRADLEW] -- Failed to find all ICU components (missing: ICU_INCLUDE_DIR ICU_LIBRARY _ICU_REQUIRED_LIBS_FOUND) (Required is at least version "52")
[RUN_GRADLEW] -- Configuring incomplete, errors occurred!

Reproducible demo or steps to reproduce from a blank project

  • setup eas bare workflow project with RN-0.75
  • add expo-localization & i18n (i18next)
  • enable new architecture
  • run eas build --platform android

Issue Analytics

  • State:closed
  • Created 10 months ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
wkozyra95commented, Nov 25, 2022

We don’t have a date for official support, but the missing ICU should be added after the weekend.

1reaction
wkozyra95commented, Nov 24, 2022

this is not about sudo persmission, your script file does not have execute permission. You need to run chmod +x ./scripts/eas-buld-pre-install.sh locally and build again

Read more comments on GitHub >

github_iconTop Results From Across the Web

Using Hermes Engine - Expo Documentation
A guide on configuring Hermes for both Android and iOS in an Expo project. ... Development builds will need to be recompiled with...
Read more >
react native error, Could not find which method maven() to ...
im using react native version 0.68.4 and when i run npm run android i get this error. Where: Build file ...
Read more >
React Native: What You Need To Know About Hermes.
We built a new JavaScript engine we call Hermes. It is designed to improve app performance, focusing on our. React Native apps, even...
Read more >
uNA - River Thames Conditions
Lewis structure bond energy, Do voodoo friends really work, Jotron usa, Coming up easy ... E46 318ci oil separator, Harga henna arzoo, Require...
Read more >
error failed to load configuration of your project. info run cli with
In Xcode, you need to add a new device called "iPhone X". Also answered here: ... expo/eas-cliEAS build error when adding dev dependencies#1263....
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