1 |
Hi folks, |
2 |
|
3 |
As soon as I upgraded my system to new gcc and glibc, I started to get |
4 |
a very weird problem at boot time. I'm using libnss-mysql to |
5 |
authenticate users, and my nsswitch.conf is set to check files first, |
6 |
then mysql. |
7 |
At boot time, /usr is not yet mounted, and as such, anything that |
8 |
would need to connect to mysql would fail (because libmysqlclient is |
9 |
in /usr/lib). However, the problem is that udevd is not starting |
10 |
without /usr mounted. A simple 'ls' on root dir fails as well, even |
11 |
though all files and dirs there are owned by root:root (and of course, |
12 |
root is on passwd and groups). An strace indicates that both of them |
13 |
are trying to access /usr/lib/libmysqlclient.so, and when they get the |
14 |
"No such file or directory", they fail with this message: |
15 |
|
16 |
Inconsistency detected by ld.so: dl-open.c: 604: _dl_open: Assertion |
17 |
`_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' |
18 |
failed! |
19 |
|
20 |
My workaround (and a kinda ugly one) was to edit /sbin/rc (the script |
21 |
that calls udevd) and put there just before calling udevd: |
22 |
|
23 |
mknod /dev/hda7 b 3 7 |
24 |
mount /usr (my /usr is in /dev/hda7) |
25 |
|
26 |
This makes it work, but I'm sure someone might have a better idea than |
27 |
that, because I'll lose this as soon as the package that owns /sbin/rc |
28 |
is updated. |
29 |
This worked before the last update to glibc, I just don't know why it |
30 |
tries to connect to mysql now (either it didn't before, or it did try |
31 |
but would not fail like that). |
32 |
|
33 |
Can anyone shed some light on this? |
34 |
|
35 |
-- |
36 |
Bruno Lustosa <bruno@×××××××.net> |
37 |
http://www.lustosa.net/ |
38 |
-- |
39 |
gentoo-user@g.o mailing list |