Zitat von "W.C.A. Wijngaards" <wouter@nlnetlabs.nl>:
This should be fixed in nsd trunk version - it checks at configure
time if recvmmsg is implemented.
Thanks, but it doesn't help (at least me).
I run the same package on different virtual machines. Both where upgrades von Squeeze to Wheezy.
But basicly it both Debian. One VM work, the other doesn't.
======= vm1 (working)
# cat /proc/version
Linux version 2.6.32-042stab076.7 (root@rh6-build-x64) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Thu Apr 25 13:35:47 MSK 2013
But basicly it both Debian. One VM work, the other doesn't.
Are you sure? Your output suggest vm1 is a Red Hat box.
Linux version 2.6.32-042stab076.7 (root@rh6-build-x64) (gcc version
4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Thu Apr 25 13:35:47 MSK
2013
Linux version 2.6.32-5-openvz-amd64 (Debian 2.6.32-48squeeze3)
(dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Fri May
10 09:43:55 UTC 2013
I'm confused why the apparently identical binary works on the debian
machine. The man page states: "The recvmmsg() system call was added in
Linux 2.6.33. Support in glibc was added in version 2.12."
Are you sure? Your output suggest vm1 is a Red Hat box.
Linux version 2.6.32-042stab076.7 (root@rh6-build-x64) (gcc version
4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Thu Apr 25 13:35:47 MSK
2013
Linux version 2.6.32-5-openvz-amd64 (Debian 2.6.32-48squeeze3)
(dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Fri May
10 09:43:55 UTC 2013
I use virtual hosts from different (cheap) vhost providers for years.
The vhosts don't need an own kernel package and I didn't care about till now.
Looks like the hosts running the vhosts use different distos.
But that's the sense of virtualization and should not matter.
Did you really run ./configure on both VMs?
no.
I build Debian packages on a dedicated, external build host. But that host also run
Debian Wheezy. Doing so was never a problem last years.
NSD4 uses kernel? features. Availability is checked at build time and that looks wrong here.
It should be possible to select at run time.
For now I try to disable HAVE_RECVMMSG in config.h ...
Zitat von Andreas Schulze <sca@andreasschulze.de>:
For now I try to disable HAVE_RECVMMSG in config.h ...
patch (ugly) attached
NSD should not really detect the system at runtime; it is built by the
packager. But, an option to make the build compatible with older
Linux kernels is good, and I added this to the NSD4 source.
The attached patch for NSD4(beta5) adds a configure time option
that --disable-recvmmsg for compat with older Linux kernels,
by default it autodetects support in the kernel on the buildmachine.
NSD should not really detect the system at runtime; it is built by the
packager. But, an option to make the build compatible with older
Linux kernels is good, and I added this to the NSD4 source.
right.
The attached patch for NSD4(beta5) adds a configure time option
that --disable-recvmmsg for compat with older Linux kernels,
by default it autodetects support in the kernel on the buildmachine.
The patch modify configure.ac. But my buildsystem just uses configure
and ignore the changed configure.ac.
I'm not the expert to modify configure itself.