Wednesday, October 8, 2014

Building Open Daylight Libraries on Ubuntu 14.04

Once the Open Daylight controller is built, all the other packages too can be built. Each package is written in different languages, including Java and C. Hence each of them have their own build mechanism, based on their language. Most of them are built using maven (mvn clean install), some with skipping tests (mvn clean install -DskipTests). However, some of the packages are built using make or autorun scripts.

For example,
1. Building opflex
$ chmod u+x ./BUILD/vmbuildup.sh
$ ./BUILD/vmbuildup.sh
$ ./BUILD/autorun.sh

However, this may produce the below error message:
configure: error: Cannot find readline headers, possibly install readline-devel
Can't execute configure

This can be fixed by installing the relevant dependencies.
$ sudo apt-get install libreadline6 libreadline6-dev
 
Now, another error..
 
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DBSD_COMP=1 -Wall -O0 -fPIC -DPIC -I -g -I. -I../include -I../third-party -I../lib -I../third-party/ovs -I../third-party/ovs/lib -I../third-party/ovs/ovsdb -I/usr/include/libxml2 -g -O2 -MT peovs_commands.lo -MD -MP -MF .deps/peovs_commands.Tpo -c peovs_commands.c -o peovs_commands.o >/dev/null 2>&1
mv -f .deps/peovs_commands.Tpo .deps/peovs_commands.Plo
/bin/bash libtool --preserve-dup-deps  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  -DBSD_COMP=1   -Wall -O0 -fPIC -DPIC -I -g -I. -I../include -I../third-party -I../lib -I../third-party/ovs -I../third-party/ovs/lib -I../third-party/ovs/ovsdb -I/usr/include/libxml2 -g -O2 -MT peovs_monitor.lo -MD -MP -MF .deps/peovs_monitor.Tpo -c -o peovs_monitor.lo peovs_monitor.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DBSD_COMP=1 -Wall -O0 -fPIC -DPIC -I -g -I. -I../include -I../third-party -I../lib -I../third-party/ovs -I../third-party/ovs/lib -I../third-party/ovs/ovsdb -I/usr/include/libxml2 -g -O2 -MT peovs_monitor.lo -MD -MP -MF .deps/peovs_monitor.Tpo -c peovs_monitor.c  -fPIC -DPIC -o .libs/peovs_monitor.o
peovs_monitor.c:32:29: fatal error: libvirt/libvirt.h: No such file or directory
 #include 
 
More dependencies.
$ sudo apt-get install kvm libvirt-bin libvirt-dev
 
And configurations..

$ sudo adduser $USER libvirtd
 
Further information on libvert can be found here.
Please refer to the INSTALL file in the folder for further information.

2. Building tcpmd5
The build was failing with the below error. I learned that this is due to maven copy-plugin (copy-maven-plugin) not being compatible with later Maven versions. You probably can downgrade your Maven to 3.0 to make it succeed

[INFO] --- copy-maven-plugin:0.2.5:copy (copy-native) @ tcpmd5-jni ---
[WARNING] Error injecting: com.github.goldin.plugins.copy.CopyMojo
java.lang.NoClassDefFoundError: Lorg/sonatype/aether/RepositorySystem;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2397)
    at java.lang.Class.getDeclaredFields(Class.java:1806)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:661)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:366)
    at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:165)
    at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:609)
    at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:565)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:551)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:865)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:790)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:278)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:210)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:986)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1019)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:982)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
    at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
    at org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:459)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:97)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.RepositorySystem
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
    ... 57 more
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] TCP-MD5 parent .................................... SUCCESS [1.076s]
[INFO] tcpmd5-api ........................................ SUCCESS [4.300s]
[INFO] tcpmd5-controller-config .......................... SUCCESS [0.295s]
[INFO] tcpmd5-jni ........................................ FAILURE [4.919s]
[INFO] tcpmd5-netty ...................................... SKIPPED
[INFO] tcpmd5-nio ........................................ SKIPPED
[INFO] TCPMD5 - Karaf Features ........................... SKIPPED
[INFO] tcpmd5-aggregator ................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.522s
[INFO] Finished at: Wed Oct 08 10:19:48 WEST 2014
[INFO] Final Memory: 59M/504M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.goldin:copy-maven-plugin:0.2.5:copy (copy-native) on project tcpmd5-jni: Execution copy-native of goal com.github.goldin:copy-maven-plugin:0.2.5:copy failed: A required class was missing while executing com.github.goldin:copy-maven-plugin:0.2.5:copy: Lorg/sonatype/aether/RepositorySystem;
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>com.github.goldin:copy-maven-plugin:0.2.5
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/pradeeban/.m2/repository/com/github/goldin/copy-maven-plugin/0.2.5/copy-maven-plugin-0.2.5.jar
[ERROR] urls[1] = file:/home/pradeeban/.m2/repository/com/github/goldin/maven-common/0.2.5/maven-common-0.2.5.jar
[ERROR] urls[2] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[3] = file:/home/pradeeban/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[4] = file:/home/pradeeban/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[5] = file:/home/pradeeban/.m2/repository/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar
[ERROR] urls[6] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
[ERROR] urls[7] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
[ERROR] urls[8] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
[ERROR] urls[9] = file:/home/pradeeban/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
[ERROR] urls[10] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
[ERROR] urls[11] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
[ERROR] urls[12] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
[ERROR] urls[13] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
[ERROR] urls[14] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[ERROR] urls[15] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-digest/1.1/plexus-digest-1.1.jar
[ERROR] urls[16] = file:/home/pradeeban/.m2/repository/org/codehaus/groovy/groovy-all/1.8.6/groovy-all-1.8.6.jar
[ERROR] urls[17] = file:/home/pradeeban/.m2/repository/org/codehaus/gmaven/gmaven-mojo/1.4/gmaven-mojo-1.4.jar
[ERROR] urls[18] = file:/home/pradeeban/.m2/repository/org/codehaus/gmaven/runtime/gmaven-runtime-api/1.4/gmaven-runtime-api-1.4.jar
[ERROR] urls[19] = file:/home/pradeeban/.m2/repository/org/codehaus/gmaven/feature/gmaven-feature-api/1.4/gmaven-feature-api-1.4.jar
[ERROR] urls[20] = file:/home/pradeeban/.m2/repository/org/apache/ant/ant/1.8.3/ant-1.8.3.jar
[ERROR] urls[21] = file:/home/pradeeban/.m2/repository/org/apache/ant/ant-launcher/1.8.3/ant-launcher-1.8.3.jar
[ERROR] urls[22] = file:/home/pradeeban/.m2/repository/org/apache/ant/ant-commons-net/1.8.3/ant-commons-net-1.8.3.jar
[ERROR] urls[23] = file:/home/pradeeban/.m2/repository/commons-net/commons-net/1.4.0/commons-net-1.4.0.jar
[ERROR] urls[24] = file:/home/pradeeban/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar
[ERROR] urls[25] = file:/home/pradeeban/.m2/repository/org/apache/ant/ant-jsch/1.8.3/ant-jsch-1.8.3.jar
[ERROR] urls[26] = file:/home/pradeeban/.m2/repository/org/codehaus/mojo/versions-maven-plugin/1.3.1/versions-maven-plugin-1.3.1.jar
[ERROR] urls[27] = file:/home/pradeeban/.m2/repository/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar
[ERROR] urls[28] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
[ERROR] urls[29] = file:/home/pradeeban/.m2/repository/org/codehaus/woodstox/wstx-asl/3.2.7/wstx-asl-3.2.7.jar
[ERROR] urls[30] = file:/home/pradeeban/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar
[ERROR] urls[31] = file:/home/pradeeban/.m2/repository/org/gcontracts/gcontracts-core/1.2.5/gcontracts-core-1.2.5.jar
[ERROR] urls[32] = file:/home/pradeeban/.m2/repository/asm/asm/3.2/asm-3.2.jar
[ERROR] urls[33] = file:/home/pradeeban/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar
[ERROR] urls[34] = file:/home/pradeeban/.m2/repository/com/github/goldin/gcommons/0.5.4/gcommons-0.5.4.jar
[ERROR] urls[35] = file:/home/pradeeban/.m2/repository/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar
[ERROR] urls[36] = file:/home/pradeeban/.m2/repository/org/apache/commons/commons-exec/1.1/commons-exec-1.1.jar
[ERROR] urls[37] = file:/home/pradeeban/.m2/repository/de/schlichtherle/truezip/6.8.2/truezip-6.8.2.jar
[ERROR] urls[38] = file:/home/pradeeban/.m2/repository/org/springframework/spring-core/3.1.1.RELEASE/spring-core-3.1.1.RELEASE.jar
[ERROR] urls[39] = file:/home/pradeeban/.m2/repository/org/springframework/spring-asm/3.1.1.RELEASE/spring-asm-3.1.1.RELEASE.jar
[ERROR] urls[40] = file:/home/pradeeban/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
[ERROR] urls[41] = file:/home/pradeeban/.m2/repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar
[ERROR] urls[42] = file:/home/pradeeban/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.1/sisu-guice-3.1.1.jar
[ERROR] urls[43] = file:/home/pradeeban/.m2/repository/org/sonatype/sisu/sisu-guava/0.11.1/sisu-guava-0.11.1.jar
[ERROR] urls[44] = file:/home/pradeeban/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
[ERROR] urls[45] = file:/home/pradeeban/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar
[ERROR] urls[46] = file:/home/pradeeban/.m2/repository/br/com/ingenieux/maven/annomojo/org.jfrog.maven.maven-plugin-anno/1.4.1/org.jfrog.maven.maven-plugin-anno-1.4.1.jar
[ERROR] urls[47] = file:/home/pradeeban/.m2/repository/com/jcraft/jsch/0.1.48/jsch-0.1.48.jar
[ERROR] urls[48] = file:/home/pradeeban/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/2.4/maven-dependency-plugin-2.4.jar
[ERROR] urls[49] = file:/home/pradeeban/.m2/repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
[ERROR] urls[50] = file:/home/pradeeban/.m2/repository/org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
[ERROR] urls[51] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
[ERROR] urls[52] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
[ERROR] urls[53] = file:/home/pradeeban/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar
[ERROR] urls[54] = file:/home/pradeeban/.m2/repository/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
[ERROR] urls[55] = file:/home/pradeeban/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
[ERROR] urls[56] = file:/home/pradeeban/.m2/repository/commons-digester/commons-digester/1.6/commons-digester-1.6.jar
[ERROR] urls[57] = file:/home/pradeeban/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[ERROR] urls[58] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
[ERROR] urls[59] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
[ERROR] urls[60] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
[ERROR] urls[61] = file:/home/pradeeban/.m2/repository/org/apache/velocity/velocity/1.5/velocity-1.5.jar
[ERROR] urls[62] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
[ERROR] urls[63] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
[ERROR] urls[64] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
[ERROR] urls[65] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
[ERROR] urls[66] = file:/home/pradeeban/.m2/repository/org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
[ERROR] urls[67] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-archiver/2.0/plexus-archiver-2.0.jar
[ERROR] urls[68] = file:/home/pradeeban/.m2/repository/org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.jar
[ERROR] urls[69] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-dependency-analyzer/1.2/maven-dependency-analyzer-1.2.jar
[ERROR] urls[70] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar
[ERROR] urls[71] = file:/home/pradeeban/.m2/repository/org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
[ERROR] urls[72] = file:/home/pradeeban/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
[ERROR] urls[73] = file:/home/pradeeban/.m2/repository/junit/junit/4.10/junit-4.10.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[project>org.opendaylight.tcpmd5:tcpmd5-jni:1.1.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR]
[ERROR] -----------------------------------------------------: org.sonatype.aether.RepositorySystem
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn -rf :tcpmd5-jni


