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

Inhibit versioning of generated .so files as #68

Merged
merged 1 commit into from
Jul 25, 2022

Conversation

andybrucenet
Copy link

Xamarin refuses to load .so files with a version if these files are listed as NEEDED in dependent .so files.

Example: Had to adapt https://github.com/herumi/msoffice to be consumable by Android Xamarin app. When building msoffice, it depends on libcrypto.so so used "-L[path] -lcrypto" using stock openssl_for_ios_and_android Android build. However, this failed to load at runtime because NEEDED section in the created msoffice.so file referenced "libcrypto.so.1.1" (versioned) due to setting SONAME in the generated libcrypto.so output. "Fixed" by inhibiting version...

Note: because native libs are sandboxed on iOS and Android there should not be a need for versioning unless there existed situation where different native libs actually required different versions of dependent .so. (Example: If one native lib requires v1.0c of libcrypto while another native lib requires v1.1.) However, this should be the rarest edge condition and I don't think the openssl_for_ios_and_android out-of-the-box build should account for it.

@jiek233
Copy link

jiek233 commented Jul 23, 2022 via email

@leenjewel leenjewel merged commit ccd02ba into leenjewel:master Jul 25, 2022
@leenjewel
Copy link
Owner

Thanks for your contribution

@jiek233
Copy link

jiek233 commented Oct 11, 2022 via email

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

Successfully merging this pull request may close these issues.

3 participants