mirror of
https://git.freebsd.org/ports.git
synced 2025-07-15 08:19:13 -04:00
libmupdf.so references symbols from libmupdfthird.so but does not link directly against it. This is problematic for ports using the --as-needed linker option, such as graphics/zathura-pdf-mupdf (>= 0.3.3) due to Meson's defaults. zathura-pdf-mupdf itself does not reference symbols from libmupdfthird.so, and so despite being included in the linker arguments, libmupdfthird.so is not actually linked in. $ zathura --version error: Could not load plugin '/usr/local/lib/zathura/libpdf-mupdf.so' (/usr/local/lib/libmupdf.so.1.13.0: Undefined symbol "js_tointeger"). This is a consequence of us providing shared libraries in spite of upstream since r433550 to keep package sizes down, but not properly understanding the dependency between libmupdfthird and libmupdf. PR: 232059 Submitted by: Albert Ou <aou@eecs.berkeley.edu>
27 lines
807 B
Text
27 lines
807 B
Text
$OpenBSD: patch-Makefile,v 1.12 2016/12/12 10:54:39 sthen Exp $
|
|
--- Makefile.orig 2017-12-13 14:00:30 UTC
|
|
+++ Makefile
|
|
@@ -312,8 +312,8 @@ generate: $(JAVASCRIPT_GEN)
|
|
|
|
# --- Library ---
|
|
|
|
-MUPDF_LIB = $(OUT)/libmupdf.a
|
|
-THIRD_LIB = $(OUT)/libmupdfthird.a
|
|
+MUPDF_LIB = libmupdf.so.$(SOVERSION)
|
|
+THIRD_LIB = libmupdfthird.so.$(SOVERSION)
|
|
THREAD_LIB = $(OUT)/libmuthreads.a
|
|
|
|
MUPDF_OBJ := \
|
|
@@ -344,7 +344,11 @@ THIRD_OBJ := \
|
|
THREAD_OBJ := $(THREAD_OBJ)
|
|
|
|
-$(MUPDF_LIB) : $(MUPDF_OBJ)
|
|
+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB)
|
|
+ $(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname=$@ -Wl,--no-undefined -o $@ $^ $(LIBS)
|
|
+
|
|
$(THIRD_LIB) : $(THIRD_OBJ)
|
|
+ $(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname=$@ -Wl,--no-undefined -o $@ $^ $(LIBS)
|
|
+
|
|
$(THREAD_LIB) : $(THREAD_OBJ)
|
|
|
|
INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
|