I’m having problems with this program bringing my system down and the sound not working properly, and while it is kind of neat I think I have had enough of it, and I am on maybe my third draft of this response because I keep trying to test what I’m talking about and it keeps not quitting properly, forcing a hard reboot (can’t get at a terminal with CTRL-ALT-F2, can’t kill X with a double CTRL-ALT-BKSP, can’t soft reboot with the three finger salute).
But I know what you are doing wrong. The files that you can’t link to are included in the tarball in the “lib32” directory. If you have moved stuff around, consider just unpacking again. Here’s my advice:
Short version:
Leave the tarball as you find it unpacked, and however you are launching the program, the working directory has to be the base root of the tarball.
i.e.
#!/bin/bash
CRAYON_DIR=[insert crayon directory here]
cd CRAYON_DIR
crayon #there's a launcher program in there too that might be better, as I said writing and
#testing this post has already caused a lot of hard reboots, so just consider
#this all psuedocode.
note that the launcher created with the “install_shortcuts.sh” file crashed my system.
Longer Version:
Or more precisely, the working directory has to be the directory above the “lib32” directory of the installation tarball. If you are being, umm, shall we call it, “standards compliant”, i.e. trying to get the data in /usr/local/share/crayon, the libs in /usr/local/libs/ and the executable in /usr/local/bin, I don’t know how you can get that done without disassembling and relinking, and that might not be legal I don’t know, and it would be tricky anyway. You could try to just stick the libraries from the tarball into /usr/share/lib and hope for the best though, but if it’s just a single user system that seems like overkill. Even in multiuser I would just stick it in /opt/ and be done with it I think, throwing a shellscript launcher into a bin directory for it if I wanted it in the path. Mine is sitting in my home directory, actually off of the Download directory, and I think I’m done with it anyway so I’ll probably delete it soon.
I also think I know what is going on here. I think the whole issue stems from the choice of the crayon dev to use the trick of passing relative pathnames to the linker (ld) (i.e., “-l./lib32/tiff”) during the build process. The real point of the trick is a legal one: that if you have an LGPL’d library, you can distribute it as long as you want, but you have to dynamically link to it, because if you link statically you have to GPL your code. There are technical reasons for doing this also, but I haven’t heard a convincing one. Notably, if there is a security update for one of the libraries, there is no way to alert the user of your program that he needs to update it, and anyway, I am not sure that this method of distribution inspires confidence that it will be kept updated for any substantial period of time. Anyhow, the linker looks in “./lib32/” for the libraries first, and I’m not so sure I know what it does if it doesn’t find them, but I guess it might pick them up from sonewhere else since you stated that putting in a link at libtiff.so worked.
Conclusion:
Ok, my rant is over. The sound didn’t work for me in any event, it crashed my system twice, and it’s just a physics puzzler. So I think I’m just going to delete it. But I do hope I cleared up your immediate problem.