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