Package: rsyslog
Version: 8.16.0-1+b4
Severity: normal
User: [email protected]
Usertags: hurd

I get this to /var/log/syslog on each boot:

Jul  2 16:19:36 luuska rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" 
x-pid="1207" x-info="http://www.rsyslog.com";] start
Jul  2 16:19:36 luuska rsyslogd-2066: could not load module 
'/usr/lib/rsyslog/imklog.so', dlopen: /usr/lib/rsyslog/imklog.so: undefined 
symbol: klogWillRunPrePrivDrop  [v8.16.0 try http://www.rsyslog.com/e/2066 ]

and although gnumach writes "unexpected RESEND from keyboard" to
the console when I use a key combination to unfocus the
virtualbox window, rsyslog does not forward that message to
/var/log/kern.log.

The error happens because the build system of rsyslog does not
recognize the GNU Hurd and builds imklog.so without compiling
bsd.c, which would define the missing symbols.  To fix that,
one would first have to patch configure.ac so it recognizes
${host}=i586-pc-gnu and sets os_type="bsd".  (config.guess would
output "i686-unknown-gnu0.8" instead but that doesn't matter here
because dh_auto_configure provides the --build= option.)

That change would fix the missing symbols but rsyslog would then
hit a Hurd bug: https://savannah.gnu.org/bugs/?48371 "read(fd,
NULL, 0) from /dev/klog blocks until there is data".  This causes
rsyslog to block on startup.  To work around it, you can #if out
the read call and related code in plugins/imklog/bsd.c
(klogWillRunPostPrivDrop).  Then it'll start quickly and actually
log the kernel messages.

After those fixes, rsyslog would still be slow to exit when the
OS is shut down.  I haven't tried to find the reason for that.

I do not intend to publish any patches for rsyslog but I hope
this description will help someone else fix the bug.

-- System Information:
Debian Release: 8.0
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.4+git20150409-486/Hurd-0.8
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages rsyslog depends on:
ii  init-system-helpers  1.22
ii  libc0.3              2.22-13
ii  libestr0             0.1.10-2
ii  libjson-c3           0.12-3
ii  liblogging-stdlog0   1.0.5-2
ii  liblognorm2          1.1.2-1.1+b2
ii  libuuid1             2.28-5
ii  lsb-base             4.1+Debian13+nmu1
ii  zlib1g               1:1.2.8.dfsg-2

Versions of packages rsyslog recommends:
ii  logrotate  3.8.7-1+b1

Versions of packages rsyslog suggests:
pn  rsyslog-doc                    <none>
pn  rsyslog-gnutls                 <none>
pn  rsyslog-gssapi                 <none>
pn  rsyslog-mongodb                <none>
pn  rsyslog-mysql | rsyslog-pgsql  <none>
pn  rsyslog-relp                   <none>

-- no debconf information

Attachment: pgpadaObZw1f8.pgp
Description: PGP signature

Reply via email to