Error building modular on FreeBSD

R.L. Horn lists at eastcheap.org
Mon Oct 16 00:47:17 PDT 2006


On Sun, 15 Oct 2006, Jeremy Sherling wrote:

> Hello, I have been trying to build modular 7.1 on freebsd, and can't seem to 
> get past this error.  If anyone can point me in the right direction, that 
> would be great.  Let me know if more info is needed.

Actually, I believe I see a couple of problems here:

> /usr/local/lib/libxcb-xlib.so: undefined reference to `pthread_equal'

This would appear to be an xcb problem, not an X problem per se.  (I have to
say, I *really* dislike the idea of a nontransparent xcb pthread
dependency.) Maybe someone more knowledgable about xcb could enlighten us (I
opted to give it a miss when I built R7.1).

> -L/usr/work/lib...

This looks as though you configured with --prefix=/usr/work
("build-from-tarballs /usr/work").  The wiki documentation is terribly
misleading about the proper use of prefix.  "prefix" needs to point to the
final installation location, not a work directory, otherwise pkg-config and
xmkmf will end up giving spurious results (at least...you might end up with
an X installation that can't find its way around its own directories).

The proper way to install into a staging area is with DESTDIR, but this 
doesn't work with x.org (unless you immediately move the files to their 
final home) since there are so many interdependent modules connected 
together with pkg-config.

I got around this with ./configure --prefix=/usr/X11R7, where /usr/X11R7 is
actually a symlink to /usr/X11R7.1, and later merging my X11 directories by
hand (something I had to do anyway since I was upgrading from new license
XFree and didn't want to mix binaries).  I wrote my own build scripts, but
it would work with the x.org scripts.

Since I'd had the good sense (okay, the good fortune) not to have 
installed lots of stuff into X11R6 in the first place (I run GNU/linux but 
wouldn't touch a "distro" with a ten-foot pole) *and* since app-defaults 
et al live under /etc/X11, this wasn't too terribly difficult.

Freetype, expat, and libdrm weren't installed into the X11 hierarchy at all
since I don't consider them to be X-specific, particularly expat which had
been a real nightmare with XFree and their goofy reversioning.  Mesa went
into /usr (except the dri libs) which is where it belongs (I can tell you
for a fact that Mesa 6.5.1 won't build if you have stale GL headers in your
X11 hierarchy).

Ultimately, I ended up with:

    /usr/X11R6 -> X11R7
    /usr/X11R7 -> X11R7.1
    /usr/site_X (the original X11R6 directory, which I hope will eventually
                 shrink to nothing)




More information about the xorg mailing list