Hello,

At first excuse my poor level of english.

I got in problems when I comiled OrangeFS 2.8.7 (current stable), with 
CFLAGS="-fPIC". I was navigated by OpenMPI with ROMIO, to recompile OrangeFS
with this flag, without this flag compilation works without problems, but I 
need OrangeFS at first for ROMIO.

I compiled OrangeFS by this way:
export CFLAGS="-fPIC"
./configure --prefix=/usr/local/orangefs --with-kernel=/usr/src/kernels/2.6.
32-431.5.1.el6.x86_64 --with-openib=/usr --without-bmi-tcp
make -j32
make -j32 kmod
(...)
/root/orangefs-2.8.7/src/kernel/linux-2.6/pvfs2-utils.c: In function ‘pvfs2_
gen_credentials’:
/root/orangefs-2.8.7/src/kernel/linux-2.6/pvfs2-utils.c:26: error: ‘struct 
task_struct’ has no member named ‘fsuid’
/root/orangefs-2.8.7/src/kernel/linux-2.6/pvfs2-utils.c:27: error: ‘struct 
task_struct’ has no member named ‘fsgid’
(... and same error, on multilpe places and in multiple files...)

I made dirty hack of this problem by editing source code nad changing ->
fsuid to ->cred->fsuid (and ->fsgid to ->cred->fsgid) in files 
pvfs2-kernel.h, pvfs2-utils.c, inode.c and acl.c, and I can sucesfully 
compiled code  and sucesfull use OrangeFS (ROMIO not tested yet).

But I think this is hack, no solution. I find, that there is diference 
between output of ./configure with and without "-fPIC" flag at this place:
(with flag): checking for current_fsuid... no
(without flag): checking for current_fsuid... yes
And Im realy dont know if this fPIC flag can have something common with 
this, but I think this is the source of problems, becase without this flag 
currrent_fsuid() function is used, not direct acces to current->fsuid (which
is available only in kernels <2.6.29). 

when i was searchnig for definition of currrent_fsuid() I find that is 
defined in kernel in include/linux/cred.h as:

#define current_fsuid()         (current_cred_xxx(fsuid))

and current_creed_xxx as:

#define current_cred_xxx(xxx)            \
({                                                           \
        current->cred->xxx;                     \
})

I think, that this macros ,if are used, generate code, which i hardcoded 
before to sourcecode as my hack.
So I came to conclusion that there is an problem with tests in configure 
scrits. But ti can, or cannot be True.
I cannot used myself edited sourcode on our cluster, is it a Bug in OrangeFS
or Somewhere or am I doing something wrong?

Im compiling it Centos 6.5 (x86-64), with kernel  2.6.32-431.5.1.el6.x86_64.

Thank for reply.
Hanousek Vít










_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to