diff options
author | Ben Pfaff <blp@nicira.com> | 2012-12-03 12:59:08 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2012-12-03 14:54:16 -0800 |
commit | 8f5cb995c2d5175ab56145528a70ad0ea297e253 (patch) | |
tree | 7bab7731a8393fb51a6875602a8996bfe1914d61 /INSTALL.RHEL | |
parent | 31a9e63f0f7e771c849f7ef45c9827fcc78abe03 (diff) |
INSTALL.RHEL: Explain how to work around RHEL 6 kernel-devel bug.
Based on http://networkstatic.net/open-vswitch-red-hat-installation/
Reported-by: Brent Salisbury <brent.salisbury@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Kyle Mestery <kmestery@cisco.com>
Diffstat (limited to 'INSTALL.RHEL')
-rw-r--r-- | INSTALL.RHEL | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/INSTALL.RHEL b/INSTALL.RHEL index ff79c894..874d337f 100644 --- a/INSTALL.RHEL +++ b/INSTALL.RHEL @@ -17,22 +17,58 @@ Before you begin, note the RPM source directory on your version of RHEL. On RHEL 5, the default RPM source directory is /usr/src/redhat/SOURCES. On RHEL 6, it is $HOME/rpmbuild/SOURCES. -1. If you are building from an Open vSwitch Git tree, then you will +1. Install build prerequisites: + + yum install gcc make python-devel openssl-devel kernel-devel \ + kernel-debug-devel + +2. Some versions of the RHEL 6 kernel-devel package contain a broken + "build" symlink. If you are using such a version, you must fix + the problem before continuing. + + To find out whether you are affected, run: + + cd /lib/modules/<version> + ls -l build/ + + where <version> is the version number of the RHEL 6 kernel. (The + trailing slash in the final command is important. Be sure to include + it.) If the "ls" command produces a directory listing, your + kernel-devel package is OK. If it produces a "No such file or + directory" error, your kernel-devel package is buggy. + + If your kernel-devel package is buggy, then you can fix it with: + + cd /lib/modules/<version> + rm build + ln -s /usr/src/kernels/<target> build + + where <target> is the name of an existing directory under + /usr/src/kernels, whose name should be similar to <version> but may + contain some extra parts. Once you have done this, verify the fix with + the same procedure you used above to check for the problem. + +3. If you are building from an Open vSwitch Git tree, then you will need to first create a distribution tarball by running "./boot.sh; ./configure; make dist" in the Git tree. -2. Copy the distribution tarball into the RPM source directory. +4. Copy the distribution tarball into the RPM source directory. -3. Unpack the distribution tarball into a temporary directory and "cd" +5. Unpack the distribution tarball into a temporary directory and "cd" into the root of the distribution tarball. -4. To build Open vSwitch userspace, run: +6. To build Open vSwitch userspace, run: rpmbuild -bb rhel/openvswitch.spec This produces two RPMs: "openvswitch" and "openvswitch-debuginfo". -5a. On RHEL 5, to build the Open vSwitch kernel module, copy + If the build fails with "configure: error: source dir + /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar, + then the kernel-devel package is missing or buggy. Go back to step + 1 or 2 and fix the problem. + +7a. On RHEL 5, to build the Open vSwitch kernel module, copy rhel/kmodtool-openvswitch-el5.sh into the RPM source directory and run: @@ -49,7 +85,7 @@ RHEL. On RHEL 5, the default RPM source directory is which is usually: "kmod-openvswitch", "kmod-openvswitch-xen", and "kmod-openvswitch-PAE". -5b. On RHEL 6, to build the Open vSwitch kernel module, run: +7b. On RHEL 6, to build the Open vSwitch kernel module, run: rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec |