Skip to content

Commit d01b0f7

Browse files
committed
Preload zlib in the loader
Currently our libLLVM comes with a broken RPATH (JuliaPackaging/Yggdrasil#3703) and to work around that on we preload zlib.
1 parent 549eae8 commit d01b0f7

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

Make.inc

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,16 +1496,19 @@ LIBGCC_NAME := libgcc_s_sjlj-1.$(SHLIB_EXT)
14961496
else
14971497
LIBGCC_NAME := libgcc_s_seh-1.$(SHLIB_EXT)
14981498
endif
1499+
LIBZ_NAME := libz.$(SHLIB_EXT)
14991500
endif
15001501
ifeq ($(OS),Darwin)
15011502
ifeq ($(ARCH),aarch64)
15021503
LIBGCC_NAME := libgcc_s.2.$(SHLIB_EXT)
15031504
else
15041505
LIBGCC_NAME := libgcc_s.1.$(SHLIB_EXT)
15051506
endif
1507+
LIBZ_NAME := libz.1.$(SHLIB_EXT)
15061508
endif
15071509
ifneq ($(findstring $(OS),Linux FreeBSD),)
15081510
LIBGCC_NAME := libgcc_s.$(SHLIB_EXT).1
1511+
LIBZ_NAME := libz.$(SHLIB_EXT).1
15091512
endif
15101513

15111514
# USE_SYSTEM_CSL causes it to get symlinked into build_private_shlibdir
@@ -1516,6 +1519,14 @@ LIBGCC_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_shlibdir)/$(L
15161519
endif
15171520
LIBGCC_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBGCC_NAME))
15181521

1522+
# USE_SYSTEM_ZLIB causes it to get symlinked into build_private_shlibdir
1523+
ifeq ($(USE_SYSTEM_ZLIB),1)
1524+
LIBZ := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBZ_NAME))
1525+
else
1526+
LIBZ_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_shlibdir)/$(LIBZ_NAME))
1527+
endif
1528+
LIBZ_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBZ_NAME))
1529+
15191530
# USE_SYSTEM_LIBM and USE_SYSTEM_OPENLIBM causes it to get symlinked into build_private_shlibdir
15201531
ifeq ($(USE_SYSTEM_LIBM),1)
15211532
LIBM_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT))
@@ -1535,10 +1546,10 @@ LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBMN
15351546
# * debug builds must link against libjuliadebug, not libjulia
15361547
# * install time relative paths are not equal to build time relative paths (../lib vs. ../lib/julia)
15371548
# That second point will no longer be true for most deps once they are placed within Artifacts directories.
1538-
LOADER_BUILD_DEP_LIBS = $(LIBGCC_BUILD_DEPLIB):$(LIBM_BUILD_DEPLIB):$(LIBJULIAINTERNAL_BUILD_DEPLIB)
1539-
LOADER_DEBUG_BUILD_DEP_LIBS = $(LIBGCC_BUILD_DEPLIB):$(LIBM_BUILD_DEPLIB):$(LIBJULIAINTERNAL_DEBUG_BUILD_DEPLIB)
1540-
LOADER_INSTALL_DEP_LIBS = $(LIBGCC_INSTALL_DEPLIB):$(LIBM_INSTALL_DEPLIB):$(LIBJULIAINTERNAL_INSTALL_DEPLIB)
1541-
LOADER_DEBUG_INSTALL_DEP_LIBS = $(LIBGCC_INSTALL_DEPLIB):$(LIBM_INSTALL_DEPLIB):$(LIBJULIAINTERNAL_DEBUG_INSTALL_DEPLIB)
1549+
LOADER_BUILD_DEP_LIBS = $(LIBGCC_BUILD_DEPLIB):$(LIBM_BUILD_DEPLIB):$(LIBZ_BUILD_DEPLIB):$(LIBJULIAINTERNAL_BUILD_DEPLIB)
1550+
LOADER_DEBUG_BUILD_DEP_LIBS = $(LIBGCC_BUILD_DEPLIB):$(LIBM_BUILD_DEPLIB):$(LIBZ_BUILD_DEPLIB):$(LIBJULIAINTERNAL_DEBUG_BUILD_DEPLIB)
1551+
LOADER_INSTALL_DEP_LIBS = $(LIBGCC_INSTALL_DEPLIB):$(LIBM_INSTALL_DEPLIB):$(LIBZ_INSTALL_DEPLIB):$(LIBJULIAINTERNAL_INSTALL_DEPLIB)
1552+
LOADER_DEBUG_INSTALL_DEP_LIBS = $(LIBGCC_INSTALL_DEPLIB):$(LIBM_INSTALL_DEPLIB):$(LIBZ_INSTALL_DEPLIB):$(LIBJULIAINTERNAL_DEBUG_INSTALL_DEPLIB)
15421553

15431554
# Colors for make
15441555
ifndef VERBOSE

0 commit comments

Comments
 (0)