mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Luvi 2.14.0 fails to build with GCC 14.x for several reasons due to
too old lua-openssl 0.8.2-0 submodule:
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/ocsp.c: In function 'openssl_ocsp_request_read':
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/ocsp.c:124:29: error: passing argument 1 of 'PEM_ASN1_read_bio' from incompatible pointer type [-Wincompatible-pointer-types]
124 | OCSP_REQUEST *req = pem ? PEM_read_bio_OCSP_REQUEST(bio, NULL, NULL)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char * (*)()
Fixed in lua-openssl by [1].
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/x509.c: In function 'openssl_push_general_name':
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/x509.c:377:45: error: passing argument 2 of 'openssl_push_asn1type' from incompatible pointer type [-Wincompatible-pointer-types]
377 | openssl_push_asn1type(L, general_name->d.x400Address);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~
| |
| ASN1_STRING * {aka struct asn1_string_st *}
Fixed in lua-openssl by [2].
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/openssl.c: In function 'luaclose_openssl':
TestLuvi/build/luvi-2.14.0/deps/lua-openssl/src/stdatomic.h:387:9: error: implicit declaration of function '__c11_atomic_fetch_sub'; did you mean '__atomic_fetch_sub'? [-Wimplicit-function-declaration]
387 | __c11_atomic_fetch_sub(object, operand, order)
Fixed in lua-openssl by [3].
Instead of fixing one by one each issues, update to the latest release
that include lua-openssl 0.9.0-0. Luvi v2.15.0 still have some GCC 14.x
issues, backport two additional patches.
Download luvi sources using git method since the release archive
no longer include the release version in its name [4].
Luvi switched to PCRE2 [5], update the optional dependency.
Update TestLuvi to select PCR2 package.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124430 (TestLuvi)
[1] bfeedbe8c0
[2] e5b5420cc5
[3] cfcaa16d1a
[4] https://github.com/luvit/luvi/releases/download/v2.15.0/luvi-source.tar.gz
[5] https://github.com/luvit/luvi/releases/tag/v2.15.0
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
73 lines
2.1 KiB
Makefile
73 lines
2.1 KiB
Makefile
################################################################################
|
|
#
|
|
# luvi
|
|
#
|
|
################################################################################
|
|
|
|
LUVI_VERSION = v2.15.0
|
|
LUVI_SITE = https://github.com/luvit/luvi.git
|
|
LUVI_SITE_METHOD = git
|
|
LUVI_GIT_SUBMODULES = YES
|
|
LUVI_LICENSE = Apache-2.0
|
|
LUVI_LICENSE_FILES = LICENSE.txt
|
|
LUVI_DEPENDENCIES = libuv luajit luv host-luajit host-pkgconf
|
|
|
|
# Dispatch all architectures of LuaJIT
|
|
ifeq ($(BR2_i386),y)
|
|
LUVI_TARGET_ARCH = x86
|
|
else ifeq ($(BR2_x86_64),y)
|
|
LUVI_TARGET_ARCH = x64
|
|
else ifeq ($(BR2_powerpc),y)
|
|
LUVI_TARGET_ARCH = ppc
|
|
else ifeq ($(BR2_arm)$(BR2_armeb),y)
|
|
LUVI_TARGET_ARCH = arm
|
|
else ifeq ($(BR2_aarch64),y)
|
|
LUVI_TARGET_ARCH = arm64
|
|
else ifeq ($(BR2_aarch64_be),y)
|
|
LUVI_TARGET_ARCH = arm64be
|
|
else ifeq ($(BR2_mips),y)
|
|
LUVI_TARGET_ARCH = mips
|
|
else ifeq ($(BR2_mipsel),y)
|
|
LUVI_TARGET_ARCH = mipsel
|
|
else
|
|
LUVI_TARGET_ARCH = $(BR2_ARCH)
|
|
endif
|
|
|
|
# LUAJIT_VERSION and the luajit installation path may not use the
|
|
# same value. Use the value from luajit.pc file.
|
|
LUVI_LUAJIT_MAJVER = `$(PKG_CONFIG_HOST_BINARY) --variable=majver luajit`
|
|
LUVI_LUAJIT_MINVER = `$(PKG_CONFIG_HOST_BINARY) --variable=minver luajit`
|
|
|
|
# Bundled lua bindings have to be linked statically into the luvi executable
|
|
LUVI_CONF_OPTS = \
|
|
-DBUILD_SHARED_LIBS=OFF \
|
|
-DWithSharedLibluv=ON \
|
|
-DTARGET_ARCH=$(LUVI_TARGET_ARCH) \
|
|
-DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUVI_LUAJIT_MAJVER).$(LUVI_LUAJIT_MINVER)/?.lua
|
|
|
|
# Add "rex" module (PCRE2 via bundled lrexlib)
|
|
ifeq ($(BR2_PACKAGE_PCRE2),y)
|
|
LUVI_DEPENDENCIES += pcre2
|
|
LUVI_CONF_OPTS += -DWithPCRE2=ON -DWithSharedPCRE2=ON
|
|
else
|
|
LUVI_CONF_OPTS += -DWithPCRE2=OFF -DWithSharedPCRE2=OFF
|
|
endif
|
|
|
|
# Add "ssl" module (via bundled lua-openssl)
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
LUVI_DEPENDENCIES += openssl
|
|
LUVI_CONF_OPTS += -DWithOpenSSL=ON -DWithOpenSSLASM=ON -DWithSharedOpenSSL=ON
|
|
else
|
|
LUVI_CONF_OPTS += -DWithOpenSSL=OFF -DWithOpenSSLASM=OFF -DWithSharedOpenSSL=OFF
|
|
endif
|
|
|
|
# Add "zlib" module (via bundled lua-zlib)
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
LUVI_DEPENDENCIES += zlib
|
|
LUVI_CONF_OPTS += -DWithZLIB=ON -DWithSharedZLIB=ON
|
|
else
|
|
LUVI_CONF_OPTS += -DWithZLIB=OFF -DWithSharedZLIB=OFF
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|