On Fri, Mar 12, 2010 at 9:37 AM, David Miller <da...@da...> wrote:
> This change:
>
> commit d888bbc45a84946cafb4f4d2c89681a580cd89bc
> Author: Brian Paul <br...@vm...>
> Date: Tue Nov 17 13:39:13 2009 -0700
>
> progs/xdemos: added -lX11 -lpthread for GNU gold linker
>
> breaks the build if you are building under a specific path prefix
> (say, /opt/XORG) and you have an existing X11 installation in the
> usual location (/usr, etc.)
>
> Mesa gets configure with:
>
> PATH=/opt/XORG/bin:$PATH ./configure --prefix=/opt/XORG --libdir=/opt/XORG/lib
>
> And then we get, for example:
>
> make[2]: Entering directory `/home/davem/src/GIT/XORG/mesa/mesa/progs/xdemos'
> gcc -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -fPIC -DUSE_SPARC_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS corender.o ipc.o -L../../lib -lGL -lm -lX11 -lpthread -o corender
> /usr/bin/../lib/libxcb-xlib.so.0: undefined reference to `_xcb_lock_io'
> /usr/bin/../lib/libxcb-xlib.so.0: undefined reference to `_xcb_unlock_io'
> collect2: ld returned 1 exit status
>
> Reverting the commit, of course, makes the problem go away.
>
> One way to fix this would be to propagate the --libdir prefix
> down to these Makefiles.
>
> The same exact problem exists in progs/egl, but since libEGL doesn't
> link to libX11 any more, a simple revert of:
>
> commit 8d0bdfa4335ea07a747f53635a57414d15c234b7
> Author: Chia-I Wu <ol...@gm...>
> Date: Wed Aug 26 12:44:02 2009 +0800
>
> progs: EGL/X progs should link to libX11.
>
> Since 5a459d58fca2b71cb77c39f98df8a81ce6298421, libEGL no longer links
> to libX11. Add the dependency to affected progs and cleanup
> prog/egl/Makefile.
>
> Signed-off-by: Chia-I Wu <ol...@gm...>
>
> doesn't fix the problem.
>
> Sigh... :-)
I think this is a configuration problem. Does it help if you
configure mesa with
$ ./configure --prefix=/opt/XORG --libdir=/opt/XORG/lib
LDFLAGS="-L/opt/XORG/lib"
?
I haven't tried, but conventionally, LDFLAGS (and CFLAGS) are
available for user's use.
--
ol...@Lu...
|