hald does not start in init nor if manually launched. If manually launched it reports: # hald --daemon=no --verbose=yes 17:11:56.286 [I] hald.c:494: hal 0.5.4 17:11:56.286 [I] hald.c:498: Will not daemonize 17:11:56.348 [I] hald_dbus.c:3043: local server is listening at unix:abstract=/tmp/hald-local/dbus-s14X8b8XFR,guid=ccc27443cfe836276df5662a4253d500 17:11:56.349 [I] osspec.c:351: sysfs mount point is '/sys' 17:11:56.349 [I] osspec.c:356: proc mount point is '/proc' *** [DIE] osspec.c:osspec_init():374 : Unable to bind to netlink socket Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: Just emerged from portage. Expected Results: Hald should work just fine. Emerge info @ http://sssupa.sssup.it/~testina/gentoo-einfo.txt `netstat -n` @ http://sssupa.sssup.it/~testina/netstat.txt
*** This bug has been marked as a duplicate of 109082 ***
Reopening, since this bug is actually different from the problem originally described in 109082, and a new bug was requested there.
Would you mind re-emerging dbus .50 (should be -r1 or above), and then stopping dbus, re-emerge it yet again, and then emerge hal after that - then attempt to start, and give output? Also, is this SELinux or any other special file permissions or so forth?
(In reply to comment #3) > Would you mind re-emerging dbus .50 (should be -r1 or above), and then stopping > dbus, re-emerge it yet again, and then emerge hal after that - then attempt to > start, and give output? What you request is the exact procedure I run to install dbus and hal: 1. emerge -C dbus hal 2. rm -rf /etc/hal/ 3. rm -rf /etc/dbus-1/ 4. emerge -av dbus hal The problem persists. equery l dbus: * installed packages [I--] [ ] sys-apps/dbus-0.50-r1 (0) equery l hal: * installed packages [I--] [ ] sys-apps/hal-0.5.4 (0) > Also, is this SELinux or any other special file permissions or so forth? No SELinux. What kind of 'other special file permissions' do you think at? I'm a desktop user... Where I can find the correct file permissions to set in my box? I have this system since 2004 and I mantain it every day. Last thing: famd does not start, as stated by Gnome Upgrade Guide from Gentoo documentation.
Same problem with me guys ... same problem for me since 1 week... wolverine ~ # /etc/init.d/hald start * Starting D-BUS system messagebus ... [ ok ] * Starting Hardware Abstraction Layer daemon ... [ !! ] wolverine ~ # hald --daemon=no --verbose=yes 13:47:04.349 [I] hald.c:494: hal 0.5.4 13:47:04.349 [I] hald.c:498: Will not daemonize 13:47:04.350 [I] hald_dbus.c:3043: local server is listening at unix:abstract=/tmp/hald-local/dbus-0UgiHuXDpo,guid=c89274434fe8b0b72d6b17fdf1a1fb00 13:47:04.350 [I] osspec.c:351: sysfs mount point is '/sys' 13:47:04.351 [I] osspec.c:356: proc mount point is '/proc' *** [DIE] osspec.c:osspec_init():374 : Unable to bind to netlink socket then I do that: #/etc/init.d/dbus stop #/etc/init.d/hald stop #emerge -C dbus hal #rm -rf /etc/dbus-1 #rm -rf /etc/hal #emerge dbus hal #eix hal * sys-apps/hal Available versions: 0.4.5-r2 0.4.7-r2 0.4.8 0.5.4 Installed: 0.5.4 Homepage: http://www.freedesktop.org/Software/hal Description: Hardware Abstraction Layer #eix dbus * sys-apps/dbus Available versions: 0.23-r3 0.23.2 0.23.2-r1 0.23.4 0.23.4-r1 0.36.2 0.50 0.50-r1 Installed: 0.50-r1 Homepage: http://dbus.freedesktop.org/ Description: A message bus system, a simple way for applications to talk to eachother and I still have the SAME error ... what's wrong ?? #emerge --info Gentoo Base System version 1.12.0_pre10 Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo i686) ================================================================= System uname: 2.6.14-gentoo i686 Intel(R) Pentium(R) III CPU - S 1400MHz distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.2.3-r5, 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=pentium3 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache digest distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/" LC_ALL="fr_FR.UTF-8" LINGUAS="fr" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 7zip X aalib acl alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 cdr crypt cups curl dba dvd dvdread eds emboss encode esd ethereal exif expat extras fam ffmpeg firebird flac foomaticdb fortran gd gdbm gif glut gmp gphoto2 gpm gtk gtk2 guile hal idn imagemagick imlib ipv6 irmc java jpeg kde kerberos kqemu lcms ldap libg++ libwww lua mad mbox mcal mhash mikmod mmx mmx2 mmxext mng motif mozilla mp3 mpeg mpeg4 mplayer musicbrainz mysql ncurses nls nptl nvidia ogg oggvorbis openal opengl pam pcre pda pdflib perl php png python qt quicktime readline recode samba sdl session slang smp sockets spell sse sse2 ssl svg svga svgz tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales utf8 v4l v4l2 vorbis win32codecs winbind wmf wxwindows xine xinerama xml2 xv xvid zlib linguas_fr userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS
Same problem with hal-0.5.5.1. Same error.
# strace hald --daemon=no --verbose=yes execve("/usr/sbin/hald", ["hald", "--daemon=no", "--verbose=yes"], [/* 42 vars */]) = 0 uname({sys="Linux", node="syntaxerrormmm", ...}) = 0 brk(0) = 0x8082000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=90537, ...}) = 0 mmap2(NULL, 90537, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ef8000 close(3) = 0 open("/usr/lib/libdbus-glib-1.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\2\300"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=116656, ...}) = 0 mmap2(0x48bfa000, 113116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x48bfa000 mmap2(0x48c15000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b) = 0x48c15000 close(3) = 0 open("/usr/lib/libgobject-2.0.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300n^G"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=264280, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef7000 mmap2(0x475e1000, 261792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x475e1000 mmap2(0x47620000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3f) = 0x47620000 close(3) = 0 open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\320"..., 512) = 512fstat64(3, {st_mode=S_IFREG|0755, st_size=647796, ...}) = 0 mmap2(0x47541000, 646864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x47541000 mmap2(0x475de000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9c) = 0x475de000 close(3) = 0 open("/usr/lib/libdbus-1.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@5\252H"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=365140, ...}) = 0 mmap2(0x48a9f000, 364504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x48a9f000 mmap2(0x48af7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x57) = 0x48af7000 close(3) = 0 open("/lib/libnsl.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\345\330"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=76924, ...}) = 0 mmap2(0x47d8b000, 83968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x47d8b000 mmap2(0x47d9c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0x47d9c000 mmap2(0x47d9e000, 6144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x47d9e000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\223=G"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=155808, ...}) = 0 mmap2(0x473d6000, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x473d6000 mmap2(0x473f7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) = 0x473f7000 close(3) = 0 open("/usr/lib/libexpat.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@QlG4\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=190056, ...}) = 0 mmap2(0x476c3000, 190948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x476c3000 mmap2(0x476f0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c) = 0x476f0000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 -G4\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1205688, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef6000 mmap2(0x472bd000, 1141948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x472bd000 mmap2(0x473ce000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111) = 0x473ce000 mmap2(0x473d2000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x473d2000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ef5000 mprotect(0x473ce000, 4096, PROT_READ) = 0 mprotect(0x472b9000, 4096, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7ef56b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xb7ef8000, 90537) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\202\225\302\333", 4) = 4 close(3) = 0 brk(0) = 0x8082000 brk(0x80a3000) = 0x80a3000 gettimeofday({1132679220, 228799}, {4294967236, 0}) = 0 open("/etc/localtime", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ed5000 read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0"..., 131072) = 951 close(3) = 0 munmap(0xb7ed5000, 131072) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 write(2, "18:07:00.228 [I] hald.c:511: hal"..., 4118:07:00.228 [I] hald.c:511: hal 0.5.5.1 ) = 41 gettimeofday({1132679220, 260772}, {4294967236, 0}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 write(2, "18:07:00.260 [I] hald.c:575: Wil"..., 4818:07:00.260 [I] hald.c:575: Will not daemonize ) = 48 pipe([3, 4]) = 0 fstat64(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 fcntl64(3, F_GETFL) = 0 (flags O_RDONLY) rt_sigaction(SIGTERM, {0x8056020, [TERM], SA_RESTART}, {SIG_DFL}, 8) = 0 open("/dev/urandom", O_RDONLY) = 5 read(5, "\274\271I;\206\235M\367\321\212", 10) = 10 close(5) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 5 bind(5, {sa_family=AF_FILE, path=@/tmp/hald-local/dbus-CzLxK7PzXO}, 110) = 0 listen(5, 30) = 0 fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0 fcntl64(5, F_GETFD) = 0 fcntl64(5, F_SETFD, FD_CLOEXEC) = 0 gettimeofday({1132679220, 324230}, NULL) = 0 open("/dev/urandom", O_RDONLY) = 6 read(6, "9\34\6\211\214Qcy\271(\302\236", 12) = 12 close(6) = 0 gettimeofday({1132679220, 324796}, {4294967236, 0}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 write(2, "18:07:00.324 [I] hald_dbus.c:304"..., 14818:07:00.324 [I] hald_dbus.c:3048: local server is listening at unix:abstract=/tmp/hald-local/dbus-CzLxK7PzXO,guid=34508343391c06898c516379b928c200 ) = 148 fstat64(5, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 fcntl64(5, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) socket(PF_FILE, SOCK_DGRAM, 0) = 6 bind(6, {sa_family=AF_FILE, path=@/var/run/hal/hotplug_socket2}, 31) = 0 setsockopt(6, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0 fstat64(6, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 fcntl64(6, F_GETFL) = 0x2 (flags O_RDWR) open("/proc/mounts", O_RDONLY) = 7 fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0e000 read(7, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 405 close(7) = 0 munmap(0xb7f0e000, 4096) = 0 gettimeofday({1132679220, 419969}, {4294967236, 0}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 write(2, "18:07:00.419 [I] osspec.c:347: s"..., 5918:07:00.419 [I] osspec.c:347: sysfs mount point is '/sys' ) = 59 open("/proc/mounts", O_RDONLY) = 7 fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0e000 read(7, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 405 close(7) = 0 munmap(0xb7f0e000, 4096) = 0 gettimeofday({1132679220, 454024}, {4294967236, 0}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 write(2, "18:07:00.454 [I] osspec.c:352: p"..., 5918:07:00.454 [I] osspec.c:352: proc mount point is '/proc' ) = 59 socket(PF_NETLINK, SOCK_DGRAM, 15) = 7 getpid() = 13364 bind(7, {sa_family=AF_NETLINK, pid=13364, groups=ffffffff}, 12) = -1 ENOENT (No such file or directory) fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 3), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0e000 write(1, "*** [DIE] osspec.c:osspec_init()"..., 72*** [DIE] osspec.c:osspec_init():370 : Unable to bind to netlink socket ) = 72 munmap(0xb7f0e000, 4096) = 0 exit_group(1) = ? $ equery l -i hal [ Searching for package 'hal' in all categories among: ] * installed packages [I--] [ ] sys-apps/hal-0.5.5.1 (0)
Please ensure that you have netlink support enabled in the kernel.
(In reply to comment #8) > Please ensure that you have netlink support enabled in the kernel. $ fgrep -i netlink /usr/src/linux-2.6.14-gentoo-r2/.config CONFIG_NETFILTER_NETLINK=y # CONFIG_NETFILTER_NETLINK_QUEUE is not set # CONFIG_NETFILTER_NETLINK_LOG is not set
I had the same problem and after digging in hal and kernel sources for a while I finally found the solution: You need to enable "General Setup -> Kernel Userspace Events" in your kernel configuration. Just for those interested I can briefly describe what I did and found in more detail. The relevant line of the strace (as posted above) is: bind(7, {sa_family=AF_NETLINK, pid=13364, groups=ffffffff}, 12) = -1 ENOENT (No such file or directory) The error code that bind() returns depends on the protocol family used (AF_NETLINK in this case). In the kernel sources in /usr/src/linux-2.6.14-gentoo-r2/net/netlink/af_netlink.c I found that the function netlink_bind() gets eventually called when bind() is used with the AF_NETLINK protocol. netlink_bind() in turn returns ENOENT when this check fails: if (!nl_table[sk->sk_protocol].registered) err = -ENOENT; sk->sk_protocol is provided by hal with a value of NETLINK_KOBJECT_UEVENT. Searching a bit further it became clear that this protocol is only "registered" when kobject_uevent.o is compiled into the kernel.
(In reply to comment #10) > You need to enable "General Setup -> Kernel > Userspace Events" in your kernel configuration. Worked like a charm for me, also on gentoo-sources-2.6.14-r3. Thanks a lot.
Thanks for taking the time to diagnose the issue. Added a fix for this in portage, the latest version should now fail to build if you do not have Userspace Events unset.