This repository has been archived by the owner. It is now read-only.

Build a project with cmake #32

leopd opened this Issue Jul 26, 2012 · 11 comments


None yet
6 participants

leopd commented Jul 26, 2012

I'm trying to build a project that uses cmake instead of configure. It fails with:

sh: cmake: not found

Do I seriously need to build cmake with vulcan and provide a URL for the dependency? Cmake seems like a pretty common build tool. Can vulcan support it please?

leopd commented Jul 27, 2012

Attempting to build cmake with vulcan and then link to it as a dependency didn't work. Cmake builds just fine, and then I try to link to the vulcan output with


Regardless of what I've tried for the --command, it can't find cmake.

leopd commented Jul 27, 2012

AFAICT --deps doesn't actually do anything. It doesn't appear to be writing any files.

Wow, I could use some help with this as well. Looks like Vulcan doesnt like cmake files

leopd commented Aug 26, 2012

After banging on it for almost two weeks, I gave up. Heroku support said it's experimental and not supported. Joshua, PM me if you want to talk about alternatives.

PM is no longer available on Github. I posted my email on my profile. You can email me there to initiate a convo or if you post your email on your profile I can email you. Would really like to discuss an alternative though.

Would love to hear if anyone has made any progress on this.

kalin commented Oct 19, 2012

Vulcan gained support for detecting binaries in dependencies and add them to the PATH 4 months ago with this patch from @fredngo fredngo/vulcan@ee00a5b. Unfortunately there hasn't been a release of the vulcan gem for 5 months. If you bundle the gem from github it works fine.

bundle exec vulcan build -v -s ./cmake-2.8.9 -c "./bootstrap --prefix=/app/vendor/cmake-2.8.9 && make && make install" -p /app/vendor/cmake-2.8.9

# the following uses the dependency url generated from the above command

bundle exec vulcan build -v -s ./taglib-1.8 -c "cmake -DCMAKE_INSTALL_PREFIX='/app/vendor/taglib-1.8'  -DCMAKE_BUILD_TYPE=None -Wno-dev && make && make install" -p /app/vendor/taglib-1.8 -d

It would be awesome if @ddollar did a point release on the gem and closed this issue.

@kalin what is "./bootstrap" in bundle exec vulcan build -v -s ./cmake-2.8.9 -c "./bootstrap --prefix=/app/vendor/cmake-2.8.9 && make && make install" -p /app/vendor/cmake-2.8.9? Secondly, I should be in my rails app directory right?

kalin commented Nov 21, 2012

bootstrap is the script that cmake uses to as an alternative to "configure" which is what you see 99% of projects using. See the documentation on how to build cmake:

And you shouldn't be in your rails directory. Just be in whatever directory you unpacked cmake into. I'm honestly not sure why I ran 'bundle exec' looking at it this morning. With the current cmake version, you would do it like this:

cd /tmp
tar xzf cmake- 
vulcan build -v -s ./cmake- -c "./bootstrap --prefix=/app/vendor/cmake- && make && make install" -p /app/vendor/cmake-

Then use the resulting cmake url as a dependency when building taglib as above.

coolbox commented Dec 1, 2012

I've spent the day trying to get cmake built. Following the above i get the following back from my build server:

CMake, Copyright 2000-2012 Kitware, Inc.
Found GNU toolchain
C compiler on this system is: gcc 
C++ compiler on this system is: g++ 
Error when bootstrapping CMake:
Cannot find appropriate Makefile processor on this system.
Please specify one using environment variable MAKE.
Log of errors: /app/cmake-

Has anyone else had this error?


wuputah commented Dec 12, 2012

According to @kalin, this is fixed in ee00a5b, which would be in the latest release. Given his success, there doesn't appear to be any existing issues with Vulcan here.

@wuputah wuputah closed this Dec 12, 2012

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.