X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=INSTALL;h=35031517bc5c8e66bda8ec42e5801e6e956fa5ff;hb=f090a19fffacb067fd296c89462a417f59cd9135;hp=4749e30d4da11bacf46b6af5ce02659a44594d00;hpb=2be0b371712ddf1fc2aaac81672b2196b6df891f;p=cascardo%2Fovs.git diff --git a/INSTALL b/INSTALL index 4749e30d4..35031517b 100644 --- a/INSTALL +++ b/INSTALL @@ -18,8 +18,13 @@ you will need the following software: - GNU make. - - The GNU C compiler. We generally test with version 4.1, 4.2, or - 4.3. + - A C compiler, such as: + + * GCC 4.x. + + * Clang. Clang 3.4 and later provide useful static semantic + analysis and thread-safety checks. For Ubuntu, there are + nightly built packages available on clang's website. - libssl, from OpenSSL, is optional but recommended if you plan to connect the Open vSwitch to an OpenFlow controller. libssl is @@ -28,6 +33,8 @@ you will need the following software: libssl is installed, then Open vSwitch will automatically build with support for it. + - Python 2.x, for x >= 4. + To compile the kernel module on Linux, you must also install the following. If you cannot build or install the kernel module, you may use the userspace-only implementation, at a cost in performance. The @@ -76,7 +83,7 @@ or the database schema, you will also need the following software: - Automake version 1.10 or later. - - Python 2.x, for x >= 4. + - libtool version 2.4 or later. (Older versions might work too.) If you modify the ovsdbmonitor tool, then you will also need the following: @@ -88,9 +95,8 @@ To run the unit tests, you also need: - Perl. Version 5.10.1 is known to work. Earlier versions should also work. -If you modify the vswitchd database schema, then the E-R diagram in -the ovs-vswitchd.conf.db(5) manpage will be updated properly only if -you have the following: +The ovs-vswitchd.conf.db(5) manpage will include an E-R diagram, in +formats other than plain text, only if you have the following: - "dot" from graphviz (http://www.graphviz.org/). @@ -107,6 +113,10 @@ installing the following to obtain better warnings: - GNU make. + - clang, version 3.4 or later + +Also, you may find the ovs-dev script found in utilities/ovs-dev.py useful. + Installation Requirements ------------------------- @@ -171,6 +181,10 @@ Prerequisites section, follow the procedure below to build. % ./configure CC=gcc-4.2 + To use 'clang' compiler: + + % ./configure CC=clang + To build the Linux kernel module, so that you can run the kernel-based switch, pass the location of the kernel build directory on --with-linux. For example, to build for a running @@ -186,6 +200,11 @@ Prerequisites section, follow the procedure below to build. % ./configure --with-linux=/path/to/linux KARCH=mips + If you plan to do much Open vSwitch development, you might want to + add --enable-Werror, which adds the -Werror option to the compiler + command line, turning warnings into errors. That makes it + impossible to miss warnings generated by the build. + The configure script accepts a number of other options and honors additional environment variables. For a full list, invoke configure with the --help option. @@ -209,15 +228,15 @@ Prerequisites section, follow the procedure below to build. 6. Run "make install" to install the executables and manpages into the running system, by default under /usr/local. -7. If you built kernel modules, you may load them with "insmod", e.g.: +7. If you built kernel modules, you may install and load them, e.g.: - % insmod datapath/linux/openvswitch.ko + % make modules_install + % /sbin/modprobe openvswitch - You may need to specify a full path to insmod, e.g. /sbin/insmod. To verify that the modules have been loaded, run "/sbin/lsmod" and check that openvswitch is listed. - If the "insmod" operation fails, look at the last few kernel log + If the "modprobe" operation fails, look at the last few kernel log messages (e.g. with "dmesg | tail"): - The message "openvswitch: exports duplicate symbol @@ -264,11 +283,6 @@ Prerequisites section, follow the procedure below to build. you do not understand what this means or do not know if your driver will work, do not set this. - Once you verify that the kernel modules load properly, you should - install them: - - % make modules_install - 8. Initialize the configuration database using ovsdb-tool, e.g.: % mkdir -p /usr/local/etc/openvswitch