Updated version of FAQ_Solaris - Mailing list pgsql-hackers
From | Zdenek Kotala |
---|---|
Subject | Updated version of FAQ_Solaris |
Date | |
Msg-id | 4523FBBE.1030306@sun.com Whole thread Raw |
Responses |
Re: Updated version of FAQ_Solaris
Re: Updated version of FAQ_Solaris |
List | pgsql-hackers |
I updated FAQ_Solaris. I added new information related to Solaris 10, rewrote optimalization hints and add information about dtrace. I talked with Peter about "Current maintainer" role, and he said that this information says anything and should be deleted. Please, let me know your comments Zdenek *** pgsql-061004/doc/FAQ_Solaris Tue Oct 3 01:01:17 2006 --- pgsql-060829/doc/FAQ_Solaris Wed Oct 4 20:11:35 2006 *************** *** 3,13 **** Sun Solaris specific to be read in conjunction with the installation instructions ============================================================ ! last updated: $Date: 2006/10/02 23:01:17 $ - current maintainer: Peter Eisentraut <peter_e@gmx.net> - Contents: 1) What tools do I need to build and install PostgreSQL on Solaris? --- 3,11 ---- Sun Solaris specific to be read in conjunction with the installation instructions ============================================================ ! last updated: $Date: 2003/10/09 17:11:13 $ Contents: 1) What tools do I need to build and install PostgreSQL on Solaris? *************** *** 15,20 **** --- 13,22 ---- 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? 1) What tools do I need to build and install PostgreSQL on Solaris? *************** *** 23,40 **** - GNU zip (for installing the documentation) - GNU make - GNU readline library (optional) ! - GCC (if you don't have Sun's compiler) ! If you like Solaris packages, you can find these tools here: ! http://www.sunfreeware.com If you prefer sources, look here: http://www.gnu.org/order/ftp.html ! You can build with either GCC or Sun's compiler suite. 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? --- 25,51 ---- - GNU zip (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. + + If you like packages for older version of Solaris, you can find these + tools here: + http://www.sunfreeware.com or http://www.blastwave.org + 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. 2) Why do I get problems when building with OpenSSL support? *************** *** 53,67 **** Upgrading your OpenSSL installation to version 0.9.6a fixes this problem. 3) Why does configure complain about a failed test program? This is probably a case of the run-time linker being unable to find ! 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., ! LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib export LD_LIBRARY_PATH and restart configure. You will also have to keep this setting --- 64,80 ---- Upgrading your OpenSSL installation to version 0.9.6a fixes this problem. + Solaris 9 and above already 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., ! LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib export LD_LIBRARY_PATH and restart configure. You will also have to keep this setting *************** *** 88,90 **** --- 101,177 ---- 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. + + + 6) How to compile PostgreSQL with Sun Studio? + + On Solaris 10 you can performed following steps: + + export CC=/opt/SUNWspro/bin/cc + export CFLAGS=-xO5 + export LDFLAGS=-lm + ./configure --without-readline + gmake + + + 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? + + 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. + + + 9) 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. + + 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' + + + If you have some problem with postgres linking, looks like: + + Undefined first referenced + symbol in file + AbortTransaction utils/probes.o + CommitTransaction utils/probes.o + 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 + +
pgsql-hackers by date: