pkg-config and libX11.so: undefined reference to `XdmcpWrap'

Jeremy C. Reed reed at reedmedia.net
Tue Feb 21 14:59:50 PST 2006


As I mentioned in previous email, I now have xthreadlib=-pthread 
(XTHREADLIB=-pthread) for my DragonFly build.

But now I get when building app/x11perf (or ico too):

/home/reed/xorg/lib/libX11.so: undefined reference to `XdmcpWrap'

This is my libX11:

pkgbox:/home/reed/modular-xorg> ldd /home/reed/xorg/lib/libX11.so
/home/reed/xorg/lib/libX11.so:
        libXau.so.6 => /home/reed/xorg/lib/libXau.so.6 (0x28219000)
        libXdmcp.so.6 => /home/reed/xorg/lib/libXdmcp.so.6 (0x2821c000)
        librpcsvc.so.3 => /usr/lib/librpcsvc.so.3 (0x28221000)
        libc.so.6 => /usr/lib/libc.so.6 (0x28076000)

I manually modified the Makefile to:
LIBS = -lXdmcp
and it built fine.

Now I looked at the config.log and saw many references to other modular 
X.org components installed previously:

configure:23303: gcc -o conftest -g -O2   conftest.c -lXdmcp 
-Wl,-R/home/reed/pk
g/lib -L/home/reed/pkg/lib -lXdmcp   -lrpcsvc  >&5
/var/tmp//ccE07gc6.o(.text+0xd): In function `main':
/home/reed/modular-xorg/lib/X11/conftest.c:51: undefined reference to 
`XdmcpWrap'
...
configure:23458: checking keysymdef.h
configure:23482: result: /home/reed/pkg/include/X11/keysymdef.h
...
pkg_cv_XKBPROTO_CFLAGS='-I/home/reed/pkg/include  '
...
pkg_cv_XDMCP_LIBS='-Wl,-R/home/reed/pkg/lib -L/home/reed/pkg/lib -lXdmcp  '
...
pkg_cv_X11_LIBS='-Wl,-R/home/reed/pkg/lib -L/home/reed/pkg/lib -lXau  '
...
pkg_cv_BIGFONT_CFLAGS='-I/home/reed/pkg/include  '



Now I see (with objdump -x) that XdmcpWrap is defined in my new libXdmcp 
but not the old installed version.

My pkg-config's default path sees those first.

Where does the modular X.org build define PKG_CONFIG_PATH to see its own 
installation prefix?

As a work-around, I removed all the packages installing those old pc 
files.

It doesn't seem like I should have to do that.

Another alternatives is to install another pkg-config binary that doesn't 
hard-code my /home/reed/pkg/lib/pkg-config directory or set 
PKG_CONFIG_PATH.

But then it wouldn't see my freetype2.

What do you all do when you have multiple modular X.org installations on 
one system? Do you use different pkg-config tools?

 Jeremy C. Reed

 	  	 	 Open source, Unix, *BSD, Linux training
	  	 	 http://www.pugetsoundtechnology.com/



More information about the xorg mailing list