Thanks for testing the suggested fix, Laurens. I created METRON-1265 so we can get this dependency doc'd.
https://issues.apache.org/jira/browse/METRON-1265 On Wed, Oct 18, 2017 at 11:55 AM, Laurens Vets <laur...@daemon.be> wrote: > I was hesitant to believe Ryan that this was a compiler issue, but I > upgraded my compiler on CentOS 6 to 4.9.2 and the build worked on the first > try... Lesson learned: Never question Ryan again! > > How to upgrade compiler on CentOS 6: > > $ sudo yum install centos-release-scl > $ sudo yum install devtoolset-3-toolchain > $ scl enable devtoolset-3 bash > $ <compile Metron> > > On 2017-10-13 11:12, Ryan Merriman wrote: > >> We recently ran into this and the cause was an old C++ compiler version. >> It wants a compiler that has support for C++11: >> https://gcc.gnu.org/projects/cxx-status.html#cxx11. >> >> On Fri, Oct 13, 2017 at 1:00 PM, Laurens Vets <laur...@daemon.be> wrote: >> >> ... >>> [INFO] --- frontend-maven-plugin:1.3:npm (ng build) @ metron-config --- >>> [DEBUG] Configuring mojo com.github.eirslett:frontend-m >>> aven-plugin:1.3:npm >>> from plugin realm ClassRealm[plugin>com.github.e >>> irslett:frontend-maven-plugin:1.3, parent: >>> sun.misc.Launcher$AppClassLoad >>> er@70dea4e] >>> [DEBUG] Configuring mojo 'com.github.eirslett:frontend- >>> maven-plugin:1.3:npm' >>> with basic configurator --> >>> [DEBUG] (f) arguments = run build >>> [DEBUG] (f) npmInheritsProxyConfigFromMaven = false >>> [DEBUG] (f) project = MavenProject: org.apache.metron:metron-confi >>> g:0.4.1 >>> @ /root/metron/metron-interface/metron-config/pom.xml >>> [DEBUG] (f) repositorySystemSession = org.eclipse.aether.DefaultRepo >>> sitorySystemSession@e883a51 >>> [DEBUG] (f) session = org.apache.maven.execution.MavenSession@2aaefbd >>> [DEBUG] (f) skip = false >>> [DEBUG] (f) skipTests = true >>> [DEBUG] (f) workingDirectory = /root/metron/metron-interface/ >>> metron-config >>> [DEBUG] (f) execution = com.github.eirslett:frontend-m >>> aven-plugin:1.3:npm >>> {execution: ng build} >>> [DEBUG] -- end configuration -- >>> [INFO] npm not inheriting proxy config from Maven >>> [INFO] Running 'npm run build' in /root/metron/metron-interface/ >>> metron-config >>> [INFO] >>> [INFO] > metron-management-ui@0.4.1 build /root/metron/metron-interface/ >>> metron-config >>> [INFO] > ./node_modules/angular-cli/bin/ng build -prod >>> [INFO] >>> [INFO] Cannot find module 'tough-cookie' >>> [INFO] Error: Cannot find module 'tough-cookie' >>> [INFO] at Function.Module._resolveFilename (module.js:440:15) >>> [INFO] at Function.Module._load (module.js:388:25) >>> [INFO] at Module.require (module.js:468:17) >>> [INFO] at require (internal/module.js:20:19) >>> [INFO] at Object.<anonymous> (/root/metron/metron-interface >>> /metron-config/node_modules/request/lib/cookies.js:3:13) >>> [INFO] at Module._compile (module.js:541:32) >>> [INFO] at Object.Module._extensions..js (module.js:550:10) >>> [INFO] at Module.load (module.js:458:32) >>> [INFO] at tryModuleLoad (module.js:417:12) >>> [INFO] at Function.Module._load (module.js:409:3) >>> [INFO] at Module.require (module.js:468:17) >>> [INFO] at require (internal/module.js:20:19) >>> [INFO] at Object.<anonymous> (/root/metron/metron-interface >>> /metron-config/node_modules/request/index.js:18:15) >>> [INFO] at Module._compile (module.js:541:32) >>> [INFO] at Object.Module._extensions..js (module.js:550:10) >>> [INFO] at Module.load (module.js:458:32) >>> [INFO] at tryModuleLoad (module.js:417:12) >>> [INFO] at Function.Module._load (module.js:409:3) >>> [INFO] at Module.require (module.js:468:17) >>> [INFO] at require (internal/module.js:20:19) >>> [INFO] at Leek._enqueue (/root/metron/metron-interface >>> /metron-config/node_modules/leek/lib/leek.js:60:30) >>> [INFO] at Leek.track (/root/metron/metron-interface >>> /metron-config/node_modules/leek/lib/leek.js:87:15) >>> [INFO] at Class.Command.validateAndRun (/root/metron/metron-interface >>> /metron-config/node_modules/angular-cli/lib/models/command.js:119:18) >>> [INFO] at /root/metron/metron-interface/ >>> metron-config/node_modules/ang >>> ular-cli/lib/cli/cli.js:86:22 >>> [INFO] at tryCatch (/root/metron/metron-interface >>> /metron-config/node_modules/rsvp/dist/lib/rsvp/-internal.js:198:12) >>> [INFO] at invokeCallback (/root/metron/metron-interface >>> /metron-config/node_modules/rsvp/dist/lib/rsvp/-internal.js:211:13) >>> [INFO] at /root/metron/metron-interface/ >>> metron-config/node_modules/rsv >>> p/dist/lib/rsvp/then.js:26:14 >>> [INFO] at flush (/root/metron/metron-interface >>> /metron-config/node_modules/rsvp/dist/lib/rsvp/asap.js:80:5) >>> [INFO] at _combinedTickCallback (internal/process/next_tick.js:67:7) >>> [INFO] at process._tickCallback (internal/process/next_tick.js:98:9) >>> [ERROR] >>> [ERROR] npm ERR! Linux 2.6.32-696.13.2.el6.x86_64 >>> [ERROR] npm ERR! argv "/root/metron/metron-interface >>> /metron-config/node/node" >>> "/root/metron/metron-interface/metron-config/node/node_ >>> modules/npm/bin/npm-cli.js" >>> "run" "build" >>> [ERROR] npm ERR! node v6.2.0 >>> [ERROR] npm ERR! npm v3.8.9 >>> [ERROR] npm ERR! code ELIFECYCLE >>> [ERROR] npm ERR! metron-management-ui@0.4.1 build: >>> `./node_modules/angular-cli/bin/ng build -prod` >>> [ERROR] npm ERR! Exit status 1 >>> [ERROR] npm ERR! >>> [ERROR] npm ERR! Failed at the metron-management-ui@0.4.1 build script >>> './node_modules/angular-cli/bin/ng build -prod'. >>> [ERROR] npm ERR! Make sure you have the latest version of node.js and npm >>> installed. >>> [ERROR] npm ERR! If you do, this is most likely a problem with the >>> metron-management-ui package, >>> [ERROR] npm ERR! not with npm itself. >>> [ERROR] npm ERR! Tell the author that this fails on your system: >>> [ERROR] npm ERR! ./node_modules/angular-cli/bin/ng build -prod >>> [ERROR] npm ERR! You can get information on how to open an issue for this >>> project with: >>> [ERROR] npm ERR! npm bugs metron-management-ui >>> [ERROR] npm ERR! Or if that isn't available, you can get their info via: >>> [ERROR] npm ERR! npm owner ls metron-management-ui >>> [ERROR] npm ERR! There is likely additional logging output above. >>> [ERROR] >>> [ERROR] npm ERR! Please include the following file with any support >>> request: >>> [ERROR] npm ERR! /root/metron/metron-interface/metron-config/npm- >>> debug.log >>> [INFO] ------------------------------------------------------------ >>> ------------ >>> [INFO] Reactor Summary: >>> [INFO] >>> [INFO] Metron ............................................. SUCCESS [ >>> 1.310 s] >>> [INFO] metron-stellar ..................................... SUCCESS [ >>> 0.245 s] >>> [INFO] stellar-common ..................................... SUCCESS [ >>> 47.893 s] >>> [INFO] metron-analytics ................................... SUCCESS [ >>> 0.154 s] >>> [INFO] metron-maas-common ................................. SUCCESS [ >>> 2.604 s] >>> [INFO] metron-platform .................................... SUCCESS [ >>> 0.211 s] >>> [INFO] metron-test-utilities .............................. SUCCESS [ >>> 7.094 s] >>> [INFO] metron-integration-test ............................ SUCCESS [ >>> 18.934 s] >>> [INFO] metron-maas-service ................................ SUCCESS [ >>> 14.548 s] >>> [INFO] metron-common ...................................... SUCCESS [ >>> 30.774 s] >>> [INFO] metron-statistics .................................. SUCCESS [ >>> 45.088 s] >>> [INFO] metron-writer ...................................... SUCCESS [ >>> 46.510 s] >>> [INFO] metron-storm-kafka-override ........................ SUCCESS [ >>> 1.130 s] >>> [INFO] metron-storm-kafka ................................. SUCCESS [ >>> 0.837 s] >>> [INFO] metron-hbase ....................................... SUCCESS [ >>> 2.750 s] >>> [INFO] metron-profiler-common ............................. SUCCESS [ >>> 1.805 s] >>> [INFO] metron-profiler-client ............................. SUCCESS [ >>> 35.840 s] >>> [INFO] metron-profiler .................................... SUCCESS >>> [01:51 min] >>> [INFO] metron-hbase-client ................................ SUCCESS [ >>> 28.237 s] >>> [INFO] metron-enrichment .................................. SUCCESS >>> [01:47 min] >>> [INFO] metron-indexing .................................... SUCCESS [ >>> 32.076 s] >>> [INFO] metron-solr ........................................ SUCCESS [ >>> 33.035 s] >>> [INFO] metron-pcap ........................................ SUCCESS [ >>> 2.972 s] >>> [INFO] metron-parsers ..................................... SUCCESS >>> [01:40 min] >>> [INFO] metron-pcap-backend ................................ SUCCESS [ >>> 56.719 s] >>> [INFO] metron-data-management ............................. SUCCESS >>> [01:49 >>> min] >>> [INFO] metron-api ......................................... SUCCESS [ >>> 44.754 s] >>> [INFO] metron-management .................................. SUCCESS [ >>> 15.315 s] >>> [INFO] elasticsearch-shaded ............................... SUCCESS [ >>> 18.489 s] >>> [INFO] metron-elasticsearch ............................... SUCCESS >>> [01:36 min] >>> [INFO] metron-deployment .................................. SUCCESS [ >>> 0.015 s] >>> [INFO] Metron Ambari Management Pack ...................... SUCCESS [ >>> 6.645 s] >>> [INFO] metron-contrib ..................................... SUCCESS [ >>> 0.123 s] >>> [INFO] metron-docker ...................................... SUCCESS [ >>> 5.313 s] >>> [INFO] metron-interface ................................... SUCCESS [ >>> 0.068 s] >>> [INFO] metron-config ...................................... FAILURE >>> [32:49 min] >>> [INFO] metron-alerts ...................................... SUCCESS >>> [23:51 min] >>> [INFO] metron-rest-client ................................. SUCCESS [ >>> 13.580 s] >>> [INFO] metron-rest ........................................ SUCCESS >>> [02:13 min] >>> [INFO] site-book .......................................... SUCCESS [ >>> 1.882 s] >>> [INFO] 3rd party Functions (just for tests) ............... SUCCESS [ >>> 0.438 s] >>> [INFO] ------------------------------------------------------------ >>> ------------ >>> [INFO] BUILD FAILURE >>> [INFO] ------------------------------------------------------------ >>> ------------ >>> [INFO] Total time: 32:53 min (Wall Clock) >>> [INFO] Finished at: 2017-10-13T10:43:23-07:00 >>> [INFO] Final Memory: 171M/2115M >>> [INFO] ------------------------------------------------------------ >>> ------------ >>> [ERROR] Failed to execute goal com.github.eirslett:frontend-m >>> aven-plugin:1.3:npm >>> (ng build) on project metron-config: Failed to run task: 'npm run build' >>> failed. (error code 1) -> [Help 1] >>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to >>> execute >>> goal com.github.eirslett:frontend-maven-plugin:1.3:npm (ng build) on >>> project metron-config: Failed to run task >>> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(Moj >>> oExecutor.java:212) >>> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(Moj >>> oExecutor.java:153) >>> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(Moj >>> oExecutor.java:145) >>> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.b >>> uildProject(LifecycleModuleBuilder.java:116) >>> at org.apache.maven.lifecycle.internal.builder.multithreaded.Mu >>> ltiThreadedBuilder$1.call(MultiThreadedBuilder.java:185) >>> at org.apache.maven.lifecycle.internal.builder.multithreaded.Mu >>> ltiThreadedBuilder$1.call(MultiThreadedBuilder.java:181) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>> at java.util.concurrent.Executors$RunnableAdapter.call( >>> Executors.java:511) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>> Executor.java:1149) >>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>> lExecutor.java:624) >>> at java.lang.Thread.run(Thread.java:748) >>> Caused by: org.apache.maven.plugin.MojoFailureException: Failed to run >>> task >>> at com.github.eirslett.maven.plugins.frontend.mojo.AbstractFron >>> tendMojo.execute(AbstractFrontendMojo.java:95) >>> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMoj >>> o(DefaultBuildPluginManager.java:134) >>> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(Moj >>> oExecutor.java:207) >>> ... 11 more >>> Caused by: com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerExc >>> eption: >>> 'npm run build' failed. (error code 1) >>> at com.github.eirslett.maven.plugins.frontend.lib.NodeTaskExecu >>> tor.execute(NodeTaskExecutor.java:60) >>> at com.github.eirslett.maven.plugins.frontend.mojo.NpmMojo.exec >>> ute(NpmMojo.java:62) >>> at com.github.eirslett.maven.plugins.frontend.mojo.AbstractFron >>> tendMojo.execute(AbstractFrontendMojo.java:89) >>> ... 13 more >>> [ERROR] >>> [ERROR] >>> [ERROR] For more information about the errors and possible solutions, >>> please read the following articles: >>> [ERROR] [Help 1] http://cwiki.apache.org/conflu >>> ence/display/MAVEN/MojoFailureException >>> [ERROR] >>> [ERROR] After correcting the problems, you can resume the build with the >>> command >>> [ERROR] mvn <goals> -rf :metron-config >>> [root@centos6 metron]# >>> >>> [root@centos6 metron]# gcc -v >>> Using built-in specs. >>> Target: x86_64-redhat-linux >>> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man >>> --infodir=/usr/share/info --with-bugurl=http://bugzilla. >>> redhat.com/bugzilla --enable-bootstrap --enable-shared >>> --enable-threads=posix --enable-checking=release --with-system-zlib >>> --enable-__cxa_atexit --disable-libunwind-exceptions >>> --enable-gnu-unique-object --enable-languages=c,c++,objc, >>> obj-c++,java,fortran,ada >>> --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/ >>> java-1.5.0-gcj-1.5.0.0/jre >>> --enable-libgcj-multifile --enable-java-maintainer-mode >>> --with-ecj-jar=/usr/share/java/eclipse-ecj.jar >>> --disable-libjava-multilib >>> --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 >>> --build=x86_64-redhat-linux >>> Thread model: posix >>> gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) >>> [root@centos6 metron]# >>> >>> >>> On 2017-10-04 13:15, James Sirota wrote: >>> >>> Can you run it with the -X flag and paste the error? What version of >>>> the gcc compiler do you have? >>>> >>>> 02.10.2017, 09:37, "Laurens Vets" <laur...@daemon.be>: >>>> >>>> I might have spoken too soon. This is what I see now on 0.4.1-release: >>>>> >>>>> ... >>>>> [INFO] metron-contrib ..................................... SUCCESS [ >>>>> 0.006 s] >>>>> [INFO] metron-docker ...................................... SUCCESS [ >>>>> 3.088 s] >>>>> [INFO] metron-interface ................................... SUCCESS [ >>>>> 0.057 s] >>>>> [INFO] metron-config ...................................... FAILURE >>>>> [06:54 min] >>>>> [INFO] metron-alerts ...................................... SUCCESS >>>>> [03:44 min] >>>>> [INFO] metron-rest-client ................................. SUCCESS [ >>>>> 0.411 s] >>>>> [INFO] metron-rest ........................................ SUCCESS [ >>>>> 26.628 s] >>>>> [INFO] site-book .......................................... SUCCESS [ >>>>> 1.136 s] >>>>> [INFO] >>>>> ------------------------------------------------------------ >>>>> ------------ >>>>> [INFO] BUILD FAILURE >>>>> [INFO] >>>>> ------------------------------------------------------------ >>>>> ------------ >>>>> [INFO] Total time: 06:56 min (Wall Clock) >>>>> [INFO] Finished at: 2017-10-02T16:33:39+00:00 >>>>> [INFO] Final Memory: 240M/3203M >>>>> [INFO] >>>>> ------------------------------------------------------------ >>>>> ------------ >>>>> [ERROR] Failed to execute goal >>>>> com.github.eirslett:frontend-maven-plugin:1.3:npm (ng build) on >>>>> project >>>>> metron-config: Failed to run task: 'npm run build' failed. (error code >>>>> 1) -> [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/MojoFailureException >>>>> [ERROR] >>>>> [ERROR] After correcting the problems, you can resume the build with >>>>> the >>>>> command >>>>> [ERROR] mvn <goals> -rf :metron-config >>>>> >>>>> On 2017-10-02 08:16, Laurens Vets wrote: >>>>> >>>>> I can confirm 0.4.1 (on CentOS 6!) builds for me as well. >>>>>> >>>>>> Are we sure it isn't due to the version of node shipped with the OS? >>>>>> >>>>>> On 2017-10-02 08:04, zeo...@gmail.com wrote: >>>>>> >>>>>> Hmm, 0.4.1 built fine for me. >>>>>>> >>>>>>> Jon >>>>>>> >>>>>>> On Mon, Oct 2, 2017 at 10:44 AM Casey Stella <ceste...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>> Ok, the build is broken in metron-config due to some transitive >>>>>>> >>>>>>>> changes >>>>>>>> that happened in npm-land: >>>>>>>> >>>>>>>> [INFO] >>>>>>>> >>>>>>>> /Users/cstella/Documents/workspace/metron/fork/incubator- >>>>>>>> metron/metron-interface/metron-config/node_modules/ >>>>>>>> toposort/index.js:32 >>>>>>>> [INFO] throw new Error('Cyclic dependency: >>>>>>>> '+JSON.stringify(node)) >>>>>>>> [INFO] ^ >>>>>>>> [INFO] Error: Cyclic dependency: "[object Object]" >>>>>>>> [INFO] at visit >>>>>>>> >>>>>>>> (/Users/cstella/Documents/workspace/metron/fork/incubator- >>>>>>>> metron/metron-interface/metron-config/node_modules/ >>>>>>>> toposort/index.js:32:13) >>>>>>>> [INFO] at visit >>>>>>>> >>>>>>>> (/Users/cstella/Documents/workspace/metron/fork/incubator- >>>>>>>> metron/metron-interface/metron-config/node_modules/ >>>>>>>> toposort/index.js:48:9) >>>>>>>> >>>>>>>> Evidently one of our transitive dependencies has changed and we >>>>>>>> have >>>>>>>> ended >>>>>>>> up with a cyclic dependency. I'm not sure where or why yet, but I >>>>>>>> believe >>>>>>>> this breaks both master and our 0.4.1 release (I haven't confirmed >>>>>>>> this >>>>>>>> yet, but I strongly suspect). >>>>>>>> >>>>>>>> While the good work of tracking down this specific error is done, >>>>>>>> I'd >>>>>>>> like >>>>>>>> to bring up a broader discussion point: our practice of not fixing >>>>>>>> versions >>>>>>>> for our node dependencies. This is, in effect, causing a few >>>>>>>> problems: >>>>>>>> >>>>>>>> - We do not have a consistent, repeatable build. >>>>>>>> - We set ourselves up for possible license violation without >>>>>>>> knowing >>>>>>>> about it (a transitive dependency changes its license) >>>>>>>> >>>>>>>> As we stand, we have a release which doesn't not build after we >>>>>>>> have >>>>>>>> released it and tested it. It seems to me that we should at a >>>>>>>> minimum as a >>>>>>>> stopgap: >>>>>>>> >>>>>>>> - fix the versions of our dependencies so that they are in a >>>>>>>> working >>>>>>>> state >>>>>>>> - consider a point release to get a working build. >>>>>>>> >>>>>>>> I guess my questions to those of us with more javascript and UI >>>>>>>> experience >>>>>>>> is as follows: >>>>>>>> >>>>>>>> - Does fixing the version of our dependencies actually fix the >>>>>>>> problem >>>>>>>> transitively? >>>>>>>> - IF not, then how do we get a version of a build which is >>>>>>>> consistent >>>>>>>> and repeatable and does not expose us to downstream licensing >>>>>>>> issues? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Casey >>>>>>>> >>>>>>>> >>>>>>> ------------------- >>>> Thank you, >>>> >>>> James Sirota >>>> PPMC- Apache Metron (Incubating) >>>> jsirota AT apache DOT org >>>> >>>> >>>