discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue starting Gorm, ProjectCenter, GWorkspace..etc on netbsd 5.0.2


From: Wolfgang Lux
Subject: Re: Issue starting Gorm, ProjectCenter, GWorkspace..etc on netbsd 5.0.2
Date: Mon, 22 Nov 2010 08:43:10 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]