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

NGINX ABI compatibility #13

Open
dvershinin opened this issue Jan 27, 2023 · 1 comment
Open

NGINX ABI compatibility #13

dvershinin opened this issue Jan 27, 2023 · 1 comment

Comments

@dvershinin
Copy link

Hi,

Are you going to keep the ABI compatibility between NGINX and Angie?

E.g. from the latest release:

Feature: all functionality of nginx 1.23.3.

Does this mean dynamic modules compiled using --with-compat against NGINX 1.23.3 would work with that Angie release without problems?

@VBart
Copy link
Contributor

VBart commented Jan 27, 2023

Hi,

Unfortunately, it's not practically possible to maintain ABI compatibility between Angie and nginx for the same reasons as there's no ABI compatibility even between two minor versions of nginx (like nginx 1.23.2 and 1.23.3).

Any bugfix or even small feature can easily (and sometimes unintentionally) alter ABI in nginx, not to mention rich feature set implemented in Angie and planned.

The --with-compat flag doesn't help here as its purpose to maintain ABI compatibility between nginx open-source builds and related commercial versions. In order to make it work also for Angie, we need to add relevant changes and specific placeholders to nginx source code, which isn't under our control.

So, we had to drop the idea of trying to maintain such compatibility and added special check that prevents loading modules compiled for nginx into Angie. Those modules need to be recompiled for Angie.

We do our best-effort to maintain API compatibility, but as more features and improvements we will add, then more likely it can be lost at some point.

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

2 participants