>Robert Holmes wrote:
>./.libs/libxorg.a(udev.o): In function `device_added':
>udev.c:(.text+0x4e): undefined reference to `udev_device_get_devnode'
>udev.c:(.text+0x59): undefined reference to `udev_device_get_syspath'
>udev.c:(.text+0x85): undefined reference to `udev_device_get_property_value'
>udev.c:(.text+0x11b): undefined reference to `udev_device_get_parent'
>udev.c:(.text+0x12e): undefined reference to `udev_device_get_devnode'
>udev.c:(.text+0x149): undefined reference to `udev_device_get_property_value'
>udev.c:(.text+0x164): undefined reference to `udev_device_get_sysattr_value'
>I am building a T2-trunk r38855 Desktop for x86 at the i686 level. Any advice 
>would be appreciated.

I have also tried few options to fix this problem with the lastest xorg-server 
version in T2 SVN trunk.
 
The above shown errors are coming from linker, so I edited 
xorg-server/hw/xfree86/libxorg.la file and added -ludev library entry just 
before -lcrypt entry. After this change linker succeesully linked xorg-server 
to libudev library, but there was new linker error.
 
Now I'm getting following linker error from xorg-server package :
 
Entering directory src.xxxxx-x/xorg-server-1.10.1/hw/xfree86"
/usr/lib/gcc/i686-t2-linux-gnu/4.5.2/../../../../i686-t2-linux-gnu/bin/ld: 
errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS 
reference in /lib/libudev.a(libudev-monitor.o)
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
 
I know that the above shown error is usually shown if one module uses something 
like "extern int errno" line instead of #include <errno.h> line to initialize 
errno reference. But, I'm a bit lost here because xfree86 sources seem to use 
include<errno.h> and extern int errno is nowhere (I would be surprised to see 
it there because this thread-safe errno logic has been in libc files for years 
already).
 
As an additional check I checked udev-167 sources also and every file using 
errno "variable" had #include<errno.h> in the beginnin of the C file. 
 
So, the usual fix to errno TLS error by adding #include <errno.h> didn't apply 
here. And if libudev would be broken with errno references then probably some 
other toolchain and basetool would have complained about the same error. But 
everything else but xorg-server compiles in generic desktop target (well, not 
everything but those other failing packages are unrelated to this case).
 
Anyone with any ideas to fix this TLS errno error if missing include<errno.h> 
is not the problem (maybe, can't be 100% sure)? At this point I'm not even sure 
if this is udev (and libudev library there) or xorg-server problem. Probably 
xorg-server problem because it had missing reference to libudev linker library 
anyway.
 
Thx in advance for any ideas.
 
Mika N
                                          
----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to