Building from source on Unix/Linux platforms sometimes requires a basic knowledge of C/C++ development if you run into problems with the build. When things work, you can pretend it's plug and play, but if they don't work, you're going to need some skills to debug the problem.

On some occasions, there may be a bug in the software, particularly if you're trying to do a build on a platform or OS version that hasn't been tried yet. Usually this shows up as an error during the make step, and you can file bug reports for those.

More often, though, the problem is with your environment or sometimes a problem with the scripts that build the software. Not every situation can be foreseen or worked around, so the scripts may need help in the form of options, or actual changes to handle the environment. Usually these kinds of problems show up as errors during the configure step.

When this happens, the output of configure is not going to point to anything specific. You need to use the contents of config.log to examine what part of the setup process failed and what the specific test output is. Usually this will be a compiler or linker error, which is where the basic development skills come in.

Library Load Problems

If the problem turns out to be an inability to locate or load the necessary libraries when running a test program, you may have a path issue. Sometimes, particularly on non-Linux systems, you'll have to set a LD_LIBRARY_PATH (or similar) variable to allow the link tests to succeed, just as you will often need to set the variable at runtime when using the software.

If packages are not installed in the default system defined locations then you can often specify the location of those packages to the configure command. For example, to specify the location of Xerces-C library when configuring XML-security :

./configure --without-xalan --disable-static --prefix=/opt/shibboleth-sp --with-xerces=/opt/shibboleth-sp