[Blue Ocean] Build failure when compiling BlueOcean : Dashboard in a Windows 7 PC

691 views
Skip to first unread message

Naresh K

unread,
May 30, 2016, 8:16:15 AM5/30/16
to Jenkins Developers
Hi All,

I just came across blue ocean and the project sounds very interesting and wanted to setup my windows 7 machine for dev purposes. But before that i tried compiling the plugin by checking out the source code and running 'mvn clean install' on it
this is the error i get:

[INFO] [16:41:34] Finished 'less_bundle_extensions_bundle_4' after 5 ms
[INFO] [16:41:34] LESS CSS pre-processing completed to 'target/classes/org/jenki
ns/ui/jsmodules/blueocean_dashboard'.
[INFO] [16:41:35] Finished 'js_bundle_immutable-3.8.1_bundle_1' after 1.34 s
[INFO] [16:41:35] Browserify bundle processing error
[INFO] [16:41:35]       error: Error: Cannot find module '..srcmainjs/AdminNavLi
nk.jsx' from 'C:\Users\Admin\Downloads\blueocean\blueocean-dashboard\target'
[ERROR]
[ERROR] C:\Users\Admin\Downloads\blueocean\blueocean-dashboard\node_modules\@
jenkins-cd\js-builder\index.js:555
[ERROR]                         throw 'Browserify bundle processing error. See a
bove for details.';
[ERROR]                         ^
[ERROR] Browserify bundle processing error. See above for details.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Blue Ocean UI Parent ............................... SUCCESS [  7.282 s]
[INFO] BlueOcean :: Commons API ........................... SUCCESS [  8.382 s]
[INFO] BlueOcean :: Web module ............................ SUCCESS [ 29.429 s]
[INFO] BlueOcean :: Rest module ........................... SUCCESS [  7.401 s]
[INFO] BlueOcean :: Dashboard ............................. FAILURE [ 20.144 s]
[INFO] BlueOcean :: Jenkins Plugin ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:14 min
[INFO] Finished at: 2016-05-30T16:41:35+05:30
[INFO] Final Memory: 262M/1564M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.23:
gulp (gulp bundle) on project blueocean-dashboard: Failed to run task: 'gulp bun
dle --no-color' failed. (error code 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[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 rea
d the following articles:
eption
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command

[ERROR]   mvn <goals> -rf :blueocean-dashboard


I checked the gulp file and everything seems fine. Am i missing something. I have nodejs installed and gulp as well. Requesting members to help me with this. nodejs is at 4.4.5


Regards
Naresh K

Ivan Meredith

unread,
May 30, 2016, 4:35:52 PM5/30/16
to Jenkins Developers
It could be something specific to windows, as far as I know no one has built it on windows yet. What version of node/npm do you have installed?

Michael Neale

unread,
May 30, 2016, 7:07:28 PM5/30/16
to Jenkins Developers, Tom Fennelly
Where there any errors above? 

This uses the mvn front end plugin that builds things with node/npm which is specific to platform. 

Naresh K

unread,
May 31, 2016, 12:04:35 AM5/31/16
to Jenkins Developers
I am using Node version 4.4.5 and npm is at 2.15.5.

Naresh K

unread,
May 31, 2016, 12:07:33 AM5/31/16
to Jenkins Developers, tfen...@cloudbees.com
I did see an error about node gyp failing because of missing microsoft c++ redistributables, but the compilation went fine and the component for which this happened shows SUCCESS status at every build. 

Michael Neale

unread,
May 31, 2016, 12:22:13 AM5/31/16
to Jenkins Developers, Tom Fennelly

As far as I know the platform version of npm/node should not be needed, and thus the version not matter - right Tom? 

Richard Bywater

unread,
May 31, 2016, 1:04:44 AM5/31/16
to jenkin...@googlegroups.com
I assume the cause of the issue is:
"Cannot find module '..srcmainjs/AdminNavLink.jsx"

It looks like something is trying to write a string probably started as "..\src\main\js/AdminNavLink.jsx" and its entered something like Java which has seen those backslashes as escape characters (and hence ended up as srcmainjs)

Haven't looked at *any* of the code but hopefully that might point someone in a useful direction.

Richard.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/2fe9788d-f777-463a-9e5c-2074da06aab5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Neale

unread,
May 31, 2016, 4:11:57 AM5/31/16
to Jenkins Developers
That is probably part of it. 

As the development has taken place mostly on unixen, there is one symlink in there which I think will cause grief when building (not running) on windows: 


Sorry about this, just need more eyeballs to flush things out for building specifically on windows. 

Are you interested in hacking on things in windows or more interested in kicking the tyres/trying it out as it is? 

James Dumay

unread,
May 31, 2016, 8:37:50 AM5/31/16
to Jenkins Developers
I think Tom is going to remove the symlink Magic soon.

Tom Fennelly

unread,
May 31, 2016, 4:24:46 PM5/31/16
to Jenkins Developers, tfen...@cloudbees.com
On Tuesday, 31 May 2016 05:22:13 UTC+1, Michael Neale wrote:

As far as I know the platform version of npm/node should not be needed, and thus the version not matter - right Tom? 

Right, the build gets a fixed local version of node and npm and uses that. The version installed on the machine "should not" matter (yeah .... famous last words).

Tom Fennelly

unread,
May 31, 2016, 4:26:33 PM5/31/16
to Jenkins Developers
On Tuesday, 31 May 2016 06:04:44 UTC+1, Richard Bywater wrote:
I assume the cause of the issue is:
"Cannot find module '..srcmainjs/AdminNavLink.jsx"

It looks like something is trying to write a string probably started as "..\src\main\js/AdminNavLink.jsx" and its entered something like Java which has seen those backslashes as escape characters (and hence ended up as srcmainjs)

Haven't looked at *any* of the code but hopefully that might point someone in a useful direction.

Richard.

I'd need to check, but I doubt this error has anything to do with the symlink. 

Thorsten Scherler

unread,
May 31, 2016, 7:22:42 PM5/31/16
to Jenkins Developers
Yeah I am with Tom, one / is getting "eaten" 

.srcmainjs/AdminNavLink.jsx' from 'C:\Users\Admin\Downloads\blueocean\blueocean-dashboard\target'

the whole path until the last is missing it. That is coming from bo-web assembling the extensions points.

BTW that file should be called DashboardNavLink. ;)

salu2

Michael Neale

unread,
May 31, 2016, 7:29:23 PM5/31/16
to Jenkins Developers
*shakes fist at bill gates*. I think "\" was picked as a path separator deliberately to be different in the 70s when DOS was invented. 

This really shoudl build on windows, but may take some time. Some of the tests are also creating and executing pipelines that involve "sh" steps which may be a problem once this build issue is overcome. They can probably be amended to use echo steps - which are cross platform I believe. 

So, work to be done.. 

Ian Ceicys

unread,
Jun 2, 2016, 12:51:29 PM6/2/16
to Jenkins Developers
I too am running into the 'Cannot find module '..srcmainjs/AdminNavLi
nk.jsx' issue when running the following command (mvn clean install) on Windows Server 2012 R2. 

I have verified that I am running Python 2.7.3 (https://www.python.org/ftp/python/2.7.3/python-2.7.3.msi) as there appears to be an issue running Python 3.5.1.


Error Message: 
[INFO] [12:27:17] Finished 'less_bundle_extensions_bundle_4' after 5.74 ms
[INFO] [12:27:18] LESS CSS pre-processing completed to 'target/classes/org/jenki
ns/ui/jsmodules/blueocean_dashboard'.
[INFO] [12:27:20] Browserify bundle processing error
[INFO] [12:27:20]       error: Error: Cannot find module '..srcmainjs/AdminNavLi
nk.jsx' from 'D:\GIT\blueocean-plugin\blueocean-dashboard\target'
[ERROR]
[ERROR] D:\GIT\blueocean-plugin\blueocean-dashboard\node_modules\@jenkins-cd\js-
builder\index.js:555
[ERROR]                         throw 'Browserify bundle processing error. See a
bove for details.';
[ERROR]                         ^
[ERROR] Browserify bundle processing error. See above for details.

Tom Fennelly

unread,
Jun 2, 2016, 1:51:19 PM6/2/16
to Jenkins Developers
Hey Ian. Thanks for the video.

After running the build, please get the contents of ./blueocean-dashboard/target/jenkins-js-extension.jsx and attach it back here.

Looks like we need a fix we need a fix in js-extensions/@jenkins-cd/subs/extensions-bundle.js#L120 to stop it translating the paths to the system format. It's an easy fix.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/otY1UkS9f4w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d495fecf-749b-409c-b9a5-efac078ec31b%40googlegroups.com.

Tom Fennelly

unread,
Jun 2, 2016, 1:54:12 PM6/2/16
to Jenkins Developers
Specifically we're talking about relPath and making sure it always contains unix file path token separators.

Ian Ceicys

unread,
Jun 2, 2016, 4:27:55 PM6/2/16
to Jenkins Developers
Hey Tom,
Thanks for the quick response. :-) Here is the attached jenkins-js-extension.jsx you requested. 

Hope it's an easy fix. I'm more than happy to test any committed fixes. :-) 

I really would love to get this running on Windows so I can start exploring and then contributing.

Regards,
Ian Ceicys 
jenkins-js-extension.jsx

Thorsten Scherler

unread,
Jun 2, 2016, 5:43:59 PM6/2/16
to Jenkins Developers

import component_0 from '..\src\main\js/AdminNavLink.jsx';

yeah @tom your fix should work

salu2

Ian Ceicys

unread,
Jun 6, 2016, 9:54:43 AM6/6/16
to Jenkins Developers

I found that this issue was already logged and included a possible partial workaround. 

https://issues.jenkins-ci.org/browse/JENKINS-35180


I attempted the workaround and updated file (\blueocean-plugin\js-extensions@jenkins-cd\subs\extensions-bundle.js)
var relPath = path.relative(targetRoot, srcRoot);
to
var relPath = path.relative(targetRoot, srcRoot).split("\\").join("\\\\");

Now I am receiving a new error message:
[INFO] [11:35:23] error: Error: Cannot find module '..srcmainjs/PipelineRoutes.jsx' from 'D:\GIT\blueocean-plugin\blueocean-dashboard\target'

Here is a 2 minute video of my repo steps.
https://www.youtube.com/watch?v=AkhTkTvuETQ?version=3&vq=hd1080

I am still unable to build successfully on windows.


Thanks for the help on getting this issue resolved. 

Tom Fennelly

unread,
Jun 6, 2016, 3:35:34 PM6/6/16
to Jenkins Developers

For more options, visit https://groups.google.com/d/optout.

Hi Ian. I have to try it on a windows machine myself, but PR #232 (branch UX-431) contains a possible fix for the windows path issue in js-extensions (more or less the same fix as suggested on the JIRA). I published a beta tag release of js-extensions, so it should build etc. Maybe you could check it out and give it a try? I'll try it on a windows machine tomorrow too.

Itai Sanders

unread,
Jun 7, 2016, 2:48:06 AM6/7/16
to Jenkins Developers
Hi Tom,

I am too running Jenkins on Windows (Server 2012) and had the above failure, so I found my way to this thread looking for a solution.
I tried compiling branch UX-431 as you suggested. the process indeed passed the Dashboard stage, but failed again in REST API implementation stage. it appears that there are some unix commands trying to run because I get a few error messages in the form of:
java.io.IOException: Cannot run program "sh" (in directory "C:\Windows\TEMP\hudson5061178017739584096test\workspace\pipeline4"): CreateProcess error=2, The system cannot find the file specified
java.io.IOException: Cannot run program "nohup" (in directory "C:\Windows\TEMP\hudson7279525167245141650test\workspace\pipeline1"): CreateProcess error=2, The system cannot find the file specified

attaching the full log just in case...

eager to hop on the wagon,
Itai
 
blueocean-consoleText.txt

Michael Neale

unread,
Jun 7, 2016, 3:16:17 AM6/7/16
to Jenkins Developers
Right, the tests will need to be changed to accomodate windows. 

You can see it is using shell steps which will fail in this way. If any time "sh" is used in a test, "echo" is used, then maybe it will pass the tests on windows. 

Tom Fennelly

unread,
Jun 7, 2016, 3:37:58 AM6/7/16
to Jenkins Developers
Hi guys.

For now, in order to get a build to completion on Windows, you'll need to build with the -DskipTests switch e.g.

mvn clean install -DskipTests

We have a job to go back and fix the tests to run on Windows.
 

Itai Sanders

unread,
Jun 7, 2016, 4:01:14 AM6/7/16
to jenkin...@googlegroups.com
ok, I ran it without the testing.
now it compiles, but wouldn't start on the same port that Jenkins is using (8080):
FAILED ServerConnector@5949bcfe{HTTP/1.1}{0.0.0.0:8080}: java.net.BindException: Address already in use: bind

should I close Jenkins and let BlueOcean start it for me?

again, attacking full log.

thanks, 


Itai Sanders



blueocean-consoleText.txt

Tom Fennelly

unread,
Jun 7, 2016, 4:20:52 AM6/7/16
to Jenkins Developers
On Tuesday, June 7, 2016 at 9:01:14 AM UTC+1, Itai Sanders wrote:
ok, I ran it without the testing.
now it compiles, but wouldn't start on the same port that Jenkins is using (8080):
FAILED ServerConnector@5949bcfe{HTTP/1.1}{0.0.0.0:8080}: java.net.BindException: Address already in use: bind

should I close Jenkins and let BlueOcean start it for me?

Right, you will not be able to run it on port 8080 if it's already running on port 8080. Stop all processes listening on port 8080 and then run.

Btw, there is a way of specifying a different port, but lets not complicate things.

Itai Sanders

unread,
Jun 7, 2016, 5:00:39 AM6/7/16
to jenkin...@googlegroups.com
status report:
got the in-project jenkins to run under http://localhost:8080/jenkins
I didn't understand at first that this is going to run on a different jenkins instance. too bad, cause I was hoping to test our daily work with jenkins using blue ocean and report here. even created a small pipeline to update the local instance regularly.

anyhow, http://localhost:8080/jenkins/blue doesn't seem to work. attaching 404 error page in case it's any help.



Itai Sanders



--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/otY1UkS9f4w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
blue.html

Tom Fennelly

unread,
Jun 7, 2016, 5:29:52 AM6/7/16
to Jenkins Developers
Can you go to the plugins page and check that the Blue Ocean plugin is actually installed.

Something looks strange here. How are you running and from where are you running ?

Itai Sanders

unread,
Jun 7, 2016, 8:24:47 AM6/7/16
to jenkin...@googlegroups.com
my bad.
I started it from the dashboard dir instead of the plugin dir.

it seems to work, but graphics didn't load.
Inline image 1

I tested it also on my Windows 7 computer just to make sure it's not something to do with Windows Server security. got same results.




Itai Sanders



Ian Ceicys

unread,
Jun 7, 2016, 12:23:18 PM6/7/16
to Jenkins Developers
I tried the same steps and got the same result as Itai.

Video (4 min) with repo steps: https://www.youtube.com/watch?v=oSD4AiI2i3s 


Thanks,
Ian

Tom Fennelly

unread,
Jun 7, 2016, 2:22:27 PM6/7/16
to Jenkins Developers
On Tuesday, June 7, 2016 at 5:23:18 PM UTC+1, Ian Ceicys wrote:
I tried the same steps and got the same result as Itai

My guess is that the symlink in blueocean-web is screwing things up for windows hence no styles etc. 

Michael Neale

unread,
Jun 7, 2016, 7:37:48 PM6/7/16
to Jenkins Developers
Right - I guess if the aim is to just try things, this will be in the update center soon one way or another for people to try. 

In the meantime, if all the hpi's are copied into the plugins dir of a running jenkins (and transitive dependencies satisfied) - then it should work. 

Tom Fennelly

unread,
Jun 8, 2016, 6:49:12 AM6/8/16
to Jenkins Developers
I'm trying to get a build running on windows here. Will try get a working version skipping tests. We're going to have to get this sorted soon anyway.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/otY1UkS9f4w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.

Tom Fennelly

unread,
Jun 8, 2016, 11:35:55 AM6/8/16
to Jenkins Developers
Ok ... I have a build passing on windows (using -DskipTests). The UI opens in chrome, but we have some big'ish issues running on internet explorer (I tried it on IE 11).

PR #239, branch ... UX-163.

Tom Fennelly

unread,
Jun 8, 2016, 11:36:30 AM6/8/16
to Jenkins Developers
Again ... build by doing ....

mvn clean install -DskipTests

Itai Sanders

unread,
Jun 9, 2016, 3:27:20 AM6/9/16
to jenkin...@googlegroups.com
I can confirm that it does indeed run 👍
funny thing - after I shut down our working Jenkins service, run this project on a different folder and then go back to our own service - the Blue Ocean plugin is installed and updated on our Jenkins as well so I can just do this for the update and then go back to see our pipelines in the new view.



Itai Sanders



Tom Fennelly

unread,
Jun 9, 2016, 7:55:02 AM6/9/16
to Jenkins Developers
Cool. These fixes have been merged to master. Also added a related comment in the readme wrt building on windows.
Reply all
Reply to author
Forward
0 new messages