Could anyone help us?
rpmbuild iodrive-driver-source-1.2.7.2-1.0.src.rpm fails if we try to build it for new kernel (kernel-2.6.18-194.3.1.el5 on CentOS5). Has anyone succeeded?
There's no problem in building it for running kernel, kernel-2.6.18-164.15.1.el5.
% rpmbuild --rebuild --define 'rpm_kernel_version 2.6.18-194.3.1.el5' iodrive-driver-source-1.2.7.2-1.0.src.rpm
Installing iodrive-driver-source-1.2.7.2-1.0.src.rpm
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.70413
+ umask 022
+ cd /home/maru/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf iodrive-driver-source-1.2.7.2-centos-5-x86_64
+ /bin/gzip -dc /home/maru/redhat/SOURCES/iodrive-driver-source-1.2.7.2-centos-5-x86_64.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd iodrive-driver-source-1.2.7.2-centos-5-x86_64
++ /usr/bin/id -u
+ '[' 503 = 0 ']'
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.70413
+ rsync -a ./root/usr/src/fusionio/iodrive/ driver_source/
+ /usr/bin/make -C driver_source FIREHOSE_KERNEL_VERSION=2.6.18-194.3.1.el5 FIREHOSE_VERSION=1.2.7.2 modules
make: Entering directory `/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source'
/usr/bin/make -C src/kernel modules
make[1]: Entering directory `/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel'
cp GNUmakefile Makefile
cp fio-port/GNUmakefile fio-port/Makefile
/usr/bin/make -C /lib/modules/2.6.18-194.3.1.el5/build M=/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel FUSION_KERNEL_DIR=/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/./ FIREHOSE_VERSION=1.2.7.2 modules
make[2]: Entering directory `/usr/src/kernels/2.6.18-194.3.1.el5-x86_64'
rm -rf "/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/.//config"
+ '[' -z '' ']'
++ /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/.//../../build/closest_object.sh -a x86_64 -A x86_64 -c 0401 -k 2.6.18-194.3.1.el5 -n centos -v 5 -s /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/./
SOURCE_DIR: /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/./
DISTRO_NAME: centos
DISTRO_VERSION: 5
DISTRO_ARCH: x86_64
CPU_ARCH: x86_64
TARGET_KERNEL: 2.6.18-194.3.1.el5
COMPILER_VERSION: 0401
Determining best shipped kernel object to link:
Checking: 2.6.18-128.1.1.el5 BEST
Checking: 2.6.18-128.1.6.el5 BEST
Checking: 2.6.18-128.el5
Checking: 2.6.18-53.1.13.el5
Checking: 2.6.18-53.1.14.el5
Checking: 2.6.18-53.1.21.el5
Checking: 2.6.18-53.el5
Checking: 2.6.18-8.el5
Checking: 2.6.18-92.1.1.el5
Checking: 2.6.18-92.1.10.el5
Checking: 2.6.18-92.1.13.el5
Checking: 2.6.18-92.1.18.el5
Checking: 2.6.18-92.1.22.el5
Checking: 2.6.18-92.1.6.el5
Checking: 2.6.18-92.el5
Using best match: 2.6.18-128.1.6.el5
shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/fio-driver-core.o_shipped
+ FIREHOSE_SHIPPED_OBJECT=shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/fio-driver-core.o_shipped
++ dirname shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/fio-driver-core.o_shipped
+ FIO_CONFIG_H=/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/kfio_config.h
+ /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/fio-port/linux/kfio_config.sh -k /usr/src/kernels/2.6.18-194.3.1.el5-x86_64 -s /usr/src/kernels/2.6.18-194.3.1.el5-x86_64 -o /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/../../include/fio/port/linux/kfio_config.h.new -d /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/.//config -p
Detecting Kernel Flags
Config dir : /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/.//config
Output file : /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/../../include/fio/port/linux/kfio_config.h.new
Kernel output dir : /usr/src/kernels/2.6.18-194.3.1.el5-x86_64
Kernel source dir : /usr/src/kernels/2.6.18-194.3.1.el5-x86_64
KFIOC_REQUIRES_LINUX_CONFIG_H=0
KFIOC_NEED_USECS_TO_JIFFIES=0
KFIOC_WORKDATA_PASSED_IN_WORKSTRUCT=0
KFIOC_HAS_PCI_ERROR_HANDLERS=1
KFIOC_HAS_GLOBAL_REGS_POINTER=0
KFIOC_HAS_SYSRQ_KEY_OP_ENABLE_MASK=1
KFIOC_HAS_DISK_STATS_READ_WRITE_ARRAYS=1
KFIOC_STRUCT_DEVICE_DRIVER_HAS_OWNER=1
KFIOC_STRUCT_BUS_TYPE_HAS_OWNER=0
KFIOC_HAS_CHAINED_SG_LISTS=0
KFIOC_HAS_LINUX_SCATTERLIST_H=1
KFIOC_KMEM_CACHE_CREATE_REMOVED_DTOR=0
KFIOC_BIO_ENDIO_REMOVED_BYTES_DONE=0
KFIOC_INVALIDATE_BDEV_REMOVED_DESTROY_DIRTY_BUFFERS=0
KFIOC_NEEDS_SYSRQ_SWAP_KEY_OPS=0
KFIOC_NEEDS_VIRT_TO_PHYS=0
KFIOC_HAS_BLK_UNPLUG=0
KFIOC_REQUEST_QUEUE_HAS_UNPLUG_FN=1
KFIOC_HAS_KMEM_CACHE=1
KFIOC_HAS_NOTIFIER_FROM_ERRNO=1
KFIOC_HAS_MUTEX_SUBSYSTEM=1
KFIOC_HAS_UINTPTR_T=0
KFIOC_STRUCT_FILE_HAS_PATH=0
KFIOC_HAS_LINUX_MATH64_H=0
KFIOC_HAS_ASM_DIV64_H=1
KFIOC_HAS_DIV64_64=0
KFIOC_UNREGISTER_BLKDEV_RETURNS_VOID=0
KFIOC_PARTITION_STATS=0
KFIOC_BDEV_EXCLUSIVE=0
KFIOC_HAS_NEW_BLOCK_METHODS=0
KFIOC_DISCARD=0
KFIOC_USE_LINUX_SEM_H=0
KFIOC_USE_LINUX_UACCESS_H=1
KFIOC_HAS_SPIN_LOCK_IRQSAVE_NESTED=0
KFIOC_MODULE_PARAM_ARRAY_NUMP=1
KFIOC_OWNER_IN_STRUCT_PROC_DIR_ENTRY=1
KFIOC_HAS_IRQF_SHARED=1
KFIOC_HAS_LONG_BITS=1
KFIOC_NEEDS_GFP_T=0
KFIOC_PCI_REGISTER_DRIVER_RETURNS_0_ON_SUCCESS=1
KFIOC_HAS_OUT_OF_LINE_PFN_TO_PAGE=0
KFIOC_HAS_CONFIG_OUT_OF_LINE_PFN_TO_PAGE=1
KFIOC_HAS_WAIT_FOR_COMPLETION_TIMEOUT=1
KFIOC_HAS_BLK_QUEUE_HARDSECT_SIZE=1
Finished
Preserving configdir due to '-p' option
+ diff -u /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/../../include/fio/port/linux/kfio_config.h.new /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/kfio_config.h
--- /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/../../include/fio/port/linux/kfio_config.h.new 2010-06-17 15:10:27.000000000 +0900
+++ /home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/shipped/centos/5/x86_64/0401/2.6.18-128.1.6.el5/kfio_config.h 2009-11-25 07:58:19.000000000 +0900
@@ -42,7 +42,7 @@
#define KFIOC_HAS_BLK_UNPLUG 0
#define KFIOC_REQUEST_QUEUE_HAS_UNPLUG_FN 1
#define KFIOC_HAS_KMEM_CACHE 1
-#define KFIOC_HAS_NOTIFIER_FROM_ERRNO 1
+#define KFIOC_HAS_NOTIFIER_FROM_ERRNO 0
#define KFIOC_HAS_MUTEX_SUBSYSTEM 1
#define KFIOC_HAS_UINTPTR_T 0
#define KFIOC_STRUCT_FILE_HAS_PATH 0
+ printf 'FAILED kfio_config.h comparison\n'
FAILED kfio_config.h comparison
+ exit 1
make[3]: *** [/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel/../../include/fio/port/linux/kfio_config.h] Error 1
make[2]: *** [_module_/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.18-194.3.1.el5-x86_64'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source/src/kernel'
make: *** [modules] Error 2
make: Leaving directory `/home/maru/redhat/BUILD/iodrive-driver-source-1.2.7.2-centos-5-x86_64/driver_source'
+ set +x
ERROR:
The build failed. The output above might provide information to what the
error was and how to address it. If the build failed because it could not
find an appropriate fio-driver-core.o_shipped file then you might be able
to manually specify an appropriate file from the list below that closely
matches the target kernel:
The selected object can be specified with an additional option to rpmbuild:
--define="fio_shipped_object <selected_object>"
<selected_object> might be replaced with something like this:
shipped/rhel/4/x86_64/0304-x86_64/2.6.9-22.0.15.ELsmp/fio-driver-core.o_shipped
This is for a RHEL-4 x86_64 distribution using a gcc-3.4 series compiler for a 2.6.9-22.0.15.ELsmp kernel
error: Bad exit status from /var/tmp/rpm-tmp.70413 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.70413 (%build)
%
Kiyoshi,
Thanks for opening a support case on this as well. I've responded to the support case and hope the driver I gave you will work. If there are further problems, please let me know either through here or the support ticket.
Thanks and regards,
Gary
The driver seems to work fine.
Thank you so much for your quick support.
Just as a point of reference, are the RHEL/CentOS 5.5 drivers going to be included on the web site any time soon? I was just building a new machine and ratcheted back to 5.3 instead of 5.5 since that's the latest distributed drivers (and I had the same compilation problems with 5.5).
Hello Gary:
I am having the same problem as described in the original post. Can you please send me the driver that you sent to Kiyoshi?
Sincerely yours
Matthew Britton
Hi Gary - same issue here as Kiyoshi too. Can you place the updated binary drivers up on the FusionIO website, or perhaps send them to me as well. Thanks much.
Hi all,
Matthew, I appreciate you sending in a support request on this. Please let me know how it goes with the driver I sent.
dballing and jba, please send in an email to support@fusionio.com with output from 'fio-status' and 'uname -r', then I can work with you each individually on getting that specific driver to you.
Yes, please give me a CentOS 5 driver for 2.6.18-194.8.1.el5 kernel as well. I haven't tried rebuilding the rpm but get an incorrect architecture error when trying to install src rpm.
Thank you