Thread: Irix 6.2, Postgres 7.3.1, some brokenness

Irix 6.2, Postgres 7.3.1, some brokenness

From
alex avriette
Date:
I've got a 6-way SGI Challenge L with R4400/200 cpu's in it, and a gig 
of interleaved ram. I am running postgres 7.3.1, which I compiled 
64-bit with MIPSPro. The database is living on an ultrawide scsi raid. 
I am also running postgres on a 2-cpu (85mhz) Sparc 20 with 384mb of 
ram, and the database lives on a 10krpm single narrow disk.

I'm finding that the Sparc 20 is about twice as fast as the Challenge. 
Postgres on the '20 was compiled 32-bit (of course) with gcc 3.2.

When I am testing the machines, I have run tests with 1 db handle, with 
2 db handles, and with 2 vs 6 handles. Consistently, the 20 is faster 
than the Challenge. I suspect something is going wrong here on mips.

I have tried, without any luck, to get postgres compiled with gcc 3.2 
(from freeware.sgi.com). It keeps adding '-r' when its linking, even 
when LDFLAGS is unset, LD is 'gcc' and CC is 'gcc'. I could do the 
linking manually, but this is not really a viable option for a release.

Additionally, postgres does *not* trap divide-by-zero errors, as 
Solaris and Linux do. 'select 1/0' causes the backend to crash.

elvis=# select 1/0;
server closed the connection unexpectedly        This probably means the server terminated abnormally        before or
whileprocessing the request.
 
The connection to the server was lost. Attempting reset: WARNING:  
Message from PostgreSQL backend:        The Postmaster has informed me that some other backend        died abnormally
andpossibly corrupted shared memory.        I have rolled back the current transaction and am        going to terminate
yourdatabase system connection and exit.        Please reconnect to the database system and repeat your query.
 
Failed.
!#

Justin tells me there is a release imminent, and that I should mention 
this ASAP. Neil suggested I try with gcc, but as I said, I've been 
unable to get it to compile with gcc.

Also, I understand (but can confirm on monday) that Oracle has dropped 
support for Irix entirely. This would make postgres the *only* database 
for SGI MIPS, and I'd really like to see it better supported. SGI 
machines are awesome for database servers.

Anyone needing a shell on the machine can feel free to ask.

Alex

--
alex avriette
$^X is my programming language of choice.
alex@posixnap.net



Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
alex avriette
Date:
> I have tried, without any luck, to get postgres compiled with gcc 3.2 
> (from freeware.sgi.com). It keeps adding '-r' when its linking, even 
> when LDFLAGS is unset, LD is 'gcc' and CC is 'gcc'. I could do the 
> linking manually, but this is not really a viable option for a > 
> release.

Looking at this more, I see this:

[goro:~/postgresql-7.3.1/src] alex% grep LD Makefile* | grep -- '-r'
Makefile.global:LDREL = -r

Can we just not append LDREL to LD if we're on Irix?


alex

--
alex avriette
$^X is my programming language of choice.
alex@posixnap.net



Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
Tom Lane
Date:
alex avriette <alex@posixnap.net> writes:
> I've got a 6-way SGI Challenge L with R4400/200 cpu's in it, and a gig 
> of interleaved ram. I am running postgres 7.3.1, which I compiled 
> 64-bit with MIPSPro.

> I'm finding that the Sparc 20 is about twice as fast as the Challenge. 

I'm betting that Postgres doesn't think there's any TAS support on the
MIPS machine.  This may actually be true depending on what model of
MIPS it is --- IIRC, there were no userland synchronization instructions
in MIPS-1.  If it's MIPS-2 architecture, then the problem is we don't
know what to test for.

> Additionally, postgres does *not* trap divide-by-zero errors, as 
> Solaris and Linux do. 'select 1/0' causes the backend to crash.

What's the signal you're getting?
        regards, tom lane


Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
alex avriette
Date:
When compiled with gcc, it does trap divide by zero.

Alex



Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
alex avriette
Date:
Disregard previous. Using /bin/ld (with LDREL = -r) works fine as a 
linker. Call it force of habit.

Is it worth warning the user that you cannot use gcc as ld on Irix? I 
used it because I figured I would need gnu ld (which I of course didn't 
have).

Anyhow, 7.3.1 is successfully built.


Alex


--
alex avriette
$^X is my programming language of choice.
alex@posixnap.net



Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
Peter Eisentraut
Date:
alex avriette writes:

> Is it worth warning the user that you cannot use gcc as ld on Irix?

You cannot use gcc as ld on any system.

-- 
Peter Eisentraut   peter_e@gmx.net



Re: Irix 6.2, Postgres 7.3.1, some brokenness

From
Kevin Brown
Date:
Peter Eisentraut wrote:
> alex avriette writes:
> 
> > Is it worth warning the user that you cannot use gcc as ld on Irix?
> 
> You cannot use gcc as ld on any system.

Erm, perhaps not, but you can use it as the link step (both to
generate executables and to generate shared objects) on many systems.

Perhaps that's what he meant?


-- 
Kevin Brown                          kevin@sysexperts.com