Fred Kiefer wrote:
Am 19.11.2010 19:24, schrieb Wolfgang Lux:
This is getting rather obscure now. Pixman is a dependency of cairo
and
should be installed along with it. In fact, I just had a look at
cairo's
dependencies in NetBSD's pkgsrc repository and it turns out that
freetype is a dependency of cairo as well, so it should have been
installed along with cairo in the first place. Did you remove some of
these packages manually?
As far as I remember, freetype was installed on his NetBSD system,
but a
rather crippled version. The same may just be true for pixman. But as
you wrote this is now really getting obscure. Is there anybody else
out
there with a clean NetBSD 5.0 system to check whether this is the
normal
setup on this system? If so we will have to add a lot of extra
configure
checks to protect against this incomplete libraries.
Ah, sorry for the noise. You are indeed right. NetBSD ships with a
libpixman-1 in /usr/X11R7/lib, which does not export the problematic
symbols.
After quite a bit of testing, I finally found out that the problem is
the -R/usr/X11R7/lib flag on the command line (copied below for
reference). This option is understood by NetBSD's gcc and it ends up
as an *initial* -R flag to the linker, whereas the -Wl,-R<dir> options
stay in their place. That means that the broken libpixman will be
found before the right one in /usr/pkg/lib. Unfortunately, the -R flag
is added automatically by autoconf when testing for the X libraries,
so we cannot get rid of it. A workaround is to invoke configure as
./configure LDFLAGS=-R/usr/pkg/lib
I also noticed that configure.ac contains some code to add some
additional target OS directories to CPPFLAGS and LDFLAGS. In
particular on NetBSD it uses LDFLAGS="$LDFLAGS -Wl,-R/usr/pkg/lib -L/
usr/pkg/lib". I expected that changing -Wl,-R/usr/pkg/lib into -R/usr/
pkg/lib would allow invoking configure without the extra arg; but for
some reason this didn't work (maybe it was just late at night
yesterday).
gcc -shared -rdynamic -Wl,-R/usr/pkg/lib -L/usr/pkg/lib
-Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib -o
./libgnustep-back-019.bundle/./libgnustep-back-019
./obj/libgnustep-back-019.obj/GSBackend.m.o ./gsc/obj/subproject.o
./x11/obj/subproject.o ./art/obj/subproject.o
-L/root/GNUstep/Library/Libraries
-L/usr/GNUstep/Local/Library/Libraries
-L/usr/GNUstep/System/Library/Libraries -Wl,-R/usr/pkg/lib
-L/usr/pkg/lib -L/usr/pkg/lib -lart_lgpl_2 -lm -L/usr/X11R7/lib
-lfreetype -lz -L/usr/X11R7/lib -R/usr/X11R7/lib -lXmu -lXt -lXext
-lX11 -lGL -lgnustep-gui -lgnustep-base -lpthread -lobjc
-lm
Wolfgang
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep