-
Notifications
You must be signed in to change notification settings - Fork 59
CentOS build issues (may deal with proxies) #83
Comments
Hey @kmkanagaraj, I have the build output but I'd argue it's less useful than the screenshots I sent over, since the machine gets in such a nasty state that it stops updating the file I'm piping the logs out to. If you have a better idea for how to capture more data, I'm all ears. I enabled the debug flag, the verbose flag, and went and ran 'npm config set strict-ssl false' for good measure. I also manually used npm install to install the gifsicle, jpegtran, optipng, and phantomjs components based on references to the first three being near the theoretical problem area and on grepping through the manage directory for "Error: connect ETIMEDOUT" and seeing references to phantomjs's README. None of it seems to have changed behavior at all. And yes, I am running the 'make clean-real' command before attempting to build. Debug output from 'make build-real' is as follows: building ui
✔ gifsicle pre-build test passed successfully
Download already available at /home/jhandz/calamari-clients/manage/node_modules/phantomjs/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2 Running "git-describe:git.js" (git-describe) task
Done, without errors. Execution Time (2015-01-22 22:28:52 UTC) Reading "Gruntfile.js" Gruntfile...OK Registering Gruntfile tasks. Registering "grunt-autoprefixer" local Npm module tasks.
Registering "grunt-bower-requirejs" local Npm module tasks.
Registering "grunt-concurrent" local Npm module tasks.
Registering "grunt-connect-proxy" local Npm module tasks.
Registering "grunt-contrib-clean" local Npm module tasks.
Registering "grunt-contrib-coffee" local Npm module tasks.
Registering "grunt-contrib-compass" local Npm module tasks.
Registering "grunt-contrib-concat" local Npm module tasks.
Registering "grunt-contrib-connect" local Npm module tasks.
Registering "grunt-contrib-copy" local Npm module tasks.
Registering "grunt-contrib-cssmin" local Npm module tasks.
Registering "grunt-contrib-htmlmin" local Npm module tasks.
Registering "grunt-contrib-imagemin" local Npm module tasks.
Registering "grunt-contrib-jshint" local Npm module tasks.
Registering "grunt-contrib-symlink" local Npm module tasks.
Registering "grunt-contrib-uglify" local Npm module tasks.
Registering "grunt-contrib-watch" local Npm module tasks.
Registering "grunt-docco" local Npm module tasks.
Registering "grunt-git-describe" local Npm module tasks.
Registering "grunt-google-cdn" local Npm module tasks.
Registering "grunt-karma" local Npm module tasks.
Registering "grunt-newer" local Npm module tasks.
Registering "grunt-ngmin" local Npm module tasks.
Registering "grunt-requirejs" local Npm module tasks.
Registering "grunt-rev" local Npm module tasks.
Registering "grunt-svgmin" local Npm module tasks.
Registering "grunt-usemin" local Npm module tasks.
Running tasks: build Running "build" task Running "clean:dist" (clean) task Running "symlink" task Running "symlink:fonts" (symlink) task
Running "saveRevision" task Running "git-describe" task Running "git-describe:git.js" (git-describe) task Spawning
Running "useminPrepare" task Running "useminPrepare:html" (useminPrepare) task Configuration is now: concat: uglify: cssmin: Running "concurrent:dist" (concurrent) task
|
It seems like some of the build is parallel, which may be making the debug process harder. Is there a smart way to serialize the build completely (regardless of completion time as long as it's no longer than an hour)? |
Hey Calamari folks,
I've tried to work this out on my own, but I'm kinda at the end of my rope here. To start off, I've considered swapping over to the Vagrant build configuration, but I'm intending to actively develop on Calamari for a number of months and would prefer to work within a standard CentOS environment.
I'm using Centos7, and your step by step guide for Fedora 20 was quite helpful:
yum install nodejs npm ruby make git
npm install -g grunt-cli
download and install rubygems
gem install compass
checkout the code git clone [email protected]:ceph/calamari-clients.git
cd into calamari-clients folder
to build: make build-real
Problems didn't really crop up until I actually tried to build. I'm building behind HP's corporate firewall, so I need to deal with a proxy. Here are the places that I've defined a proxy:
I had been running make build-real, but the build consistently failed. I'll post images a bit farther down. So, I took a look at the makefile to double-check that running sudo make build in each individual directory would be effectively the same as running sudo make build-real at the base directory (calamari-clients). So, I went and built dashboard, admin, and login. All three seem to have worked correctly (there's a dist directory in each of those three directories). The manage directory is the area where I'm consistently having problems. The compass.dist task runs, but then things fall off the wagon a bit:
The "pre-build test failed, compiling from source..." lines take a few minutes to come out, and then another five minutes or so to get the ETIMEDOUT lines, which still seem to indicate some sort of success. We sit and wait at the screen above for a solid ten minutes. In that time, the system becomes semi-unresponsive. Before we get to that point, I ran a 'ps aux | grep node'. I didn't count the processes, but there are quite a few running simultaneously. The mouse cursor moves, but nothing else works (second terminals don't respond to text input or mouse clicks, for instance). Then, I get this:
Any idea what to make of this? I took a look at the Gruntfile.js in the manage directory and saw that the concurrent:dist task deals with compass (unless I'm totally misinterpreting the Gruntfile). My thought is that this all stems from the ETIMEDOUT messages, but I don't know enough about calamari's build process to know for sure. I tracked down a stackoverflow post that seemed to have potential, but either I can't figure out the right way to define the HP proxy in the proxies: json entry or that's not my problem spot. http://stackoverflow.com/questions/24821833/how-do-i-configure-grunt-connect-proxy-behind-a-firewall
Sorry for the long post. Any help or pointers in the right direction would be greatly appreciated. Also, at some point I'd like to add to at least the .bowerrc files to help out anyone who might deal with proxies in the future like me...having a couple of commented out lines for proxies along with some documentation on what proxies need to be set would've saved me a few trips to the Google search bar.
Joe
The text was updated successfully, but these errors were encountered: