1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-18 03:46:03 +00:00

graphics/mupdf: Fix linking with libmupdf.so for third-party ports

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>
This commit is contained in:
Tobias Kortkamp 2018-10-09 07:01:53 +00:00
parent 87e1b3bc34
commit 563dce7f91
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=481606
2 changed files with 5 additions and 4 deletions

View File

@ -4,7 +4,7 @@
PORTNAME= mupdf
PORTVERSION= 1.13.0
DISTVERSIONSUFFIX= -source
PORTREVISION= 2
PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= http://www.mupdf.com/downloads/ \

View File

@ -15,11 +15,12 @@ $OpenBSD: patch-Makefile,v 1.12 2016/12/12 10:54:39 sthen Exp $
@@ -344,7 +344,11 @@ THIRD_OBJ := \
THREAD_OBJ := $(THREAD_OBJ)
$(MUPDF_LIB) : $(MUPDF_OBJ)
+ $(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname=$@ -o $@ $^ $(LIBS)
-$(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=$@ -o $@ $^ $(LIBS)
+ $(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname=$@ -Wl,--no-undefined -o $@ $^ $(LIBS)
+
$(THREAD_LIB) : $(THREAD_OBJ)