For now, I just commented out copy-maven-plugin from tcpmd5/jni/pom.xml, which made the build succeed, skipping the tests.                                   
               
           


3. Building defense4all
I was not sure why there is no central pom in defense4all. But I found, I have to build from defense4all/dfapp using maven clean install.

I encountered the below error.
[WARNING] /bin/sh: 1: rpm: not found

I had to install rpm first.
$ sudo apt-get install rpm

This made the build succeed.


4. Building vtn 
The below packages are necessary for a smooth build of vtn.
$ sudo apt-get install pkg-config gcc make g++ git libboost-dev libboost-all-dev libcurl4-openssl-dev \
   libjson0-dev libssl-dev unixodbc-dev xmlstarlet 
 
Going through the wiki will be helpful as well.
 

If boost was not installed, the below error would be thrown.
 -- checking for boost/version.hpp... not found

*** ERROR: boost is not found.

*** ERROR: Failed to configure VTN-Core build environment.


Similarly, not installing unixodbc-dev will throw the below error.
Output:
conftest.c:2:22: fatal error: odbcinst.h: No such file or directory
 #include
                      ^
compilation terminated.


*** ERROR: Configuration test failed: Compilation failed.



5. Building sdninterfaceapp
There was errors in checkstyle (listed below). Hence I had to build, skipping the checkstyles for now.

$ mvn clean install -Dcheckstyle.skip

The checkstyle errors encountered during the build with checkstyles.

[INFO] --- maven-checkstyle-plugin:2.12:check (default) @ sdniaggregator ---
Downloading: http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/checkstyle/0.0.3-SNAPSHOT/maven-metadata.xml
Downloading: http://repository.apache.org/snapshots/org/opendaylight/controller/checkstyle/0.0.3-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/checkstyle/0.0.3-SNAPSHOT/maven-metadata.xml (1013 B at 1.7 KB/sec)
[INFO] Starting audit...
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/pom.xml:71:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/pom.xml:73:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/pom.xml:74:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/pom.xml:79:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:22:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:23:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:24:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:25:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:26: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:26:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:27:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:28:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:29:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:30:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:33:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:34: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:34:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:35:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:36:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:37:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:38: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:38:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:39:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:40:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:41:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:42: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:42:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:43:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:44:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:45:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:46: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:46:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:47:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:48:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SDNiBandwidth.java:49:1: Line contains a tab character.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SdniManager.java:239: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SdniManager.java:268: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SdniManager.java:282: Line has trailing spaces.
/home/pradeeban/OpenDayLight/sdninterfaceapp/sdniaggregator/src/main/java/org/opendaylight/controller/sdniaggregator/SdniManager.java:287: Line has trailing spaces.
Audit done.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] sdniaggregator .................................... FAILURE [8.739s]
[INFO] sdni .............................................. SKIPPED
[INFO] sdninterfaceapp.project ........................... SKIPPED
[INFO] features-sdninterfaceapp .......................... SKIPPED
[INFO] org.opendaylight.sdninterfaceapp .................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.952s
[INFO] Finished at: Wed Oct 08 11:47:29 WEST 2014
[INFO] Final Memory: 27M/349M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.12:check (default) on project sdniaggregator: Failed during checkstyle execution: There are 39 checkstyle errors. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

No comments:

Post a Comment

You are welcome to provide your opinions in the comments. Spam comments and comments with random links will be deleted.