Search Postgresql Archives

Re: Postgres 8.2.5 compilation problem on OpenSolaris/Solaris

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Oct 11, 2007, at 2:30 PM, Dot Yet wrote:

Hi everyone,

I am trying to get the postgresql 8.2.5 version working on my opensolaris nv 73 server.

The configuration information is as follows:

SunOS db03nge0 5.11 snv_73 i86pc i386 i86pc
$ isainfo -v
64-bit amd64 applications
ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc
        cx8 tsc fpu
32-bit i386 applications
ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc
        cx8 tsc fpu
GNU Make 3.81 - compiled from source
OpenSSL 0.9.8d 28 Sep 2006 - compiled from source
readline-5.2 - library compiled from source
Sun Studio compiler: Sun C 5.9 SunOS_i386 2007/05/03
postgresql-8.2.5 source tar.gz

I have compiled the openssl, readline and gnumake in 64 bit mode. The options which I used while compiling them were
"-m64 -KPIC -xmodel=medium"


The options which I am using to configure the makefile are:

./configure --prefix=/usr/local --with-perl --with-openssl --with- libraries=/usr/local/lib --with-includes=/usr/local/include -- libdir=/usr/local/lib --includedir=/usr/local/include --enable- integer-datetimes CFLAGS="-m64 -KPIC -xmodel=medium"

The configure process does not report any errors. The make process also works fine. I do see the following message:

All of PostgreSQL successfully made. Ready to install.

Now, when I try to run "make check", I get the following "Segmentation Fault" error.

mkdir ./testtablespace
./pg_regress --temp-install=./tmp_check --top-builddir=../../.. -- temp-port=55432 --schedule=./parallel_schedule -- multibyte=SQL_ASCII --load-language=plpgsql
============== creating temporary installation        ==============
============== initializing database system           ==============

pg_regress: initdb failed
Examine ./log/initdb.log for the reason.
Command was: "/export/home/tualha/d1/postgresql-8.2.5/src/test/ regress/./tmp_check/install//usr/local/bin/initdb" -D "/export/home/ tualha/d1/postgresql- 8.2.5/src/test/regress/./tmp_check/data" -L "/ export/home/tualha/d1/postgresql-8.2.5/src/test/regress/./tmp_check/ install//usr/local/share/postgresql" --noclean > "./log/initdb.log" 2>&1
make[2]: *** [check] Error 2
make[2]: Leaving directory `/export/home/tualha/d1/postgresql-8.2.5/ src/test/regress'
make[1]: *** [check] Error 2
make[1]: Leaving directory `/export/home/tualha/d1/postgresql- 8.2.5/src/test'
make: *** [check] Error 2
$ cat src/test/regress/log/initdb.log
Running in noclean mode.  Mistakes will not be cleaned up.
The files belonging to this database system will be owned by user "tualha".
This user must also own the server process.

The database cluster will be initialized with locale C.

creating directory /export/home/tualha/d1/postgresql-8.2.5/src/test/ regress/./tmp_check/data ... ok
creating subdirectories ... ok
selecting default max_connections ... Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
10
selecting default shared_buffers/max_fsm_pages ... Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Segmentation Fault - core dumped
400kB/20000
creating configuration files ... ok
creating template1 database in /export/home/tualha/d1/ postgresql-8.2.5/src/test/regress/./tmp_check/data/base/1 ... Segmentation Fault - core dumped
child process exited with exit code 139
initdb: data directory "/export/home/tualha/d1/postgresql-8.2.5/src/ test/regress/./tmp_check/data" not removed at user's request
$

I wonder if anyone can give any suggestions to deal with it. BTW, I have also tried to compile it on Solaris 10 u3, but it still fails at the same point.

Any help would be much appreciated.

It looks like initdb is having problem allocating shared memory. How much memory do you have on the system? Are there any user or group project memory settings that may be causing this? Those are stored in /etc/project. Also, you may want to give it a shot with gcc.

Also, what hardware architecture is this? I've done a little research on your compiler flags and seen that -KPIC and -Kpic flags are obsolete on SPARC hardware and, if your on x86 hardware, it would seem that they aren't doing what you think. Here's what I found on them:

-KPIC -- (x86) -KPIC is identical to -Kpic.
-Kpic -- (x86) Generate position-independent code for use in shared libraries (small model). Permits references to, at most, 2**11 unique external symbols.

So, with x86 architectures, -KPIC only works with the small model whereas you've defined the medium model. My bet is that you need to do away with the -KPIC flag.

Erik Jones

Software Developer | Emma®
erik@xxxxxxxxxx
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org/


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux