2011-08-10 18:11:34

by Anna Schumaker

[permalink] [raw]
Subject: Re: Unable to Compile Latest Kernel from Git

On 08/10/2011 01:29 PM, Billy Hass wrote:
> On Tue, Aug 9, 2011 at 4:52 AM, Benny Halevy <[email protected]> wro=
te:
>> On 2011-08-08 15:01, Olga Kornievskaia wrote:
>>> I'd like to 2nd this.
>>>
>>> Current pnfs server doesn't build if chosen to be build into the
>>> kernel. It does build, if built as a module.
>>>
>>> when client and server code is build into the kernel it seems that
>>> both sides try to define pnfs_roc() function and stepping on each
>>> others toes..
>>>
>>> On Fri, Aug 5, 2011 at 9:58 PM, Billy Hass <[email protected]> wro=
te:
>>>> Hey all,
>>>>
>>>> I am unable to compile the latest kernel from the git tree.
>>>>
>>>> git clone git://git.linux-nfs.org/projects/bhalevy/linux-pnfs.git
>>>> cd linux-pnfs
>>>> make oldconfig
>>>> make -j5 -s
>>>> [ ... ]
>>>> [A lot of warnings, but no errors]
>>>> [ ... ]
>>>> make install
>>>> sh /usr/src/kernels/3.0.0/linux-
>>>> pnfs/arch/x86/boot/install.sh 3.0.0-pnfs arch/x86/boot/bzImage=
\
>>>> System.map "/boot"
>>>> *** Missing file: arch/x86/boot/bzImage
>>>> *** You need to run "make" before "make install".
>>>> make[1]: *** [install] Error 1
>>>> make: *** [install] Error 2
>>>>
>>>> When I try to do the make again, here is the output
>>>> make -j5 -s
>>>> fs/nfsd/built-in.o: In function `pnfs_roc':
>>>> (.text+0x226d1): multiple definition of `pnfs_roc'
>>>> fs/nfs/built-in.o:(.text+0x304ee): first defined here
>>>> make[1]: *** [fs/built-in.o] Error 1
>>>> make: *** [fs] Error 2
>>>> make: *** Waiting for unfinished jobs....
>>>>
>>>> Thanks for any help!
>>>>
>>>> Bill
>>>>
>>>> --
>>>> Bill D. Hass
>>>> Major | Electrical Engineering BSE
>>>> Minor | Mathematics
>>>> University of Michigan '13
>>>> College of Engineering
>>>> (715) 923-8382
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-nf=
s" in
>>>> the body of a message to [email protected]
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs=
" in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> Right. The following patch simply renames the function for pnfsd.
>> I'm pushing it to pnfs-all-3.0 and I'll add it to the 3.1-rc tree
>> (pnfs-all-latest) once I finish rebasing and testing it.
>>
>> Benny
>>
>> From d76f73eca38fd7b803d80e78cfa8f9468e83a9b3 Mon Sep 17 00:00:00 20=
01
>> From: Benny Halevy <[email protected]>
>> Date: Tue, 9 Aug 2011 01:11:16 -0400
>> Subject: [PATCH] SQUASHME: pnfsd: rename pnfs_roc to pnfsd_roc
>>
>> It clashes with a function called the same in the nfs module
>>
>> Signed-off-by: Benny Halevy <[email protected]>
>> ---
>> fs/nfsd/nfs4pnfsd.c | 2 +-
>> fs/nfsd/nfs4state.c | 2 +-
>> fs/nfsd/pnfsd.h | 2 +-
>> 3 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/fs/nfsd/nfs4pnfsd.c b/fs/nfsd/nfs4pnfsd.c
>> index b1f67eb..e0669ad 100644
>> --- a/fs/nfsd/nfs4pnfsd.c
>> +++ b/fs/nfsd/nfs4pnfsd.c
>> @@ -1336,7 +1336,7 @@ nomatching_layout(struct nfs4_layoutrecall *cl=
r)
>> * the layout and simulate a layout_return. Surly the client has f=
orgotten
>> * these layouts or it would return them before the close.
>> */
>> -void pnfs_roc(struct nfs4_client *clp, struct nfs4_file *fp)
>> +void pnfsd_roc(struct nfs4_client *clp, struct nfs4_file *fp)
>> {
>> struct nfs4_layout *lo, *nextlp;
>>
>> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
>> index 1941051..b95589e 100644
>> --- a/fs/nfsd/nfs4state.c
>> +++ b/fs/nfsd/nfs4state.c
>> @@ -3620,7 +3620,7 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfs=
d4_compound_state *cstate,
>> update_stateid(&stp->st_stateid);
>> memcpy(&close->cl_stateid, &stp->st_stateid, sizeof(stateid_t=
));
>>
>> - pnfs_roc(stp->st_stateowner->so_client, stp->st_file);
>> + pnfsd_roc(stp->st_stateowner->so_client, stp->st_file);
>>
>> /* release_stateid() calls nfsd_close() if needed */
>> release_open_stateid(stp);
>> diff --git a/fs/nfsd/pnfsd.h b/fs/nfsd/pnfsd.h
>> index a4c8a9c..6e60d2c 100644
>> --- a/fs/nfsd/pnfsd.h
>> +++ b/fs/nfsd/pnfsd.h
>> @@ -125,7 +125,7 @@ int nfs4_pnfs_cb_change_state(struct pnfs_get_st=
ate *);
>> void nfs4_ds_get_verifier(stateid_t *, struct super_block *, u32 *)=
;
>> int put_layoutrecall(struct nfs4_layoutrecall *);
>> void nomatching_layout(struct nfs4_layoutrecall *);
>> -void pnfs_roc(struct nfs4_client *clp, struct nfs4_file *fp);
>> +void pnfsd_roc(struct nfs4_client *clp, struct nfs4_file *fp);
>> void *layoutrecall_done(struct nfs4_layoutrecall *);
>> void nfsd4_cb_layout(struct nfs4_layoutrecall *);
>> int _nfsd_layout_recall_cb(struct super_block *, struct inode *,
>> --
>> 1.7.6
>>
>>
>=20
> I updated to the latest git today and I am still having trouble compi=
ling.
>=20
> [root@pdsi8 linux-pnfs]# make -j5 -s
> [...]
> drivers/isdn/hardware/mISDN/hfcpci.c:2319:2: warning: ignoring return
> value of =91driver_for_each_device=92, declared with attribute
> warn_unused_result [-Wunused-result]
> drivers/isdn/hardware/eicon/message.c: In function =91mixer_notify_up=
date=92:
> drivers/isdn/hardware/eicon/message.c:11308:54: warning: array
> subscript is above array bounds [-Warray-bounds]
> fs/xfs/linux-2.6/xfs_iops.c: In function =91_xfs_vn_fallocate=92:
> fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of
> function =91xfs_setattr=92 [-Werror=3Dimplicit-function-declaration]
> cc1: some warnings being treated as errors
> make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1
> make[1]: *** [fs/xfs] Error 2
> make: *** [fs] Error 2
> make: *** Waiting for unfinished jobs....
> In file included from drivers/message/i2o/config-osm.c:39:0:
> drivers/message/i2o/i2o_config.c: In function =91i2o_cfg_passthru=92:
> [...]
>=20
> [root@pdsi8 linux-pnfs]# make modules && make modules_install && make=
install
> CHK include/linux/version.h
> CHK include/generated/utsrelease.h
> CALL scripts/checksyscalls.sh
> CC [M] fs/xfs/linux-2.6/xfs_iops.o
> fs/xfs/linux-2.6/xfs_iops.c: In function =91_xfs_vn_fallocate=92:
> fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of
> function =91xfs_setattr=92 [-Werror=3Dimplicit-function-declaration]
> cc1: some warnings being treated as errors
> make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1
> make[1]: *** [fs/xfs] Error 2
> make: *** [fs] Error 2

This looks like an XFS problem now... did you see if any of the NFS cod=
e compiled this time?

I've had these issues before, and it's usually caused by something in m=
y .config. Generating a new one usually fixes it for me.

- Bryan

>=20
> Here is my second make after a failed make:
> [root@pdsi8 linux-pnfs]# make -j5 -s
> fs/xfs/linux-2.6/xfs_iops.c: In function =91_xfs_vn_fallocate=92:
> fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of
> function =91xfs_setattr=92 [-Werror=3Dimplicit-function-declaration]
> cc1: some warnings being treated as errors
> make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1
> make[1]: *** [fs/xfs] Error 2
> make: *** [fs] Error 2
> make: *** Waiting for unfinished jobs....
>=20
>=20



2011-08-10 18:29:07

by Boaz Harrosh

[permalink] [raw]
Subject: Re: Unable to Compile Latest Kernel from Git

On 08/10/2011 11:11 AM, Bryan Schumaker wrote:
> On 08/10/2011 01:29 PM, Billy Hass wrote:
>> [root@pdsi8 linux-pnfs]# make modules && make modules_install && mak=
e install
>> CHK include/linux/version.h
>> CHK include/generated/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CC [M] fs/xfs/linux-2.6/xfs_iops.o
>> fs/xfs/linux-2.6/xfs_iops.c: In function =E2=80=98_xfs_vn_fallocate=E2=
=80=99:
>> fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of
>> function =E2=80=98xfs_setattr=E2=80=99 [-Werror=3Dimplicit-function-=
declaration]
>> cc1: some warnings being treated as errors
>> make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1
>> make[1]: *** [fs/xfs] Error 2
>> make: *** [fs] Error 2
>=20
> This looks like an XFS problem now... did you see if any of the NFS c=
ode compiled this time?
>=20
> I've had these issues before, and it's usually caused by something in=
my .config. Generating a new one usually fixes it for me.
>=20
> - Bryan
>=20

Please try v3.1-rc1 (git checkout v3.1-rc1) if it persists I'm sure the=
xfs guys
would like to fix it.

Send this report with an attached .config file to:
linux-fsdevel <[email protected]>

Thanks
Boaz

2011-08-10 19:05:04

by Billy Hass

[permalink] [raw]
Subject: Re: Unable to Compile Latest Kernel from Git

On Wed, Aug 10, 2011 at 2:29 PM, Boaz Harrosh <[email protected]> wr=
ote:
> On 08/10/2011 11:11 AM, Bryan Schumaker wrote:
>> On 08/10/2011 01:29 PM, Billy Hass wrote:
>>> [root@pdsi8 linux-pnfs]# make modules && make modules_install && ma=
ke install
>>> =A0 CHK =A0 =A0 include/linux/version.h
>>> =A0 CHK =A0 =A0 include/generated/utsrelease.h
>>> =A0 CALL =A0 =A0scripts/checksyscalls.sh
>>> =A0 CC [M] =A0fs/xfs/linux-2.6/xfs_iops.o
>>> fs/xfs/linux-2.6/xfs_iops.c: In function =91_xfs_vn_fallocate=92:
>>> fs/xfs/linux-2.6/xfs_iops.c:1070:3: error: implicit declaration of
>>> function =91xfs_setattr=92 [-Werror=3Dimplicit-function-declaration=
]
>>> cc1: some warnings being treated as errors
>>> make[2]: *** [fs/xfs/linux-2.6/xfs_iops.o] Error 1
>>> make[1]: *** [fs/xfs] Error 2
>>> make: *** [fs] Error 2
>>
>> This looks like an XFS problem now... did you see if any of the NFS =
code compiled this time?
>>
>> I've had these issues before, and it's usually caused by something i=
n my .config. =A0Generating a new one usually fixes it for me.
>>
>> - Bryan
>>
>
> Please try v3.1-rc1 (git checkout v3.1-rc1) if it persists I'm sure t=
he xfs guys
> would like to fix it.
>
> Send this report with an attached .config file to:
> =A0 =A0 =A0 =A0linux-fsdevel <[email protected]>
>
> Thanks
> Boaz
>

I tried v3.1-rc1 and it compiled successfully.

Thanks for the help.