Bug 706578

Summary: compiling broken: cannot linux/dns_resolver.h
Product: Red Hat Enterprise Linux 6 Reporter: colyli
Component: kernelAssignee: Prarit Bhargava <prarit>
Status: CLOSED WORKSFORME QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.1CC: arozansk, ravi.sanwal
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-27 12:21:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description colyli 2011-05-21 08:49:46 UTC
Description of problem:

1) compile code
When compiling rhel6.1 kernel from source rpm, using default conf, the compiling breaks:
  CC [M]  fs/nfs/mount_clnt.o
  CC [M]  fs/nfs/dns_resolve.o
fs/nfs/dns_resolve.c:12:32: fatal error: linux/dns_resolver.h: No such file or directory
compilation terminated.
make[2]: *** [fs/nfs/dns_resolve.o] Error 1

2) check source
vi fs/nfs/dns_resolve.c, see this:
#ifdef CONFIG_NFS_USE_KERNEL_DNS

#include <linux/sunrpc/clnt.h>
#include <linux/dns_resolver.h>

3) find dns_resolver.h
do not find dns_resolver.h in the uncompressed kernel tar file.

Version-Release number of selected component (if applicable):
linux-2.6.32-131.0.15.el6

How reproducible:
Just compile the kernel source.

Expected results:
should pass compiling.

Additional info:

Comment 2 Prarit Bhargava 2011-05-27 12:21:24 UTC
Where are you getting the "default conf" from?

FWIW -- works for me if I do

rpm -ivh kernel.src.rpm
rpmbuild -bp /root/rpmbuild/SPECS/kernel.spec
cd /root/rpmbuild/BUILD/linux.../kernel...
make -j oldconfig; make -j

P.

Comment 3 Ravi Sanwal 2013-12-19 05:42:58 UTC
The error is valid.
You can see this if you disable legacy resolver. (CONFIG_NFS_USE_LEGACY_DNS)
if this is not defined, dns_resolve.c includes linux/dns_resolve.h which does not exist.