[Pvfs2-users] kzalloc undefined

Sam Lang slang at mcs.anl.gov
Wed Feb 21 11:18:38 EST 2007


Hi Minh,

I got the order of my AC_TRY_COMPILE arguments wrong.  That was  
pretty sloppy on my part.  I've attached a patch that should fix the  
error you're getting.  I'm not sure it will apply cleanly to the  
already patched 2.6.2 source that you have.  Better to start with a  
clean 2.6.2 tarball.

Thanks,

-sam

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kzalloc.patch2
Type: application/octet-stream
Size: 658689 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-users/attachments/20070221/1abc3433/kzalloc-0001.obj
-------------- next part --------------


On Feb 21, 2007, at 9:16 AM, Trach-Minh Tran wrote:

> On 02/02/2007 06:26 PM, Sam Lang wrote:
>>
>> Ugh.  My message just got rejected because the patch is too big.   
>> Suneet
>> you can download it here:
>>
>> http://www-unix.mcs.anl.gov/~slang/kzalloc.patch
>>
>>
>
> Hi Sam,
>
> I have tried pvfs-2.6.2 with your "kzalloc.patch" and SuSE-9.3. The  
> compilation
> of the kernel module pvfs2.ko seems to be ok, although there is a  
> warning
> "warning: implicit declaration of function `kzalloc'"!
> But when I tried to load the kernel, I got the following error:
>
> insmod ./pvfs2.ko
> insmod: error inserting './pvfs2.ko': -1 Unknown symbol in module
>
> and on the system log:
>
> Feb 21 16:00:56 pleiades2 kernel: pvfs2: Unknown symbol kzalloc,  
> st_info == 0x1
> Feb 21 16:00:56 pleiades2 kernel: load_module: err  
> 0xfffffffffffffffe (dont worry)
>
> Here is the output of "uname -a" on my x86-64 box:
>
> Linux pleiades2 2.6.11.4-21.15-smp #1 SMP Tue Nov 28 13:39:58 UTC  
> 2006 x86_64
> x86_64 x86_64 GNU/Linux
>
> I attach the patch, configure and kmod logs in case you need them.
>
> Best regards,   -Minh.
>
> patching file configure
> patching file pvfs2-config.h.in
> patching file maint/config/kernel.m4
> patching file src/kernel/linux-2.6/pvfs2-bufmap.c
> patching file src/kernel/linux-2.6/pvfs2-kernel.h
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... x86_64-unknown-linux-gnu
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ANSI C... none needed
> checking how to run the C preprocessor... gcc -E
> checking for egrep... grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking sys/vfs.h usability... yes
> checking sys/vfs.h presence... yes
> checking for sys/vfs.h... yes
> checking sys/mount.h usability... yes
> checking sys/mount.h presence... yes
> checking for sys/mount.h... yes
> checking mntent.h, usability... no
> checking mntent.h, presence... no
> checking for mntent.h,... no
> checking fstab.h usability... yes
> checking fstab.h presence... yes
> checking for fstab.h... yes
> checking stdarg.h usability... yes
> checking stdarg.h presence... yes
> checking for stdarg.h... yes
> checking attr/xattr.h usability... no
> checking attr/xattr.h presence... no
> checking for attr/xattr.h... no
> checking sys/xattr.h usability... yes
> checking sys/xattr.h presence... yes
> checking for sys/xattr.h... yes
> checking for long int... yes
> checking size of long int... 8
> checking for a BSD-compatible install... /usr/bin/install -c
> checking for gcc... (cached) gcc
> checking whether we are using the GNU C compiler... (cached) yes
> checking whether gcc accepts -g... (cached) yes
> checking for gcc option to accept ANSI C... (cached) none needed
> checking for required gcc... checking how to run the C  
> preprocessor... gcc -E
> checking for perl... yes
> checking for find... yes
> checking for bison... yes
> checking for flex... yes
> checking for client library thread safety support... yes
> checking for openssl library... yes
> checking openssl/evp.h usability... yes
> checking openssl/evp.h presence... yes
> checking for openssl/evp.h... yes
> checking openssl/crypto.h usability... yes
> checking openssl/crypto.h presence... yes
> checking for openssl/crypto.h... yes
> checking for pkg-config... yes
> checking for gtk2.0 (for karma gui)... yes
> checking whether byte ordering is bigendian... no
> checking for void *... yes
> checking size of void *... 8
> checking for i_size_write in kernel... yes
> checking for i_size_read in kernel... yes
> checking for iget_locked function in kernel... yes
> checking for iget4_locked function in kernel... no
> checking for iget5_locked function in kernel... yes
> checking for struct xtvec in kernel... no
> checking for memory_backed in struct backing_dev_info in kernel... yes
> checking for find_inode_handle callback in struct super_operations  
> in kernel... no
> checking for i_blksize in struct inode... yes
> checking for statfs_lite callback in struct super_operations in  
> kernel... no
> checking for fill_handle callback in struct inode_operations in  
> kernel... no
> checking for getattr_lite callback in struct inode_operations in  
> kernel... no
> checking for get_fs_key callback in struct super_operations in  
> kernel... no
> checking for readdirplus member in file_operations structure... no
> checking for readdirplus_lite member in file_operations  
> structure... no
> checking for readx member in file_operations structure... no
> checking for writex member in file_operations structure... no
> checking for aio support in kernel... yes
> checking for ki_dtor in kiocb structure of kernel... yes
> checking if statfs callbacks' arguments in kernel has struct dentry  
> argument... no
> checking if get_sb callback in kernel has struct vfsmount  
> argument... no
> checking for xattr support in kernel... yes
> checking for const argument to setxattr function... yes
> checking for 6th argument to sysctl proc handlers... yes
> checking for linux/posix_acl.h... yes
> checking for linux/posix_acl_xattr.h... yes
> checking for linux/xattr_acl.h... yes
> checking for linux/mount.h... yes
> checking for linux/ioctl32.h... yes
> checking for linux/compat.h... yes
> checking for linux/syscalls.h... yes
> checking for asm/ioctl32.h... yes
> checking for generic_file_readv api in kernel... yes
> checking for generic_permission api in kernel... yes
> checking for generic_getxattr api in kernel... yes
> checking for arg member in read_descriptor_t in kernel... yes
> checking for second arg type int in address_space_operations  
> releasepage... yes
> checking for int return in inode_operations follow_link... yes
> checking for older int return in invalidatepage... yes
> checking for warnings when including linux/config.h... no
> checking for compat_ioctl member in file_operations structure... yes
> checking for register_ioctl32_conversion kernel exports... yes
> checking for int return value of kmem_cache_destroy... yes
> checking for combined file_operations readv and aio_read... no
> checking for kzalloc... yes
> checking sys/epoll.h usability... yes
> checking sys/epoll.h presence... yes
> checking for sys/epoll.h... yes
> checking for epoll functions... checking whether cc is an Intel  
> compiler... no
> checking for db library... db
> checking for dbenv parameter to DB error callback function... yes
> checking if third parameter to error callback function is const... yes
> checking for DB stat with malloc function ptr... no
> checking for txnid parameter to DB stat function... yes
> checking for txnid parameter to DB open function... yes
> checking for DB_DIRTY_READ flag... yes
> checking for DB_BUFFER_SMALL error... yes
> checking if server lib needs -lrt... yes
> checking netdb.h usability... yes
> checking netdb.h presence... yes
> checking for netdb.h... yes
> checking arpa/inet.h usability... yes
> checking arpa/inet.h presence... yes
> checking for arpa/inet.h... yes
> checking sys/socket.h usability... yes
> checking sys/socket.h presence... yes
> checking for sys/socket.h... yes
> checking for gethostbyname... yes
> checking for gethostbyaddr... yes
> checking for fgetxattr extra arguments... no
> checking sys/sysinfo.h usability... yes
> checking sys/sysinfo.h presence... yes
> checking for sys/sysinfo.h... yes
> checking for strnlen... yes
> checking for strtoull... yes
> checking for strstr... yes
> checking for fgetxattr... yes
> checking for fgetxattr prototype... yes
> checking for fgetxattr extra arguments... no
> checking for getmntent in -lsun... no
> checking for getmntent in -lseq... no
> checking for getmntent in -lgen... no
> checking for getmntent... yes
> checking malloc.h usability... yes
> checking malloc.h presence... yes
> checking for malloc.h... yes
> checking mntent.h usability... yes
> checking mntent.h presence... yes
> checking for mntent.h... yes
> checking execinfo.h usability... yes
> checking execinfo.h presence... yes
> checking for execinfo.h... yes
> checking for SDL... no
> checking for GNU-style strerror_r... yes
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating module.mk
> config.status: creating src/apps/admin/module.mk
> config.status: creating src/apps/admin/pvfs2-config
> config.status: creating src/apps/karma/module.mk
> config.status: creating src/apps/vis/module.mk
> config.status: creating src/apps/kernel/linux/module.mk
> config.status: creating src/io/trove/module.mk
> config.status: creating src/io/trove/trove-handle-mgmt/module.mk
> config.status: creating src/io/trove/trove-dbpf/module.mk
> config.status: creating src/common/misc/module.mk
> config.status: creating src/common/quickhash/module.mk
> config.status: creating src/common/quicklist/module.mk
> config.status: creating src/common/dotconf/module.mk
> config.status: creating src/common/id-generator/module.mk
> config.status: creating src/common/gossip/module.mk
> config.status: creating src/common/gen-locks/module.mk
> config.status: creating src/common/llist/module.mk
> config.status: creating src/common/statecomp/module.mk
> config.status: creating src/io/bmi/module.mk
> config.status: creating src/io/bmi/bmi_tcp/module.mk
> config.status: creating src/io/bmi/bmi_gm/module.mk
> config.status: creating src/io/bmi/bmi_ib/module.mk
> config.status: creating src/io/description/module.mk
> config.status: creating src/io/flow/module.mk
> config.status: creating src/io/flow/flowproto-bmi-trove/module.mk
> config.status: creating src/io/flow/flowproto-template/module.mk
> config.status: creating src/io/flow/flowproto-dump-offsets/module.mk
> config.status: creating src/io/flow/flowproto-bmi-cache/module.mk
> config.status: creating src/io/buffer/module.mk
> config.status: creating src/io/job/module.mk
> config.status: creating src/io/dev/module.mk
> config.status: creating src/proto/module.mk
> config.status: creating src/server/module.mk
> config.status: creating src/server/request-scheduler/module.mk
> config.status: creating src/client/sysint/module.mk
> config.status: creating src/kernel/linux-2.6/Makefile
> config.status: creating src/kernel/linux-2.4/Makefile
> config.status: creating doc/module.mk
> config.status: creating doc/coding/module.mk
> config.status: creating doc/design/module.mk
> config.status: creating doc/random/module.mk
> config.status: creating examples/pvfs2-server.rc
> config.status: creating doc/doxygen/pvfs2-doxygen.conf
> config.status: creating pvfs2-config.h
>
> ***** Displaying PVFS2 Configuration Information *****
> ------------------------------------------------------
> PVFS2 configured to build karma gui               : yes
> PVFS2 configured to use epoll                     : yes
> PVFS2 configured to perform coverage analysis     :  no
> PVFS2 configured for aio threaded callbacks       : yes
> PVFS2 configured for the 2.6.x kernel module      : yes
> PVFS2 configured for the 2.4.x kernel module      :  no
> PVFS2 configured for using the mmap-ra-cache      :  no
> PVFS2 configured for using trusted connections    :  no
> PVFS2 configured for a thread-safe client library : yes
> PVFS2 will use workaround for redhat 2.4 kernels  :  no
> PVFS2 will use workaround for buggy NPTL          :  no
> PVFS2 server will be built                        : yes
>
> PVFS2 version string: 2.6.2
>
>
> WARNING: Symbol version dump /usr/src/linux-2.6.11.4-21.15/ 
> Module.symvers is  missing; modules will have no modversions.
>
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2-utils.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> devpvfs2-req.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2-cache.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> dcache.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.o
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c: In  
> function `split_iovecs':
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c:360:  
> warning: implicit declaration of function `kzalloc'
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c:361:  
> warning: assignment makes pointer from integer without a cast
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c:369:  
> warning: assignment makes pointer from integer without a cast
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c: In  
> function `split_xtvecs':
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c:918:  
> warning: assignment makes pointer from integer without a cast
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/file.c:926:  
> warning: assignment makes pointer from integer without a cast
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/inode.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/dir.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/namei.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/super.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2-mod.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2-bufmap.o
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/pvfs2- 
> bufmap.c: In function `initialize_bufmap_descriptors':
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/pvfs2-bufmap.c: 
> 53: warning: implicit declaration of function `kzalloc'
> /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/pvfs2-bufmap.c: 
> 54: warning: assignment makes pointer from integer without a cast
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> symlink.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/xattr.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/acl.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> xattr-trusted.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> xattr-default.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> waitqueue.o
>   CC [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2-proc.o
>   LD [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/pvfs2.o
>   Building modules, stage 2.
>   MODPOST
>   CC      /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2.mod.o
>   LD [M]  /usr/local/src/pvfs2/pvfs-2.6.2/src/kernel/linux-2.6/ 
> pvfs2.ko
>   CC		src/apps/kernel/linux/pvfs2-client-core.o
>   LD		src/apps/kernel/linux/pvfs2-client-core
>   CC		src/apps/kernel/linux/pvfs2-client.o
>   LD		src/apps/kernel/linux/pvfs2-client
>   CC		src/apps/kernel/linux/pvfs2-client-core-threaded.o
>   LD              src/apps/kernel/linux/pvfs2-client-core-threaded



More information about the Pvfs2-users mailing list