X117.5 compilation throwing error

Peter Hutterer peter.hutterer at who-t.net
Thu Feb 25 17:50:05 PST 2010

On Thu, Feb 25, 2010 at 08:36:05PM +0530, prudhvi raj wrote:
> I am trying to cross compile xorg-server-1.7.1 (X11R7.5 release) for arm
> platform using armv7 toolchain. All the server libraries are succesfully
> compiled and static libraries (lib***.a) are created. But we need shared
> libraries and while trying to generate shared libraries using object (.o)
> files with this command
> arm-linux-gcc  -shared -Wl,-soname,libXi.so.0 -o libXi.so.0 *.o

I'm not quite sure why you're trying to link this as a shared library. XI is
mandatory these days so you're moving something into a shared library that
can only be used by the server and is always used anyway.

> But this is causing the following error:
> xichangehierarchy.o: In function `ProcXIChangeHierarchy':
> xichangehierarchy.c:(.text+0xb14): undefined reference to `CorePointerProc'
> xichangehierarchy.c:(.text+0xb18): undefined reference to `CoreKeyboardProc'
> /home/smuthu/webkit_gtk_tinyx/toolchain/arm_v7_vfp_le/bin/../lib/gcc/armv7fl-montavista-linux-gnueabi/4.2.0/../../../../armv7fl-montavista-linux-gnueabi/bin/ld:
> libXi.so.0: hidden symbol `CoreKeyboardProc' isn't defined

CoreKeyboardProc and the other symbols you're missing have the attribute of
_X_HIDDEN so they wouldn't be visible ot the shared library. you could
change that to _X_EXPORT or just change the visibility gcc args. But then
again, I'm not sure trying to make parts of the X server a shared library is
going to be very useful.


More information about the xorg-devel mailing list