If you run into problems, check the various README files for information about your build. Frequently, they contain information about problems you might run into. Certainly, if there is a README file specific to your platform, be sure to read it. Some possible problems are mentioned below. Exact messages vary depending on your platform and compiler, so the following are general errors similar to what you might see when building Postfix.
C.6.1 Compile Time
No such file or directory
Make sure that the path to your compiler is correct. If you specified a compiler by setting CC when building your Makefile (for example, make makefiles CC="/path"), double-check the path you typed. If the path to your compiler came from the Postfix makedefs file, you might need to override it with:
$ make makefiles CC="/path/to/your/compiler"
Another possibility is to have Postfix call your compiler without a path, assuming its directory is in your environment path:
$ make makefiles CC="cc"
Could not open source file
Make sure that the path to your include files is correct. The include files are normally stored in /usr/include. If your system uses a different path for some reason, you will have to specify it with the -I option set in CCARGS:
$ make makefiles CCARGS="-I/path/to/include"
If you already specified a path with -I double-check your typing.
Unresolved (or undefined) symbol
Make sure that the library paths you specified with the -L option are correct and that you have specified the libraries themselves correctly with the -l option.
Warnings from header files
If you see errors associated with a header file like mail_conf.h, you may not be using an ANSI C compiler. Nearly all platforms ship with a compiler that is used to reconfigure the kernel, but they do not all include an ANSI C compiler that you can use for development. You may have to contact your vendor to get an ANSI C compiler if you want to build Postfix. Also, the GNU gcc compiler works on nearly all platforms and is available as open source software. If you are using the compiler for HP-UX, you must use the -Ae flag to compile in ANSI mode. Include it in your CCARGS variable:
$ make makefiles CCARGS="-Ae"
Don't know how to
You have probably lost your Makefile or never had one. You can easily create your Makefile by executing the command:
$ make -f Makefile.init makefiles
After that completes, try your build again.
C.6.2 Runtime
Error in loading shared libraries
Make sure that you specified either the -rpath or -R option when you built Postfix and that the paths specified are correct. Be sure that you are using the correct option for your platform. You may have to check the manpage for ld(1) to be sure.
Introduction
Prerequisites
Postfix Architecture
General Configuration and Administration
Queue Management
Email and DNS
Local Delivery and POP/IMAP
Hosting Multiple Domains
Mail Relaying
Mailing Lists
Blocking Unsolicited Bulk Email
SASL Authentication
Transport Layer Security
Content Filtering
External Databases
Appendix A. Configuration Parameters
Appendix B. Postfix Commands
Appendix C. Compiling and Installing Postfix
Appendix D. Frequently Asked Questions