I need to run the virtual frame server Xvfb on Heroku. We need this to fake a display on a server that doesn't have one, as the Java Applet class relies on a display.
To run an arbitrary binary on Heroku, the binary need to be compiled as a static linked binary, with all the dependencies bundled with the binary. This is because we can't just run apt-get on Heroku, like on any other normal server.
I've tried to compile as a static binary via Vulcan (https://github.com/heroku/vulcan), but the binary still ends up as a dynamic linked binary that relies on dependencies installed on the OS.
I've tried to compile it on a local Linux like explained here: http://bindle.me/blog/index.php/405/running-binaries-on-heroku But it still ends up as a dynamic linked binary.
This is my question on Stackoverflow: http://stackoverflow.com/questions/14845291/compile-static-linked-binary-of-xvfb
I'd be open to other suggestions, like using another fake display server, or use a fake implementation of Java AWT (which I've stumbled upon a few times). Whatever gets Processing to think there's a display on a server that doesn't have it.
This is the app I want to make work: https://github.com/runemadsen/processing-sinatra
If you install virtual box and vagrant, you can see it working on a local Linux.
@runemadsen those errors are from pkg-config telling you it can't find the *.pc files. You can tell it where to look with PKG_CONFIG_PATH, but it probably won't help as the paths inside them won't match the directory structure you're unpacking them into. .debs are unfortunately not designed to be relocatable.