GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
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?
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.
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
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.
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 http://buildserver-gbb.herokuapp.com/output/41e78290-3960-4158-9d3c-f06bc2447cad
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?
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:
tar xzf cmake-126.96.36.199.tar.gz
vulcan build -v -s ./cmake-188.8.131.52 -c "./bootstrap --prefix=/app/vendor/cmake-184.108.40.206 && make && make install" -p /app/vendor/cmake-220.127.116.11
Then use the resulting cmake url as a dependency when building taglib as above.
I've spent the day trying to get cmake built. Following the above i get the following back from my build server:
CMake 18.104.22.168, 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-22.214.171.124/Bootstrap.cmk/cmake_bootstrap.log
Has anyone else had this error?
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.