x11/fbpanel: pkg fallout at 10.x

John Marino freebsd.contact at marino.st
Fri Dec 20 23:07:33 UTC 2013

On 12/20/2013 22:20, Koop Mast wrote:
> On 20-12-2013 15:00, John Marino wrote:
>> On 12/20/2013 14:54, Boris Samorodov wrote:
>>> 20.12.2013 10:58, Baptiste Daroussin пишет:
>>>> On Fri, Dec 20, 2013 at 10:42:38AM +0400, Boris Samorodov wrote:
>>>> gtk2 pkgconfig file is not adding -lX11 to LDFLAGS anymore.
>>>> In general: on FreeBSD 10+, the ld(1) behaviour has been changed so
>>>> that it does
>>>> not recursively get the DT_NEEDED from libraries it linked binaries to.
>>>> Meaning in that case something exposes a X function to fbpanel, but
>>>> does not
>>>> tell it is needs to link to X11
>>>>> /usr/bin/ld: �: invalid DSO for symbol `XChangeGC' definition
>>>>> //usr/local/lib/libX11.so.6: could not read symbols: Bad value
>>>> LDFLAGS+= -lX11 should solve this.
>>> I've seen some similar commit at the portstree. The problem is: I can't
>>> reproduce the errors (hence can't test a fix).
>> I've recently seen dozens of similar, new errors on dports/dragonfly.
>> It's definitely a pkgconf issue and it just appeared.
>> I haven't tracked it done yet, but adding LDFLAGS+= to every broken port
>> is not ideal.  It's better to figure out which .pc file is broken and
>> fix that.
>> John
> Should be fixed now, I restored the "old" behaviour.

Hmm, I fixed it differently.  I waited until now until the partial bulk
build completed, which confirmed the fix worked.  The attached
"Makefile.DragonFly" has been present for months, but the diff to the
Makefile is what was missing which caused a bad .pc file generation.

After adding the one line to the makefile and in addition to the changes
in Makefile.DragonFly, all the broken ports built.
-------------- next part --------------
--- Makefile.orig	2013-12-20 16:29:25.910469000 +0000
+++ Makefile
@@ -61,6 +61,7 @@ post-patch:
 	@${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${GREP} -l lgmodule | \
 		${XARGS} ${REINPLACE_CMD} -e 's|-lgmodule|@GMODULE_LIBS@|g'
 	@${REINPLACE_CMD} -e 's|[{]libdir[}]/locale|{datadir}/locale|g' \
+		-e 's|GTK_PACKAGES pangoft2|GTK_PACKAGES x11 pangoft2|' \
 	@${REINPLACE_CMD} -e 's|@LN_S@|${LN} -sf|' ${WRKSRC}/gtk/Makefile.in
 	@${REINPLACE_CMD} -e 's|file,cups|file,cups,lpr|' \
-------------- next part --------------
USE_XORG+=	pixman

LIB_DEPENDS+=	png15:${PORTSDIR}/graphics/png
LIB_DEPENDS+=	freetype.9:${PORTSDIR}/print/freetype2
LIB_DEPENDS+=	fontconfig:${PORTSDIR}/x11-fonts/fontconfig
LIB_DEPENDS+=	cairo:${PORTSDIR}/graphics/cairo
LIB_DEPENDS+=	expat:${PORTSDIR}/textproc/expat2

More information about the freebsd-ports mailing list