Files
Reza Arbab 66a5f9bc74 package/skeleton: create lib64 symlink on s390x
Building on a s390x host, we currently end up with:

  output/host/lib
  output/host/lib32 -> lib
  output/host/lib64

host-libopenssl installs to lib64, but since the kernel build doesn't
explicitly search there, it breaks:

  >>> linux 6.6.32 Building
  [...]
    HOSTCC  scripts/sign-file
  /usr/bin/ld: cannot find -lcrypto: No such file or directory
  collect2: error: ld returned 1 exit status

Fix this by creating a lib64 link instead of lib32, so we get:

  output/host/lib
  output/host/lib64 -> lib

Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-12-29 22:10:09 +01:00

33 lines
1.1 KiB
Makefile

################################################################################
#
# skeleton
#
################################################################################
# The skeleton can't depend on the toolchain, since all packages depends on the
# skeleton and the toolchain is a target package, as is skeleton.
# Hence, skeleton would depends on the toolchain and the toolchain would depend
# on skeleton.
SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO
SKELETON_ADD_SKELETON_DEPENDENCY = NO
# The package is a dependency to ccache so ccache cannot be a dependency
HOST_SKELETON_ADD_CCACHE_DEPENDENCY = NO
# Although the $(HOST_DIR)/usr symlink is mostly for backward compatibility,
# there are weird packages that still require it (see host-systemd, and
# commit 35c11a027c88).
define HOST_SKELETON_INSTALL_CMDS
# check-package DoNotInstallToHostdirUsr
$(Q)ln -snf . $(HOST_DIR)/usr
$(Q)mkdir -p $(HOST_DIR)/lib
$(Q)mkdir -p $(HOST_DIR)/include
$(Q)case $(HOSTARCH) in \
(*64|s390x) ln -snf lib $(HOST_DIR)/lib64;; \
(*) ln -snf lib $(HOST_DIR)/lib32;; \
esac
endef
$(eval $(virtual-package))
$(eval $(host-generic-package))