Skip to content

Commit 5ddd721

Browse files
authored
build: Fix libssh2 source build (#59164)
Addresses the same CI failure that #59141 was intended to address. The issue here is twofold. First, in a source build, we failed to install openssl header files. Second, even if we had done this, libssh needs to be explicitly told where to find openssl, otherwise it might prefer systme files.
1 parent 577b8c5 commit 5ddd721

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

deps/libssh2.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ ifeq ($(OS),WINNT)
1919
LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG -DENABLE_ZLIB_COMPRESSION=OFF
2020
else
2121
LIBSSH2_OPTS += -DCRYPTO_BACKEND=OpenSSL -DENABLE_ZLIB_COMPRESSION=OFF
22+
LIBSSH2_OPTS += -DOPENSSL_ROOT_DIR=$(build_prefix)
2223
endif
2324

2425
ifneq (,$(findstring $(OS),Linux FreeBSD OpenBSD))

deps/openssl.mk

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,18 @@ endif
7575
# Override bindir and only install runtime libraries, otherwise they'll go into build_depsbindir.
7676
OPENSSL_INSTALL = \
7777
mkdir -p $2$$(build_shlibdir) && \
78-
$$(MAKE) -C $1 install_runtime_libs $$(MAKE_COMMON) bindir=$$(build_shlibdir) $3 DESTDIR="$2"
78+
$$(MAKE) -C $1 install_dev $$(MAKE_COMMON) bindir=$$(build_shlibdir) $3 DESTDIR="$2"
79+
80+
OPENSSL_POST_INSTALL := \
81+
$(WIN_MAKE_HARD_LINK) $(build_bindir)/libcrypto-*.dll $(build_bindir)/libcrypto.dll && \
82+
$(WIN_MAKE_HARD_LINK) $(build_bindir)/libssl-*.dll $(build_bindir)/libssl.dll && \
83+
$(INSTALL_NAME_CMD)libcrypto.$(SHLIB_EXT) $(build_shlibdir)/libcrypto.$(SHLIB_EXT) && \
84+
$(INSTALL_NAME_CMD)libssl.$(SHLIB_EXT) $(build_shlibdir)/libssl.$(SHLIB_EXT) && \
85+
$(INSTALL_NAME_CHANGE_CMD) $(build_shlibdir)/libcrypto.3.dylib @rpath/libcrypto.$(SHLIB_EXT) $(build_shlibdir)/libssl.$(SHLIB_EXT)
7986

8087
$(eval $(call staged-install, \
8188
openssl,openssl-$(OPENSSL_VER), \
82-
OPENSSL_INSTALL,,, \
83-
$$(WIN_MAKE_HARD_LINK) $(build_bindir)/libcrypto-*.dll $(build_bindir)/libcrypto.dll && \
84-
$$(WIN_MAKE_HARD_LINK) $(build_bindir)/libssl-*.dll $(build_bindir)/libssl.dll && \
85-
$$(INSTALL_NAME_CMD)libcrypto.$$(SHLIB_EXT) $$(build_shlibdir)/libcrypto.$$(SHLIB_EXT) && \
86-
$$(INSTALL_NAME_CMD)libssl.$$(SHLIB_EXT) $$(build_shlibdir)/libssl.$$(SHLIB_EXT) && \
87-
$$(INSTALL_NAME_CHANGE_CMD) $$(build_shlibdir)/libcrypto.3.dylib @rpath/libcrypto.$$(SHLIB_EXT) $$(build_shlibdir)/libssl.$$(SHLIB_EXT)))
89+
OPENSSL_INSTALL,,,$(OPENSSL_POST_INSTALL)))
8890

8991
clean-openssl:
9092
-rm -f $(BUILDDIR)/-openssl-$(OPENSSL_VER)/build-configured $(BUILDDIR)/-openssl-$(OPENSSL_VER)/build-compiled

0 commit comments

Comments
 (0)