Please enable luajit for arm64

Bug #1948699 reported by Alexander Mackie
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nginx (Ubuntu)
Undecided
Unassigned
Bionic
Low
Unassigned

Bug Description

Currently libnginx-mod-http-lua declares architecture-specific build-deps to
choose either liblua5.1 or libluajit-5.1. For the arm64 architecture,
liblua5.1 is used even though luajit is availabile on this architecture.

The following debian bug report describes the problem https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996788

I've locally built nginx with the following change to debian/control and
performed basic testing of the resulting packages:

diff --git a/debian/control b/debian/control
index fe24d3e..3415fd8 100644
--- a/debian/control
+++ b/debian/control
@@ -10,8 +10,8 @@ Build-Depends: debhelper-compat (= 13),
                libgd-dev,
                libgeoip-dev,
                libhiredis-dev,
- liblua5.1-0-dev [!i386 !amd64 !kfreebsd-i386 !armel !armhf !powerpc !powerpcspe !mips !mipsel],
- libluajit-5.1-dev [i386 amd64 kfreebsd-i386 armel armhf powerpc powerpcspe mips mipsel],
+ liblua5.1-0-dev [!i386 !amd64 !kfreebsd-i386 !arm64 !armel !armhf !powerpc !powerpcspe !mips !mipsel],
+ libluajit-5.1-dev [i386 amd64 kfreebsd-i386 arm64 armel armhf powerpc powerpcspe mips mipsel],
                libmaxminddb-dev,
                libmhash-dev,
                libpam0g-dev,

Please enable libluajit for the arm64 builds of libnginx-mod-http-lua. Let me
know if you have concerns about this request or would like to see further
evidence of testing.

Thanks,
Zander

Revision history for this message
Thomas Ward (teward) wrote :

The Lua module has been dropped in Ubuntu since 21.04 due to many more library requirements to keep it up to date and functional. As such, we are not shipping Lua module anymore and do not need the Lua dependencies.

Are you looking for this for a specific Ubuntu release, or for the future, as we've dropped the Lua module in our repositories.

Changed in nginx (Ubuntu):
status: New → Incomplete
Revision history for this message
Alexander Mackie (zmackie) wrote :

In my case, I'm trying to use this module on 18.04, however its good to know that in future it won't be around.

Revision history for this message
Thomas Ward (teward) wrote :

Won't Fix for later releases, dropped in later versions of NGINX packaging in Repositories (21.04 at least)

Changed in nginx (Ubuntu Bionic):
status: New → Incomplete
Changed in nginx (Ubuntu):
status: Incomplete → Won't Fix
tags: added: server-todo
Revision history for this message
Alexander Mackie (zmackie) wrote :

Sounds good. Please let me know if there's more information I need to provide.

Changed in nginx (Ubuntu Bionic):
status: Incomplete → Confirmed
Revision history for this message
Paride Legovini (paride) wrote :

Hi Alexandre,

I had a quick look at this one, and while the change seems simple enough, there are two important questions to answer before we can move it forward:

1. Why do we need libluajit-5.1 instead of liblua5.1? I imagine it's a performance issue, but in order to propose the change for a SRU we need a concrete case that shows that what Bionic currently ships is not adequate.

2. Is the change safe enough to satisfy the SRU requirements [1]? We should be really sure that switching to liblua to libluajit isn't going to cause regressions in production systems, so this point should be made in a very solid way. At the moment I wouldn't be able to.

[1] https://wiki.ubuntu.com/StableReleaseUpdates

Revision history for this message
Alexander Mackie (zmackie) wrote :

Paride -

Yes indeed important considerations. We'll go back and take a look at the usecase. As for #2 in your questions, that's a very high bar. Do you have any examples of instances where you've had to answer this question? I can only imagine the diversity of workloads at play here...

Thanks!
Zander

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I believe this specific section [1] of the SRU page can guide you through what you need to move forward. Here is an example of a SRU bug [2].

[1] https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template
[2] https://bugs.launchpad.net/ubuntu/+source/clevis/+bug/1948598

Changed in nginx (Ubuntu Bionic):
importance: Undecided → Low
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers