waltligon / orangefs

Official repository for PVFS/OrangeFS
Other
62 stars 7 forks source link

Ubuntu 18.04 ARM64 aarch64 : make kmod failure #91

Closed nyue closed 3 years ago

nyue commented 3 years ago

Hi,

I have a cluster of Jetson Nanos from Picocluster which I am running some MPI-IO code.

I am hoping to setup OrangeFS for the cluster.

./configure --with-db-backend=lmdb --with-kernel=/lib/modules/4.9.140-tegra/build --prefix=/piconfs/systems/orangefs/2.9.8

However, I am getting compilation error when building the kernel module.

Anyone build the orangefs kernel module for aarch64 ?

picocluster@pc0:~/projects/orangefs/orangefs-v.2.9.8$ make kmod
  CC [M]  /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-utils.o
In file included from ./include/linux/module.h:26:0,
                 from /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h:58,
                 from /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-utils.c:7:
./arch/arm64/include/asm/module.h:22:0: warning: "MODULE_ARCH_VERMAGIC" redefined
 #define MODULE_ARCH_VERMAGIC "aarch64"

In file included from /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h:46:0,
                 from /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-utils.c:7:
./include/linux/vermagic.h:25:0: note: this is the location of the previous definition
 #define MODULE_ARCH_VERMAGIC ""

In file included from /home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-utils.c:7:0:
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h: In function ‘pvfs2_i_set_nlink’:
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h:1432:20: error: assignment of read-only member ‘i_nlink’
     inode->i_nlink = nlink;
                    ^
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h: In function ‘pvfs2_i_inc_nlink’:
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h:1441:19: error: increment of read-only member ‘i_nlink’
     inode->i_nlink++;
                   ^~
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h: In function ‘pvfs2_i_drop_nlink’:
/home/picocluster/projects/orangefs/orangefs-v.2.9.8/src/kernel/linux-2.6/pvfs2-kernel.h:1450:19: error: decrement of read-only member ‘i_nlink’
     inode->i_nlink--;

Cheers

boydwilson commented 3 years ago

We really don't recommend using the out of tree kernel module anymore. OrangeFS was pulled upstream with Linux kernel 4.6, the best performance will be with kernel 5.13 and newer (much better on reads)

I am also going to convert this to a discussion. thanks!