[Pvfs2-users] Building on ppc64 / cross compilation issue
Robert Olson
olson at mcs.anl.gov
Tue Aug 8 16:36:51 EDT 2006
2.6.17.4. Here's the config.
/* pvfs2-config.h. Generated by configure. */
/* pvfs2-config.h.in. Generated from configure.in by autoheader. */
/* Define to explicitly use GNU extensions */
/* #undef _GNU_SOURCE */
/* Define if you have the GNU extended strnlen function */
#define HAVE_STRNLEN 1
/* Define if berkeley db error reporting was enabled */
/* #undef BERKDB_ERROR_REPORTING */
/* Define if kernel has aio support */
/* #undef HAVE_AIO */
/* Define if we are enabling VFS AIO support in kernel */
/* #undef HAVE_AIO_VFS_SUPPORT */
/* Define if read_descriptor_t has an arg member */
/* #undef HAVE_ARG_IN_READ_DESCRIPTOR_T */
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <asm/ioctl32.h> header file. */
/* #undef HAVE_ASM_IOCTL32_H */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define if struct backing_dev_info in kernel has memory_backed */
/* #undef HAVE_BDI_MEMORY_BACKED */
/* Define if there exists a compat_ioctl member in file_operations */
/* #undef HAVE_COMPAT_IOCTL_HANDLER */
/* Define if third param (message) to DB error callback function is
const */
#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1
/* Define if DB error callback function takes dbenv parameter */
#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1
/* Define if db library has DB_BUFFER_SMALL error */
#define HAVE_DB_BUFFER_SMALL 1
/* Define if db library has DB_DIRTY_READ flag */
#define HAVE_DB_DIRTY_READ 1
/* Define to 1 if you have the <execinfo.h> header file. */
#define HAVE_EXECINFO_H 1
/* Define to 1 if you have the `fgetxattr' function. */
#define HAVE_FGETXATTR 1
/* Define if fgetxattr takes position and option arguments */
/* #undef HAVE_FGETXATTR_EXTRA_ARGS */
/* Define if system provides fgtxattr prototype */
#define HAVE_FGETXATTR_PROTOTYPE 1
/* Define to 1 if you have the <fstab.h> header file. */
#define HAVE_FSTAB_H 1
/* Define if kernel has generic_getxattr */
#define HAVE_GENERIC_GETXATTR 1
/* Define if kernel has generic_permission */
#define HAVE_GENERIC_PERMISSION 1
/* Define if gethostbyaddr function exists */
#define HAVE_GETHOSTBYADDR 1
/* Define if gethostbyname function exists */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `getmntent' function. */
#define HAVE_GETMNTENT 1
/* Define if strerror_r is GNU-specific */
#define HAVE_GNU_STRERROR_R 1
/* Define if libibverbs has ibv_get_devices */
/* #undef HAVE_IBV_GET_DEVICES */
/* Define if IB wrap_common.h exists. */
/* #undef HAVE_IB_WRAP_COMMON_H */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define if sceond argument to releasepage in
address_space_operations is
type int */
/* #undef HAVE_INT_ARG2_ADDRESS_SPACE_OPERATIONS_RELEASEPAGE */
/* Define if return type of invalidatepage should be int */
/* #undef HAVE_INT_RETURN_ADDRESS_SPACE_OPERATIONS_INVALIDATEPAGE */
/* Define if return value from follow_link in inode_operations is
type int */
/* #undef HAVE_INT_RETURN_INODE_OPERATIONS_FOLLOW_LINK */
/* Define if kernel has i_size_read */
#define HAVE_I_SIZE_READ 1
/* Define if kernel has i_size_write */
#define HAVE_I_SIZE_WRITE 1
/* Define to 1 if you have the `efence' library (-lefence). */
/* #undef HAVE_LIBEFENCE */
/* Define to 1 if you have the <linux/compat.h> header file. */
/* #undef HAVE_LINUX_COMPAT_H */
/* Define to 1 if you have the <linux/ioctl32.h> header file. */
#define HAVE_LINUX_IOCTL32_H 1
/* Define to 1 if you have the <linux/posix_acl.h> header file. */
/* #undef HAVE_LINUX_POSIX_ACL_H */
/* Define to 1 if you have the <linux/posix_acl_xattr.h> header file. */
/* #undef HAVE_LINUX_POSIX_ACL_XATTR_H */
/* Define to 1 if you have the <linux/syscalls.h> header file. */
/* #undef HAVE_LINUX_SYSCALLS_H */
/* Define to 1 if you have the <linux/xattr_acl.h> header file. */
/* #undef HAVE_LINUX_XATTR_ACL_H */
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <mntent.h> header file. */
#define HAVE_MNTENT_H 1
/* Use the MPE profiling library */
/* #undef HAVE_MPE */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define if Pablo library is used */
/* #undef HAVE_PABLO */
/* Define if kernel has parent_ino */
#define HAVE_PARENT_INO 1
/* Define if sysctl proc handlers have 6th argument */
/* #undef HAVE_PROC_HANDLER_SIX_ARG */
/* Define if kernel has register_ioctl32_conversion */
/* #undef HAVE_REGISTER_IOCTL32_CONVERSION */
/* Define to 1 if you have the <SDL/SDL_ttf.h> header file. */
/* #undef HAVE_SDL_SDL_TTF_H */
/* Define to 1 if you have the <SDL_ttf.h> header file. */
/* #undef HAVE_SDL_TTF_H */
/* Define if struct file_operations in kernel has sendfile callback */
/* #undef HAVE_SENDFILE_VFS_SUPPORT */
/* Define if kernel setxattr has const void* argument */
/* #undef HAVE_SETXATTR_CONST_ARG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtoull' function. */
#define HAVE_STRTOULL 1
/* Define if sysinfo.h is present */
#define HAVE_SYSINFO 1
/* Define to 1 if you have the <sys/epoll.h> header file. */
#define HAVE_SYS_EPOLL_H 1
/* Define if sys/mount.h exists */
#define HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if sys/vfs.h exists */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define if kernel has touch_atime routine */
/* #undef HAVE_TOUCH_ATIME */
/* Define if DB open function takes a txnid parameter */
#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1
/* Define if DB stat function takes txnid parameter */
#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define if DB stat function takes malloc function ptr */
/* #undef HAVE_UNKNOWN_PARAMETER_TO_DB_STAT */
/* Define if kernel has xattr support */
/* #undef HAVE_XATTR */
/* Define to the address where bug reports for this package should be
sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* major version number */
#define PVFS2_VERSION_MAJOR 1
/* minor version number */
#define PVFS2_VERSION_MINOR 5
/* sub version number */
#define PVFS2_VERSION_SUB 1
/* The size of a `long int', as computed by sizeof. */
#define SIZEOF_LONG_INT 4
/* The size of a `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if on darwin */
/* #undef TARGET_OS_DARWIN */
/* Define if on linux */
#define TARGET_OS_LINUX 1
/* Define if mtrace memory leak detection was enabled */
/* #undef WITH_MTRACE */
/* Define to 1 if your processor stores words with the most
significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1
[1]+ Done rsync -ar linux-2.6.17.4
olson at biofiler: (wd: /usr/src)
(wd now: ~/pvfs2-1.5.1)
mikey:~/pvfs2-1.5.1#
mikey:~/pvfs2-1.5.1#
mikey:~/pvfs2-1.5.1# cat pvfs2-config.h
/* pvfs2-config.h. Generated by configure. */
/* pvfs2-config.h.in. Generated from configure.in by autoheader. */
/* Define to explicitly use GNU extensions */
/* #undef _GNU_SOURCE */
/* Define if you have the GNU extended strnlen function */
#define HAVE_STRNLEN 1
/* Define if berkeley db error reporting was enabled */
/* #undef BERKDB_ERROR_REPORTING */
/* Define if kernel has aio support */
/* #undef HAVE_AIO */
/* Define if we are enabling VFS AIO support in kernel */
/* #undef HAVE_AIO_VFS_SUPPORT */
/* Define if read_descriptor_t has an arg member */
/* #undef HAVE_ARG_IN_READ_DESCRIPTOR_T */
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the <asm/ioctl32.h> header file. */
/* #undef HAVE_ASM_IOCTL32_H */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define if struct backing_dev_info in kernel has memory_backed */
/* #undef HAVE_BDI_MEMORY_BACKED */
/* Define if there exists a compat_ioctl member in file_operations */
/* #undef HAVE_COMPAT_IOCTL_HANDLER */
/* Define if third param (message) to DB error callback function is
const */
#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1
/* Define if DB error callback function takes dbenv parameter */
#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1
/* Define if db library has DB_BUFFER_SMALL error */
#define HAVE_DB_BUFFER_SMALL 1
/* Define if db library has DB_DIRTY_READ flag */
#define HAVE_DB_DIRTY_READ 1
/* Define to 1 if you have the <execinfo.h> header file. */
#define HAVE_EXECINFO_H 1
/* Define to 1 if you have the `fgetxattr' function. */
#define HAVE_FGETXATTR 1
/* Define if fgetxattr takes position and option arguments */
/* #undef HAVE_FGETXATTR_EXTRA_ARGS */
/* Define if system provides fgtxattr prototype */
#define HAVE_FGETXATTR_PROTOTYPE 1
/* Define to 1 if you have the <fstab.h> header file. */
#define HAVE_FSTAB_H 1
/* Define if kernel has generic_getxattr */
#define HAVE_GENERIC_GETXATTR 1
/* Define if kernel has generic_permission */
#define HAVE_GENERIC_PERMISSION 1
/* Define if gethostbyaddr function exists */
#define HAVE_GETHOSTBYADDR 1
/* Define if gethostbyname function exists */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `getmntent' function. */
#define HAVE_GETMNTENT 1
/* Define if strerror_r is GNU-specific */
#define HAVE_GNU_STRERROR_R 1
/* Define if libibverbs has ibv_get_devices */
/* #undef HAVE_IBV_GET_DEVICES */
/* Define if IB wrap_common.h exists. */
/* #undef HAVE_IB_WRAP_COMMON_H */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define if sceond argument to releasepage in
address_space_operations is
type int */
/* #undef HAVE_INT_ARG2_ADDRESS_SPACE_OPERATIONS_RELEASEPAGE */
/* Define if return type of invalidatepage should be int */
/* #undef HAVE_INT_RETURN_ADDRESS_SPACE_OPERATIONS_INVALIDATEPAGE */
/* Define if return value from follow_link in inode_operations is
type int */
/* #undef HAVE_INT_RETURN_INODE_OPERATIONS_FOLLOW_LINK */
/* Define if kernel has i_size_read */
#define HAVE_I_SIZE_READ 1
/* Define if kernel has i_size_write */
#define HAVE_I_SIZE_WRITE 1
/* Define to 1 if you have the `efence' library (-lefence). */
/* #undef HAVE_LIBEFENCE */
/* Define to 1 if you have the <linux/compat.h> header file. */
/* #undef HAVE_LINUX_COMPAT_H */
/* Define to 1 if you have the <linux/ioctl32.h> header file. */
#define HAVE_LINUX_IOCTL32_H 1
/* Define to 1 if you have the <linux/posix_acl.h> header file. */
/* #undef HAVE_LINUX_POSIX_ACL_H */
/* Define to 1 if you have the <linux/posix_acl_xattr.h> header file. */
/* #undef HAVE_LINUX_POSIX_ACL_XATTR_H */
/* Define to 1 if you have the <linux/syscalls.h> header file. */
/* #undef HAVE_LINUX_SYSCALLS_H */
/* Define to 1 if you have the <linux/xattr_acl.h> header file. */
/* #undef HAVE_LINUX_XATTR_ACL_H */
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <mntent.h> header file. */
#define HAVE_MNTENT_H 1
/* Use the MPE profiling library */
/* #undef HAVE_MPE */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define if Pablo library is used */
/* #undef HAVE_PABLO */
/* Define if kernel has parent_ino */
#define HAVE_PARENT_INO 1
/* Define if sysctl proc handlers have 6th argument */
/* #undef HAVE_PROC_HANDLER_SIX_ARG */
/* Define if kernel has register_ioctl32_conversion */
/* #undef HAVE_REGISTER_IOCTL32_CONVERSION */
/* Define to 1 if you have the <SDL/SDL_ttf.h> header file. */
/* #undef HAVE_SDL_SDL_TTF_H */
/* Define to 1 if you have the <SDL_ttf.h> header file. */
/* #undef HAVE_SDL_TTF_H */
/* Define if struct file_operations in kernel has sendfile callback */
/* #undef HAVE_SENDFILE_VFS_SUPPORT */
/* Define if kernel setxattr has const void* argument */
/* #undef HAVE_SETXATTR_CONST_ARG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtoull' function. */
#define HAVE_STRTOULL 1
/* Define if sysinfo.h is present */
#define HAVE_SYSINFO 1
/* Define to 1 if you have the <sys/epoll.h> header file. */
#define HAVE_SYS_EPOLL_H 1
/* Define if sys/mount.h exists */
#define HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if sys/vfs.h exists */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define if kernel has touch_atime routine */
/* #undef HAVE_TOUCH_ATIME */
/* Define if DB open function takes a txnid parameter */
#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1
/* Define if DB stat function takes txnid parameter */
#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define if DB stat function takes malloc function ptr */
/* #undef HAVE_UNKNOWN_PARAMETER_TO_DB_STAT */
/* Define if kernel has xattr support */
/* #undef HAVE_XATTR */
/* Define to the address where bug reports for this package should be
sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* major version number */
#define PVFS2_VERSION_MAJOR 1
/* minor version number */
#define PVFS2_VERSION_MINOR 5
/* sub version number */
#define PVFS2_VERSION_SUB 1
/* The size of a `long int', as computed by sizeof. */
#define SIZEOF_LONG_INT 4
/* The size of a `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if on darwin */
/* #undef TARGET_OS_DARWIN */
/* Define if on linux */
#define TARGET_OS_LINUX 1
/* Define if mtrace memory leak detection was enabled */
/* #undef WITH_MTRACE */
/* Define to 1 if your processor stores words with the most
significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1
On Aug 8, 2006, at 3:19 PM, Murali Vilayannur wrote:
> Hi,
> It looks like configure did not detect the kernel features correctly.
> What kernel is this running? Can you send us your pvfs2-config.h file?
> configure should be run against the kernel that is running on the
> ppc64
> machines. (configure --with-kernel=...)
> Hopefully that should point us towards the problem (and fixes!).
> Thanks,
> Murali
>
>
>> Great!
>>
>> I forged ahead and did
>>
>> make CROSS_COMPILE=powerpc64-unknown-linux-gnu- kmod
>>
>> and got the following error. I wonder if I need extended ACLs defined
>> somewhere in the kernel config - would this be under ext3?
>>
>> thanks,
>> --bob
>>
>> CC [M] /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.o
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c: In function
>> `pvfs2_setattr':
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:330: warning: implicit
>> declaration of function `pvfs2_acl_chmod'
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c: At top level:
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:411: error:
>> `generic_setxattr' undeclared here (not in a function)
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:411: error:
>> initializer element is not constant
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:411: error: (near
>> initialization for `pvfs2_file_inode_operations.setxattr')
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:412: error:
>> `generic_getxattr' undeclared here (not in a function)
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:412: error:
>> initializer element is not constant
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:412: error: (near
>> initialization for `pvfs2_file_inode_operations.getxattr')
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:413: error:
>> `generic_removexattr' undeclared here (not in a function)
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:413: error:
>> initializer element is not constant
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:413: error: (near
>> initialization for `pvfs2_file_inode_operations.removexattr')
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c: In function
>> `pvfs2_get_custom_inode':
>> /root/pvfs2-1.5.1/src/kernel/linux-2.6/inode.c:508: warning: implicit
>> declaration of function `pvfs2_init_acl'
>>
>>
>> On Aug 8, 2006, at 3:06 PM, Murali Vilayannur wrote:
>>
>>> Hi,
>>> The kernel module is standalone from a compilation standpoint
>>> and does not depend on any libraries.
>>>> From an execution standpoint, it is not standalone.
>>> There is a user-space client application that is needed as a
>>> transport for the VFS requests which in turn depends on the PVFS2
>>> libraries.
>>>
>>> We have spent some time getting 64 bit kmods to work with 32 bit
>>> userspace. So hopefully that should not be a problem.
>>> If you do encounter any issues, please do let us know.
>>> Thanks,
>>> Murali
>>>
>>>
>>>> I'm looking at installing PVFS2 on my debian-ppc64 mac cluster here
>>>> at ANL.
>>>>
>>>> It appears that the system compiles fine, but I am concerned about
>>>> the kernel module. On the G5 Xserves I need to build the kernels
>>>> with
>>>> a ppc64 cross compiler (the standard runtime environment is 32-
>>>> bit).
>>>> Do I need to have the rest of the libraries compiled in order to
>>>> compile the kernel module, or is the module standalone?
>>>>
>>>> Thanks,
>>>> --bob
>>>> _______________________________________________
>>>> Pvfs2-users mailing list
>>>> Pvfs2-users at beowulf-underground.org
>>>> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
>>>>
>>>>
>>>
>>
>>
>
More information about the Pvfs2-users
mailing list