- [INSTALL.RHEL.md]
- [INSTALL.XenServer.md]
- [INSTALL.NetBSD.md]
+ - [INSTALL.Windows.md]
- [INSTALL.DPDK.md]
Build Requirements
analysis and thread-safety checks. For Ubuntu, there are
nightly built packages available on clang's website.
+ * MSVC 2013. See [INSTALL.Windows] for additional Windows build
+ instructions.
+
While OVS may be compatible with other compilers, optimal
support for atomic operations may be missing, making OVS very
slow (see lib/ovs-atomic.h).
- Python 2.x, for x >= 4.
- - patch (The utility that is used to patch files).
-
On Linux, you may choose to compile the kernel module that comes with
the Open vSwitch distribution or to use the kernel module built into
the Linux kernel (version 3.3 or later). See the [FAQ.md] question
`% ./configure CC=clang`
+To supply special flags to the C compiler, specify them as CFLAGS on
+the configure command line. If you want the default CFLAGS, which
+include "-g" to build debug symbols and "-O2" to enable optimizations,
+you must include them yourself. For example, to build with the
+default CFLAGS plus "-mssse3", you might run configure as follows:
+
+ `% ./configure CFLAGS="-g -O2 -mssse3"`
+
+Note that these CFLAGS are not applied when building the Linux
+kernel module. Custom CFLAGS for the kernel module are supplied
+using the EXTRA_CFLAGS variable when running make. So, for example:
+
+ `% make EXTRA_CFLAGS="-Wno-error=date-time"
+
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
For improved warnings if you installed "sparse" (see "Prerequisites"),
add C=1 to the command line.
+ Some versions of Clang and ccache are not completely compatible.
+ If you see unusual warnings when you use both together, consider
+ disabling ccache for use with Clang.
+
2. Consider running the testsuite. Refer to "Running the Testsuite"
below, for instructions.