EKC
2006-Jun-28 15:39 UTC
[Lustre-discuss] How To Build A Patchless Client On Lustre 1.6.0 beta4?
I have built a patchless Lustre client for 1.6.0 beta4 using the following configuration directive: ./configure --with-linux=../linux-2.6.17.1 --disable-server --disable-liblustre; make; make install When built this way "mount -t lustre" fails with a long list of "unknown symbol" errors, including: <snip> ptlrpc: Unknown symbol bit_spin_unlock ptlrpc: Unknown symbol bit_spin_lock mdc: Unknown symbol lustre_msg_get_last_xid mdc: Unknown symbol ptlrpcd_addref mdc: Unknown symbol lustre_msg_get_magic mdc: Unknown symbol ptlrpc_check_set mdc: Unknown symbol lustre_msg_get_last_committed mdc: Unknown symbol ptlrpc_queue_wait mdc: Unknown symbol client_import_del_conn mdc: Unknown symbol ptlrpc_request_addref mdc: Unknown symbol ldlm_lockname </snip> (lnet, lvfs, and libcfs load successfully) The lustre patchless client at ftp://ftp.clusterfs.com/pub/people/green/patchless has worked fine on the same kernel version using the same configuration directive. What am I doing wrong with 1.6.0 beta4? I have tried excluding the --disable-liblustre from the configuration directive. However, make fails in that case with the following errors: <snip> ../../../lustre/liblustre/liblustre.a(libmdc_a-mdc_request.o): In function `mdc_getattr'': /opteron_lustre_client/LUSTRE1.6/lustre-1.5.91/lustre/mdc/mdc_request.c:186: undefined reference to `posix_acl_xattr_size'' ../../../lustre/liblustre/liblustre.a(libmdc_a-mdc_locks.o): In function `mdc_enqueue'': /opteron_lustre_client/LUSTRE1.6/lustre-1.5.91/lustre/mdc/mdc_locks.c:374: undefined reference to `posix_acl_xattr_size'' collect2: ld returned 1 exit status </snip> The MDS, MGS, and OST''s are up and running on vanilla 2.6.12. Thanks
Andreas Dilger
2006-Jun-30 01:06 UTC
[Lustre-discuss] How To Build A Patchless Client On Lustre 1.6.0 beta4?
On Jun 28, 2006 15:39 -0600, EKC wrote:> I have built a patchless Lustre client for 1.6.0 beta4 using the > following configuration directive: > > ./configure --with-linux=../linux-2.6.17.1 --disable-server > --disable-liblustre; make; make install > > When built this way "mount -t lustre" fails with a long list of > "unknown symbol" errors, including: > <snip> > ptlrpc: Unknown symbol bit_spin_unlock > ptlrpc: Unknown symbol bit_spin_lockThese should be part of the kernel. In fact, in 2.6.16 they are inline functions in include/linux/bit_spinlock.h, so they should have been compiled into this file? Are we missing a header somewhere?> mdc: Unknown symbol lustre_msg_get_last_xid > mdc: Unknown symbol ptlrpcd_addref > mdc: Unknown symbol lustre_msg_get_magic > mdc: Unknown symbol ptlrpc_check_set > mdc: Unknown symbol lustre_msg_get_last_committed > mdc: Unknown symbol ptlrpc_queue_wait > mdc: Unknown symbol client_import_del_conn > mdc: Unknown symbol ptlrpc_request_addref > mdc: Unknown symbol ldlm_locknameThese are in the ptlrpc module that failed to load. Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc.
Wang Yibin
2006-Jun-30 01:24 UTC
[Lustre-discuss] How To Build A Patchless Client On Lustre 1.6.0 beta4?
Hi, EKC wrote:> I have built a patchless Lustre client for 1.6.0 beta4 using the > following configuration directive: > > ./configure --with-linux=../linux-2.6.17.1 --disable-server > --disable-liblustre; make; make install > > When built this way "mount -t lustre" fails with a long list of > "unknown symbol" errors, including: > <snip> > ptlrpc: Unknown symbol bit_spin_unlock > ptlrpc: Unknown symbol bit_spin_lockIs the running kernel built from ../linux-2.6.17.1? If not, the running kernel may have different versions of above symbols with 2.6.17.1 So you''d better rebuild and install kernel/lustre using the same kernel sources. -- Cheers, Wang Yibin
EKC
2006-Jun-30 08:51 UTC
[Lustre-discuss] How To Build A Patchless Client On Lustre 1.6.0 beta4?
Yes, the development environment is running 2.6.17.1. The lustre client server is also running 2.6.17.1 Modprobe is still reporting: <error> ptlrpc: Unknown symbol bit_spin_unlock ptlrpc: Unknown symbol bit_spin_lock </error> While running configure to build a lustre patchless client, I am getting the following output: <snip> checking for ../linux-2.6.17.1/include/linux/bit_spinlock.h... yes checking if bit_spinlock.h can be compiled... no </snip> make is reporting the following warnings regarding bit_spin_unlock: <snip> /lustre-1.5.91/lustre/include/lustre_dlm.h: In function `lock_bitlock'': /lustre-1.5.91/lustre/include/lustre_dlm.h:682: warning: implicit declaration of function `bit_spin_lock'' /lustre-1.5.91/lustre/include/lustre_dlm.h: In function `unlock_bitlock'': /lustre-1.5.91/lustre/include/lustre_dlm.h:691: warning: implicit declaration of function `bit_spin_unlock'' </snip> I have tried including bit_spinlock.h directly in lustre_dlm.h: <patch> --- lustre/include/lustre_dlm.h~ 2006-06-30 14:17:06.000000000 +0000 +++ lustre/include/lustre_dlm.h 2006-06-30 14:28:24.000000000 +0000 @@ -6,9 +6,6 @@ #ifndef _LUSTRE_DLM_H__ #define _LUSTRE_DLM_H__ -#include <linux/spinlock.h> -#include <linux/bit_spinlock.h> - #if defined(__linux__) #include <linux/lustre_dlm.h> #elif defined(__APPLE__) </patch> However, this results in the following make error: <error> /usr/include/linux/bit_spinlock.h:59: error: `bitlock'' undeclared (first use in this function) </error> Any suggestions? Thanks On 6/30/06, Wang Yibin <wangyb@clusterfs.com> wrote:> Hi, > > EKC wrote: > > I have built a patchless Lustre client for 1.6.0 beta4 using the > > following configuration directive: > > > > ./configure --with-linux=../linux-2.6.17.1 --disable-server > > --disable-liblustre; make; make install > > > > When built this way "mount -t lustre" fails with a long list of > > "unknown symbol" errors, including: > > <snip> > > ptlrpc: Unknown symbol bit_spin_unlock > > ptlrpc: Unknown symbol bit_spin_lock > > Is the running kernel built from ../linux-2.6.17.1? > If not, the running kernel may have different versions of above symbols > with 2.6.17.1 > So you''d better rebuild and install kernel/lustre using the same kernel > sources. > > -- > Cheers, > Wang Yibin > >
Anselm Strauss
2006-Jun-30 10:36 UTC
[Lustre-discuss] How To Build A Patchless Client On Lustre 1.6.0 beta4?
hi. i got exactly the same problem. i tried it with gentoo linux on a dual opteron system with kernel 2.6.16-gentoo-r9. On Jun 30, 2006, at 4:51 PM, EKC wrote:> Yes, the development environment is running 2.6.17.1. The lustre > client server is also running 2.6.17.1 > > Modprobe is still reporting: > <error> > ptlrpc: Unknown symbol bit_spin_unlock > ptlrpc: Unknown symbol bit_spin_lock > </error> > > While running configure to build a lustre patchless client, I am > getting the following output: > <snip> > checking for ../linux-2.6.17.1/include/linux/bit_spinlock.h... yes > checking if bit_spinlock.h can be compiled... no > </snip>i disabled smp support in the kernel, then the last line changes to yes: <snip> checking if bit_spinlock.h can be compiled... yes </snip> i was then able to compile the client + kernel modules, load the modules and mount a lustre filesystem from a patched lustre server (linux 2.6.12 + lustre 1.6.0 beta4). i have no idea how smp is related to this issue. i looked at the configure script, it''s actually easy to find the command for this check, but i have no idea what it''s doing and why it fails for an smp kernel.> make is reporting the following warnings regarding bit_spin_unlock: > <snip> > /lustre-1.5.91/lustre/include/lustre_dlm.h: In function > `lock_bitlock'': > /lustre-1.5.91/lustre/include/lustre_dlm.h:682: warning: implicit > declaration of function `bit_spin_lock'' > /lustre-1.5.91/lustre/include/lustre_dlm.h: In function > `unlock_bitlock'': > /lustre-1.5.91/lustre/include/lustre_dlm.h:691: warning: implicit > declaration of function `bit_spin_unlock'' > </snip> > > I have tried including bit_spinlock.h directly in lustre_dlm.h: > <patch> > --- lustre/include/lustre_dlm.h~ 2006-06-30 > 14:17:06.000000000 +0000 > +++ lustre/include/lustre_dlm.h 2006-06-30 14:28:24.000000000 +0000 > @@ -6,9 +6,6 @@ > #ifndef _LUSTRE_DLM_H__ > #define _LUSTRE_DLM_H__ > > -#include <linux/spinlock.h> > -#include <linux/bit_spinlock.h> > - > #if defined(__linux__) > #include <linux/lustre_dlm.h> > #elif defined(__APPLE__) > </patch> > > However, this results in the following make error: > <error> > /usr/include/linux/bit_spinlock.h:59: error: `bitlock'' undeclared > (first use in this function) > </error> > > Any suggestions? > > Thanks > > On 6/30/06, Wang Yibin <wangyb@clusterfs.com> wrote: >> Hi, >> >> EKC wrote: >> > I have built a patchless Lustre client for 1.6.0 beta4 using the >> > following configuration directive: >> > >> > ./configure --with-linux=../linux-2.6.17.1 --disable-server >> > --disable-liblustre; make; make install >> > >> > When built this way "mount -t lustre" fails with a long list of >> > "unknown symbol" errors, including: >> > <snip> >> > ptlrpc: Unknown symbol bit_spin_unlock >> > ptlrpc: Unknown symbol bit_spin_lock >> >> Is the running kernel built from ../linux-2.6.17.1? >> If not, the running kernel may have different versions of above >> symbols >> with 2.6.17.1 >> So you''d better rebuild and install kernel/lustre using the same >> kernel >> sources. >> >> -- >> Cheers, >> Wang Yibincheers anselm strauss