Actually, not much troubleshooting can be done when compiling static or
dynamic modules. The only problem that could arise is that the compiler will
complain about missing definitions or something similar. In this case, make sure that all
header files are available and that you specified their path correctly in the
compilation command. To be sure that everything is located correctly,
extract a clean PHP source tree and use the automatic build in the
ext directory with the fresh files from the CD-ROM; this
will guarantee a safe compilation environment. If this fails, try manual
compilation.
PHP might also complain about missing functions in your
module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external
functions you're trying to access from your module are misspelled, they'll remain as
"unlinked symbols" in the symbol table. During dynamic loading and linkage by
PHP, they won't resolve because of the typing errors - there are no
corresponding symbols in the main binary. Look for incorrect declarations in
your module file or incorrectly written external references. Note that this
problem is specific to dynamic loadable modules; it doesn't occur with static
modules. Errors in static modules show up at compile time.