Re: grandr_applet-0.2:



Hi,

You need to find which libraries define the undefined references.

Here is a quick tuitorial on how to do that:

The command nm will list symbols defined in a binary.

cd /usr/X11R6/lib
nm libXrandr.so | grep XRRSetScreenConfigAndRate
00001c38 T XRRSetScreenConfigAndRate

The T means that this library had code for the symbol XRRSetScreenConfigAndRate. (at offset 0x00001c38??)

do a nm libXrandr.so | grep XextAddDisplay and on my system I get

         U XextAddDisplay

Meaning that XextAddDisplay is undefined.

You need to find which library that symbol is defined in. looking over the libraries there reveals one called libXext.so

do a nm libXext.so | grep XextAddDisplay and, on my system, I get

00002a84 T XextAddDisplay

so on the comand line 'cc -o conftest -g -I/opt/ ....'
you need to add '-L/usr/X11R6/lib -lXext'

You probably don't need the -L/usr/X11R6/lib since the linker found libXrandr, and it is in the same directory as libXext.

So do this for all undifined symbols and the conftest will pass.

Anyways, long story short, probably the proper way to fix this is to edit configure.in in .../garnome-0.25.1/gnome/grandr_applet/work/main.d/grandr_applet-0.2

and find the line starting with ALL_X_LIBS

ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"

and change it to

ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXext $X_EXTRA_LIBS"

then run autoconf (install it from .../garnome-0.25.1/bootstrap/autoconf if you don't already have it).

And then try the standard make install from .../garnome-0.25.1/gnome/grandr_applet

That fixed the problem for me.

I should probably report this as a bug to the grandr people.

Good Luck!

Mike


Bernd Muent wrote:
Hi,
While compiling grandr_applet-0.2 it stops with:

checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
[...]
checking for XRRSetScreenConfigAndRate in -lXrandr... no
configure: error: "Suitable Xrandr extension library not found - you need at least X 4.3"

Hmm, I just updated to XFree86 4.3 and it is looking at the right place for the headers.

In config.log I find more details:

configure:4867: checking for XRRSetScreenConfigAndRate in -lXrandr
configure:4898: cc -o conftest -g -I/opt/gnome2_2_2/include -I/usr/X11R6/include -L/opt/gnome2_2_2/lib -L/usr/X11R6/lib -O2 -pipe -I/opt/gnom$
/usr/X11R6/lib/libXrandr.so: undefined reference to `XextAddDisplay'
/usr/X11R6/lib/libXrandr.so: undefined reference to `XextFindDisplay'
/usr/X11R6/lib/libXrandr.so: undefined reference to `XextRemoveDisplay'
/usr/X11R6/lib/libXrandr.so: undefined reference to `XMissingExtension'

Looking for for this libXRandr.so:
ls -la /usr/X11/lib/*rand*
-rw-r--r-- 1 root root 7398 Mär 7 19:37 /usr/X11/lib/libXrandr.a lrwxrwxrwx 1 root root 16 Jul 30 11:03 /usr/X11/lib/libXrandr.so -> libXrandr.so.2.0 lrwxrwxrwx 1 root root 16 Feb 20 15:35 /usr/X11/lib/libXrandr.so.1 -> libXrandr.so.1.0 -rwxr-xr-x 1 root root 10892 Jan 20 2002 /usr/X11/lib/libXrandr.so.1.0 lrwxrwxrwx 1 root root 16 Jul 30 11:03 /usr/X11/lib/libXrandr.so.2 -> libXrandr.so.2.0 -rwxr-xr-x 1 root root 13115 Mär 7 19:37 /usr/X11/lib/libXrandr.so.2.0

So what's going wrong here?

Thank you for tips, Bernd






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