>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