Hello Sheldon,

On Tue, Jun 25, 2002 at 09:21:57AM +0200, Sheldon Hearn wrote:
> Hi folks,
> Could someone put me out of my misery and show me "the right way" to
> build XFree86-4 on -current at the moment.
> I've tried `make install' and `make CXX=/usr/local/bin/g++31 install',
> where that g++31 comes from the lang/gcc31 port, and either way,
> XFree86-4-clients fails with:


This must be glxinfo. This shows btw, that the make World was not
successful, therefore the install fails. The problem here, as verified
by my build logs, is that glxinfo (really, xc/programs/glxinfo) is built
using gcc since it is C, but tries to link against -lGLU, which is C++.
Specifying -lstdc++ explicitly on the link line works in this case.
Changing the compiler was not trivial here, since the Imake framework
generated Makefiles decide on which compiler to use based on the source
file suffices, and since here it is .c, they use gcc for both building
and linking. The quick way out I found is to hack the Makefile by hand
and including the extra lib, but this both ugly and wrong.

There is another problem, however, and this is that the libGLU built is
parctically unusable anyway, although there the correct compiler is used
(g++), one alway needs to link -lstdc++ with it for it to work. I do not
know why this is. Other parts of X appear to work ok.

As an aside, this is a rather interesting
way of building, but both XFree and OpenMotif use it: the build does not
stop at build failures so you only notice the problems upon install time
when it tries to build the missing pieces again. THerefore, before
installing, one should always grep the build logs for "all not remade
because of errors". Also see xc/programs/Xserver/hw/xfree86/doc/BUILD.

Also as an aside, the current way of building the X4 port with its
slave port sucks royally. The libs are built no less than 3 times, and
the whole shebang is untarred at least as many times, which means that 1
gig is not enough for building it! Let's face it, the X build is like
ours: "make World" was not designed to be used sliced up like this.
There should be one "full build" port for XFree-4 just like there is one
for the old X, and the now slave ports should only be there for people who
for some reason need them. Duplicated code in the Makefiles certainly
does not justify this nightmare that a full build of XFree-4 from ports
now is. At least that's my opinion.


Szilveszter ADAM
Szombathely Hungary

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to