[ovs-discuss] Compile ovs for Andriod

Te-Yuan Huang huangty at stanford.edu
Thu Mar 3 05:53:22 UTC 2011

Hi Ben and all,

Thanks for the helps along the way.
We managed to compile the kernel module and user-space programs (i.e.,
ovs-dpctl, ovs-openflowd, and ovs-ofctl) on android.

We generated the scripts for cross-compiling, and it can be download at:

The cross-compilation process is described in the README file.
Since we are not experts in cross-compilation, the process might not
be perfect.
But the generated file seems working under our preliminary tests.

However, for the process to work, we need to patch the original ovs codes.
The patches are mostly related to some missing definitions in Android systems.
All the patches can be found under cross_compile_patches/patches/ .
We are wondering if those can be merged in with the current ovs codes.

Many thanks!


On Wed, Feb 23, 2011 at 12:18 PM, Te-Yuan Huang <huangty at stanford.edu> wrote:
> Thanks, Ben!
> After re-generating the vlog-modules.def, it works now.
> Many thanks again!
> -Te-Yuan
> On Wed, Feb 23, 2011 at 12:10 PM, Ben Pfaff <blp at nicira.com> wrote:
>> On Wed, Feb 23, 2011 at 11:23:02AM -0800, Te-Yuan Huang wrote:
>>> I am able to generate all the *.o file that ovs-dpctl needed,
>>> however when I tried to link them together, I got the following complains:
>>> route-table.o:(.debug_info+0x1735): undefined reference to `VLM_route_table'
>>> netlink-socket.o:(.debug_info+0x185e): undefined reference to
>>> `VLM_netlink_socket'
>>> stress.o:(.debug_info+0x5de): undefined reference to `VLM_stress'
>>> These VLM_* doesn't reside in any source code, but only in *.o files.
>>> Can anyone shed me some light on where these VLM_* label comes from
>>> and how to resolve this problem?
>>> I used "ovs_cv_use_linker_sections=no" as I configure the build environment.
>> When I build with ovs_cv_use_linker_sections=no, everything builds fine.
>> When ovs_cv_use_linker_sections=no is defined, then lib/vlog-modules.def
>> gets generated automatically by "make", and lib/vlog.c #includes
>> vlog-modules.def and defines all of the necessary data structures.
>> Make sure that lib/vlog-modules.def is getting generated.

More information about the discuss mailing list