Subject: Re: x11/gtk2 doesn't build on Linux (SuSE 8.1)
To: Torsten Harenberg <harenberg@physik.uni-wuppertal.de>
From: Julio M. Merino Vidal <jmmv84@gmail.com>
List: tech-pkg
Date: 03/28/2005 17:08:15
On Mon, 2005-03-28 at 15:05 +0200, Torsten Harenberg wrote:

> It's also empty here, but I've attached the whole file for you to compare.
> 
> Hope you see a difference which could explain the behaviour...

[mail snipped because it is not much related to what I'm going to say]

[CCing jlam@ because he may know the answer; this looks like a "problem"
in buildlink3]

I've isolated the problem: the compiler is picking libXft
from /usr/X11R6/lib instead of the one in /usr/pkg/lib.  Both are
different, and the former lacks some functions required by pango,
thus causing the failure you see.

You can reproduce it by creating a test file (just an empty main
function) and running:

$ gcc test.c -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib `pkg-config --libs
pangoxft pangox`

Mysteriously, if you remove -Wl,-R from the command line (leaving -L)
it works.  I may be missing some details about that flag, though.

This happens because -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib appear
before the flags for /usr/pkg/lib.  I can't reproduce this locally
in any of my boxes because the X system in them is new enough to
provide the required functions from Xft2.

I don't know how to fix this correctly...

Maybe buildlink could reorder the flags so that the ones related to
/usr/X11R6 come last, but that seems rather clumsy...

(Obviously, you'd update your X installation, but that will only hide a
real problem somewhere in pkgsrc.)

Cheers,

-- 
Julio M. Merino Vidal <jmmv84@gmail.com>
http://www.livejournal.com/users/jmmv/
The NetBSD Project - http://www.NetBSD.org/