This would primarily be useful to cross-compile for some other
macOS version. There is no guarantee that the resulting executables
will run on the current host.
</para>
<para>
To suppress the <option>-isysroot</option> options altogether, use
<programlisting>
./configure ... PG_SYSROOT=none
</programlisting>
(any nonexistent pathname will work). This might be useful if you wish
to build with a non-Apple compiler, but beware that that case is not
tested or supported by the PostgreSQL developers.
</para>
<para>
<productname>macOS</productname>'s <quote>System Integrity
Protection</quote> (SIP) feature breaks <literal>make check</literal>,
because it prevents passing the needed setting
of <literal>DYLD_LIBRARY_PATH</literal> down to the executables being
tested. You can work around that by doing <literal>make
install</literal> before <literal>make check</literal>.
Most PostgreSQL developers just turn off SIP, though.
</para>
</sect2>
<sect2 id="installation-notes-mingw">
<title>MinGW</title>
<indexterm zone="installation-notes-mingw">
<primary>MinGW</primary>
<secondary>installation on</secondary>
</indexterm>
<para>
PostgreSQL for Windows can be built using MinGW, a Unix-like build
environment for Windows. It is recommended to use the <ulink
url="https://www.msys2.org/">MSYS2</ulink> environment for this and also
to install any prerequisite packages.
</para>
<sect3 id="mingw-crash-dumps">
<title>Collecting Crash Dumps</title>
<para>
If PostgreSQL on Windows crashes, it has the ability to generate
<productname>minidumps</productname> that can be used to track down the cause
for the crash, similar to core dumps on Unix. These dumps can be
read using the <productname>Windows Debugger Tools</productname> or using
<productname>Visual Studio</productname>. To enable the generation of dumps
on Windows, create a subdirectory named <filename>crashdumps</filename>
inside the cluster data directory. The dumps will then be written
into this directory with a unique name based on the identifier of
the crashing process and the current time of the crash.
</para>
</sect3>
</sect2>
<sect2 id="installation-notes-solaris">
<title>Solaris</title>
<indexterm zone="installation-notes-solaris">
<primary>Solaris</primary>
<secondary>installation on</secondary>
</indexterm>
<para>
PostgreSQL is well-supported on Solaris. The more up to date your
operating system, the fewer issues you will experience.
</para>
<sect3 id="installation-notes-solaris-req-tools">
<title>Required Tools</title>
<para>
You can build with either GCC or Sun's compiler suite. For
better code optimization, Sun's compiler is strongly recommended
on the SPARC architecture. If
you are using Sun's compiler, be careful not to select
<filename>/usr/ucb/cc</filename>;
use <filename>/opt/SUNWspro/bin/cc</filename>.
</para>
<para>
You can download Sun Studio
from <ulink url="https://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/"></ulink>.
Many GNU tools are integrated into Solaris 10, or they are
present on the Solaris companion CD. If you need packages for
older versions of Solaris, you can find these tools
at <ulink url="http://www.sunfreeware.com"></ulink>.
If you prefer
sources, look
at <ulink url="https://www.gnu.org/prep/ftp"></ulink>.
</para>
</sect3>
<sect3 id="installation-notes-solaris-configure-complains">
<title>configure Complains About a Failed Test Program</title>
<para>
If <command>configure</command> complains about a failed test
program, this is probably a case of the run-time linker being
unable to find some library, probably libz, libreadline or some
other non-standard library such as libssl.