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

[Bug]: Expo SDK 49 #66

Closed
1 of 2 tasks
BlueBazze opened this issue Aug 22, 2023 · 17 comments
Closed
1 of 2 tasks

[Bug]: Expo SDK 49 #66

BlueBazze opened this issue Aug 22, 2023 · 17 comments
Labels
bug Something isn't working

Comments

@BlueBazze
Copy link
Contributor

BlueBazze commented Aug 22, 2023

Version

v1.2.3

Which operating systems have you used?

  • Android
  • iOS

Environment that reproduces the issue

Any expo build for android.

Is it reproducible in the example application?

No

RTMP Server

192.168.2.28:1935

Reproduction steps

Reproduction: https://github.com/BlueBazze/expo-49-livestream-build-error/tree/master

Trying to build the reproduction throws the error mentioned in the Relevant logs output.
Building the reproduction is descriped in the reproductions' README

Expected result

Build succeeds

Actual result

Build throws the error mentioned in relevant logs output.

Additional context

Trying to use this package with Expo SDK 49 throws the error.
SDK 49 runs on React Native version 0.72.3

Haven't tested iOS

Found this related issue on another RN package: margelo/react-native-quick-crypto#186

At the moment of writing this i would consider this low priority.
Google's latest requirement is android target api 33 which takes effect in 9 days relative to the creation of this github issue.
Expo SDK 48 is supported until SDK 50 is released. And SDK 48 is android targeting api 33

Relevant logs output

[stderr] 
FAILURE: Build failed with an exception.

[stderr] 
* What went wrong:

[stderr] 
Execution failed for task ':app:mergeDebugNativeLibs'.

[stderr] 
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction

[stderr] 
   > 2 files found with path 'lib/arm64-v8a/libcrypto.so' from inputs:

[stderr] 
      - /home/expo/.gradle/caches/transforms-3/96aa0437b2be82ab10ada7819631979e/transformed/jetified-flipper-0.182.0/jni/arm64-v8a/libcrypto.so

[stderr] 
- /home/expo/.gradle/caches/transforms-3/4f404765331db8d43fd810e44289770b/transformed/jetified-rtmpdroid-1.0.5/jni/arm64-v8a/libcrypto.so

[stderr] 
     If you are using jniLibs and CMake IMPORTED targets, see

[stderr] 
     https://developer.android.com/r/tools/jniLibs-vs-imported-targets
@BlueBazze BlueBazze added the bug Something isn't working label Aug 22, 2023
@BlueBazze
Copy link
Contributor Author

I'll look further into this when i get the time if it has not been resolved.
If there are any questions, or explanation need. I will happily answer.

@ThibaultBee
Copy link
Member

Hi,
Thank for reporting this issue.
This is something we are aware of but the solution is not easy.

I started to upgrade the project with new architecture and new RN version in #67
But I am kind of stuck for now.

@b4rtt
Copy link

b4rtt commented Sep 13, 2023

Hi, Is there an update? We tried to get everything working but unfortunately it's not working. :-( Do you know if downgrading to expo 38 will help?

@BlueBazze
Copy link
Contributor Author

@b4rtt Downgrading to 38 will yeet you into 2019.

This library works with SDK 48. I am using this version.
Unfortunately this project needs to support fabric to be used in SDK 49 or higher.

@coofzilla
Copy link

having the same issue, any updates?

@ThibaultBee
Copy link
Member

Thanks @BlueBazze for the answer.

As long as Fabric does not support swift and openssl 3, there won't unfortunately be anything released.

@lazydevpro
Copy link

@ThibaultBee do we have any luck yet? is there any alternative or workaround right now that is as good as this?

@ThibaultBee
Copy link
Member

@BlueBazze

I have fixed this issue in #67

@BlueBazze
Copy link
Contributor Author

BlueBazze commented Dec 21, 2023

Cool. What did you end up doing about OpenSSL?

Noticed you mentioned some annoyances with iOS in #67. I have a few days available next week if you want any help.

@ThibaultBee
Copy link
Member

I made a single large shared library librtmpdroid.so that embed libssl.so and libcrypto.so instead of having multiple shared libraries.
The counterpart is that the RN library will embed twice libssl.so and libcrypto.so, so the application will be larger.

Noticed you mentioned some annoyances with iOS in #67. I have a few days available next week if you want any help.

Cool, I would appreciate if you could help on the iOS new arch. 🙏

@BlueBazze
Copy link
Contributor Author

BlueBazze commented Dec 28, 2023

@ThibaultBee I've played around with it.
Havent been able to get the project started.
Keep getting The Swift pod "react-native-livestream" depends upon "glog", which does not define modules.
Tomorrow i will try to initiate a new objc module and try to get it working there.
Hopefully it can work. Cause Haishinkit has some strong opinions about objc.

Btw, i found this package that uses swift and seems to have a working bridge. https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/packages/react-native-avoid-softinput/ReactNativeAvoidSoftinput.podspec

@ThibaultBee
Copy link
Member

ThibaultBee commented Jan 2, 2024

oh, thanks. I had a look on the project, there might a start of a solution

Unfortunately, on my side, it seems that RCT_NEW_ARCH_ENABLED is never defined when I try to build for the new arch even when I use RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
🤷

This new architecture is really a pain to implement :(

Edit:
Seems like files must have the mm extension instead of the m extension. 🤦

@ThibaultBee
Copy link
Member

The dev is done. I will tackle a last issue with the Android preview.

But... the release is not ready yet. We are expecting feedbacks/tests from the community before releasing. See #67

@BlueBazze
Copy link
Contributor Author

The dev is done. I will tackle a last issue with the Android preview.

But... the release is not ready yet. We are expecting feedbacks/tests from the community before releasing. See #67

I've set a few days within the next 10 days for testing, hopefully before this friday.
I imagine that ill create a demo expo app that you can have afterwards if you want it.

Since this issue was created Expo has been updated to SDK 50 being the latest at the moment.
SDK 50 has updated to React Native 0.73 and support for older versions than SDK 49 has been dropped.

@ThibaultBee
Copy link
Member

Hi,

Is it solved with release 2.0.0?

@BlueBazze
Copy link
Contributor Author

Theoretically yes. I built the expo demo just fine in the other issue. But haven't ran any builds after the release with fabric

@ThibaultBee
Copy link
Member

Ok. Thanks for the answer.
We are closing it for now. Please reopen if it is not fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants