pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/56637: Disable LuaJIT2 support on SunOS derivates



>Number:         56637
>Category:       pkg
>Synopsis:       Disable LuaJIT2 support on SunOS derivates
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 17 07:10:00 +0000 2022
>Originator:     Claes Nästén
>Release:        trunk 2022-01-01
>Organization:
>Environment:
SunOS 5.10 i86pc i386 i86pc

>Description:
LuaJIT2 relies on allocating pointers that fit in < 32 bits on 64bit platforms and the current implementation fails to do so on Solaris 10 not starting at all and on SmartOS it intermittently fails with out of memory errors.

Suggest disabling LuaJIT2 in platform.mk for SunOS until it has been resolved and instead get functional packages falling back to C LUA (where supported)
>How-To-Repeat:
On x86_64 Solaris 10:

% luajit 
luajit: cannot create state: not enough memory

And I've seen similar errors using neovim on SmartOS.
>Fix:
diff --git a/lang/LuaJIT2/platform.mk b/lang/LuaJIT2/platform.mk
index 679c094a64a..8887c862844 100644
--- a/lang/LuaJIT2/platform.mk
+++ b/lang/LuaJIT2/platform.mk
@@ -4,15 +4,19 @@
 
 .if !defined(PLATFORM_SUPPORTS_LUAJIT)
 
-.  for _luajit_arch in *arm* i386 mipseb mipsel powerpc x86_64
+# LuaJIT struggle on Illumos derivates with random crashes and fails
+# completely on Solaris
+.  if ${OPSYS} != "SunOS"
+.    for _luajit_arch in *arm* i386 mipseb mipsel powerpc x86_64
 LUAJIT_PLATFORMS+=             *-*-${_luajit_arch}
-.  endfor
+.    endfor
 
-.  for _luajit_platform in ${LUAJIT_PLATFORMS}
-.    if !empty(MACHINE_PLATFORM:M${_luajit_platform})
+.    for _luajit_platform in ${LUAJIT_PLATFORMS}
+.      if !empty(MACHINE_PLATFORM:M${_luajit_platform})
 PLATFORM_SUPPORTS_LUAJIT=      yes
-.    endif
-.  endfor
+.      endif
+.    endfor
+.  endif
 PLATFORM_SUPPORTS_LUAJIT?=     no
 
 .endif # !defined(PLATFORM_SUPPORTS_LUAJIT)



Home | Main Index | Thread Index | Old Index