From 4e46f4799ea997cbf7ae136c23483dbd95124e30 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 10 Oct 2006 22:19:08 +0000 Subject: [PATCH] Cleanup pass --- doc/FAQ_Solaris | 119 ++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 64 deletions(-) diff --git a/doc/FAQ_Solaris b/doc/FAQ_Solaris index 6a6e640928..dd392cc9a7 100644 --- a/doc/FAQ_Solaris +++ b/doc/FAQ_Solaris @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL Sun Solaris specific To be read in conjunction with the installation instructions. ============================================================ -Last updated: $Date: 2006/10/05 03:13:15 $ +Last updated: $Date: 2006/10/10 22:19:08 $ Contents: @@ -13,25 +13,25 @@ Contents: 3) Why does configure complain about a failed test program? 4) Why does my 64-bit build sometimes crash? 5) How can I compile for optimum performance? -6) How to compile PostgreSQL with Sun Studio? -7) Where I can download prepared Solaris packages? -8) How to tune PostgreSQL and Solaris for best performance? -9) Can I use dtrace for tracing PostgreSQL? +6) Where I can download prepared Solaris packages? +7) How can I tune PostgreSQL and Solaris for performance? +8) Can I use DTrace for tracing PostgreSQL? + 1) What tools do I need to build and install PostgreSQL on Solaris? You will need - GNU zip (for installing the documentation) - GNU make - GNU readline library (optional) - Sun Studio CC or GCC + gzip (for installing the documentation) + GNU Make + GNU Readline library (optional) + Sun Studio CC or GCC You can download Sun Studio from: http://developers.sun.com/prodtech/cc/downloads/index.jsp -Many of GNU tools are integrated into the Solaris 10 or they are -present on the Solaris companion CD. +Many of GNU tools are integrated into Solaris 10, or they are present +on the Solaris companion CD. If you like packages for older version of Solaris, you can find these tools here: @@ -42,11 +42,12 @@ If you prefer sources, look here: http://www.gnu.org/order/ftp.html -You can build with either GCC or Sun's compiler suite. For better code -optimalization Sun's compiler is strongly recommended on the SPARC -architecture. We have heard reports of problems when using gcc 2.95.1; -gcc 2.95.3 or later is recommended. If you are using Sun's compiler, be -careful *not* to select /usr/ucb/cc; use /opt/SUNWspro/bin/cc. +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. We have heard reports of problems when using GCC +2.95.1; gcc 2.95.3 or later is recommended. If you are using Sun's +compiler, be careful not to select /usr/ucb/cc; use +/opt/SUNWspro/bin/cc. 2) Why do I get problems when building with OpenSSL support? @@ -63,15 +64,15 @@ This is because of a namespace conflict between the standard /usr/include/crypt.h header and the header files provided by OpenSSL. Upgrading your OpenSSL installation to version 0.9.6a fixes this -problem. Solaris 9 and above already newer version of OpenSSL. +problem. Solaris 9 and above has a newer version of OpenSSL. 3) Why does configure complain about a failed test program? -This is probably a case of the run-time linker being unable to find some -library. On solaris 8 and older it should be libz or some other -non-standard library, such as libssl. To point it to the right -location, set the LD_LIBRARY_PATH environment variable, e.g., +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. To point it to the right location, set the +LD_LIBRARY_PATH environment variable, e.g., LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib export LD_LIBRARY_PATH @@ -104,68 +105,58 @@ does not matter.) Then build as usual. -5) How can I compile for optimum performance? - -On SPARC architecture Sun Studio is strongly recommended for -compilation. Try using -xO5 optimalization flag to generate -significantly faster binaries. Do not use any flags which modify -behavior of floating point operations and errno processing (e.g. --fast). These flags should raise some nonstandard PostgreSQL behavior -for example in the date/time computing. - -If you do not reason to use 64-bit binaries on SPARC, prefer 32-bit -version. The 64-bit operations are slower and 64-bit binaries are slower -then 32-bits. And on other side a 32-bit code on the AMD64 CPU family is -not native and that is why 32-bit code is significant slower on this -CPU family. +5) How can I compile for optimal performance? +On the SPARC architecture, Sun Studio is strongly recommended for +compilation. Try using the -xO5 optimization flag to generate +significantly faster binaries. Do not use any flags that modify +behavior of floating point operations and errno processing (e.g., +-fast). These flags could raise some nonstandard PostgreSQL behavior +for example in the date/time computing. -6) How to compile PostgreSQL with Sun Studio? +If you do not have a reason to use 64-bit binaries on SPARC, prefer +the 32-bit version. The 64-bit operations are slower and 64-bit +binaries are slower than the 32-bit variants. And on other hand, +32-bit code on the AMD64 CPU family is not native, and that is why +32-bit code is significant slower on this CPU family. -On Solaris 10 you can performed following steps: - export CC=/opt/SUNWspro/bin/cc - export CFLAGS=-xO5 - export LDFLAGS=-lm - ./configure --without-readline - gmake +6) Where I can download prepared Solaris packages? +The PostgreSQL is bundled with Solaris 10 (from update 2). Official +packages are also available on +. Packages for older +Solaris version (8, 9) you can be obtained from + or . -7) Where I can download prepared Solaris packages? -The PostgreSQL is bundled with Solaris 10 (from update 2). Official -packages are too available on -http://pgfoundry.org/projects/solarispackages/. Packages for older -Solaris version (8,9) you can download from: http://www.sunfreeware.com -or http://www.blastwave.org - - -8) How to tune PostgreSQL and Solaris for best performance? +7) How can I tune PostgreSQL and Solaris for performance? Some tuning tricks can be found here: http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp -This article is primary focused on T2000 platform, however, many of -recommendations are general for other hardware with Solaris. +This article is primary focused on T2000 platform, but many of the +recommendations are also useful on other hardware with Solaris. -9) Can I use dtrace for tracing PostgreSQL? +8) Can I use DTrace for tracing PostgreSQL? -The PostgreSQL 8.2 has implemented dtrace support. You can enable it by -the --enable-dtrace configure switch. If you want to compile a 64-bit -code with dtrace you must specify DTRACEFLAGS='-64', e.g. +PostgreSQL 8.2 has implemented DTrace support. You can enable it by +the --enable-dtrace configure switch. If you want to build 64-bit +binaries with DTrace you must specify DTRACEFLAGS='-64', e.g., -Using gcc compiler: +Using GCC compiler: $ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ... Using Sun compiler: - $ configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' + $ ./configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' -If you have some problem with postgres linking, looks like: +If you see the linking of the postgres executable abort with an error +message like Undefined first referenced symbol in file @@ -174,10 +165,10 @@ If you have some problem with postgres linking, looks like: ld: fatal: Symbol referencing errors. No output written to postgres collect2: ld returned 1 exit status gmake: *** [postgres] Error 1 - -check if you have Solaris 10u3 or newer installed on your box. You can -also find more information here: - http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in +your DTrace installation is too old to handle probes in static +functions. You need Solaris 10u3 or newer. +You can also find more information here: + http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in -- 2.40.0