Mailing List Archive

IRIX6 experience
Hello,

I have just compiled openssh version 2.1.0p2 n irix 6.5.5 an encounterd
the following 'problem'.
On IRIX there are 3 abi's (Application Binary Interface).

o32) The old 32-bit ABI which was standard on IRIX 5 systems
n64) The 64-bit ABI
n32) The new high performance 32-bit ABI


On IRIX the libraries are installed as follows:
/usr/lib) For the o32 libraries
/usr/lib32) For the n32 libraries (is usual the default)
/usr/lib64) For the 64 libraries


With this as background many people install the libraries for IRIX in
/usr/local as follows:
/usr/local/lib
/usr/local/lib32
/usr/local/lib64

I encounterd the following problems:
-) The LDFLAGS was wrong for my system, must be /usr/local/lib32

-) --with-ssl-dir=/usr/local/ssl doesn't find ssl because the
libraries are
in /usr/local/ssl/lib32 instead of /usr/local/ssl/lib.


This was my experience with compiling the openssh software. I used
the native CC-compiler
from SGI.

Regards

--
********************************************************************
* *
* Bas van der Vlies e-mail: basv@sara.nl *
* SARA - Academic Computing Services phone: +31 20 592 8012 *
* Kruislaan 415 fax: +31 20 6683167 *
* 1098 SJ Amsterdam *
* *
********************************************************************
Re: IRIX6 experience [ In reply to ]
On Fri, 26 May 2000, Bas van der Vlies wrote:

> Hello,
>
> I have just compiled openssh version 2.1.0p2 n irix 6.5.5 an
> encounterd the following 'problem'. On IRIX there are 3 abi's
> (Application Binary Interface).

A couple of questions:

How does one tell which is in use?

What CFLAGS need to be present to select an ABI? (-32/-64?)

I presume that you cannot link an o32 binary against a n32, etc.

-d

--
| "Bombay is 250ms from New York in the new world order" - Alan Cox
| Damien Miller - http://www.mindrot.org/
| Email: djm@mindrot.org (home) -or- djm@ibs.com.au (work)
Re: IRIX6 experience [ In reply to ]
On Sat, 27 May 2000, Damien Miller wrote:

> A couple of questions:
>
> How does one tell which is in use?

As I understand it, all three are available at any time. I'm not sure,
though, since the code *I* write on SGI's is generally Java.

> What CFLAGS need to be present to select an ABI? (-32/-64?)

-o32 or -32, -n32, and -64. o32 is probably the right one to use for
binaries distributed from an FTP site.

> I presume that you cannot link an o32 binary against a n32, etc.

From abi(5) on an IRIX system:

IRIX supports three ABIs:

o32 The old 32-bit ABI which was standard on IRIX 5 systems.

n64 The 64-bit ABI which was introduced on IRIX 6.0 systems.

n32 The new high performance 32-bit ABI which was introduced on IRIX
6.2.

Each of these ABIs defines unique interfaces which make it impossible
to link object files of one ABI with object files of another ABI.

The man page is a little out of date, since it refers to the R8000 as the
only processor that supports 64-bit ABI (and specifically, mips3 and 4
arch's). -o32 seems to support more, since on the O2 I'm screwing around
with this on, -32 and -n32 produce code it can run, but -64 produces code it
can't run. I'm not sure if there's extra work that I need to be doing,
though.

Matthew Weigel
Programmer/Sysadmin/Student
weigel+@pitt.edu
Re: IRIX6 experience [ In reply to ]
> -o32 or -32, -n32, and -64. o32 is probably the right one to use for
> binaries distributed from an FTP site.

I wasn't going to reply until tomorrow because I'm dead tired, but I
wanted to nip this in the bud...*all* versions of Irix since 6.2, and
possibly earlier, use n32 as the default ABI. o32 is deprecated and will
cause all manner of breakage because any locally compiled shared libraries
will probably be in n32 format.

The entire ssh config process has problems on Irix because it tries to
second guess the default library search path -- that is, it will
explicitly look for libraries in /usr/lib that are in fact in
/usr/lib32; I've seen folks with this problem post to the list in the
past.

The safest course of action is to not worry about specifying the
ABI. If a local installation has to support a deprecated binary format
they will have set up the appropriate compiler defaults.

-- Lars

--
Lars Kellogg-Stedman <lars@larsshack.org> --> http://www.larsshack.org/
Re: IRIX6 experience [ In reply to ]
On Fri, 26 May 2000, Lars Kellogg-Stedman wrote:

> > -o32 or -32, -n32, and -64. o32 is probably the right one to use for
> > binaries distributed from an FTP site.
>
> I wasn't going to reply until tomorrow because I'm dead tired, but I
> wanted to nip this in the bud...*all* versions of Irix since 6.2, and
> possibly earlier, use n32 as the default ABI.

And some people still use pre-6.2 Irix.

> o32 is deprecated and will
> cause all manner of breakage because any locally compiled shared libraries
> will probably be in n32 format.
>
> The entire ssh config process has problems on Irix because it tries to
> second guess the default library search path -- that is, it will
> explicitly look for libraries in /usr/lib that are in fact in
> /usr/lib32; I've seen folks with this problem post to the list in the
> past.
>
> The safest course of action is to not worry about specifying the
> ABI. If a local installation has to support a deprecated binary format
> they will have set up the appropriate compiler defaults.

Ah, so no binary packages?

Matthew Weigel
Programmer/Sysadmin/Student
weigel+@pitt.edu
Re: IRIX6 experience [ In reply to ]
>

In /etc/compiler.defaults tells which abi is the default one, eg:
my machine:
more /etc/compiler.defaults
-DEFAULT:abi=n32:isa=mips4:proc=r10k


Just an hint.


Regards


********************************************************************
* *
* Bas van der Vlies e-mail: basv@sara.nl *
* SARA - Academic Computing Services phone: +31 20 592 8012 *
* Kruislaan 415 fax: +31 20 6683167 *
* 1098 SJ Amsterdam WWW: www.sara.nl *
* *
********************************************************************
Re: IRIX6 experience [ In reply to ]
> And some people still use pre-6.2 Irix.

True, but not even SGI supports pre-6.2 systems anymore. There's comes a
point where support for a minority of systems running outdated software
shouldn't be a priority.

> Ah, so no binary packages?

Why not? Or you you just being snide?
n32 format binaries will work for the vast majority of people.
If there are a substantial number of requests for o32 format binaries, one
could simply distribute an additional package.

-- Lars

--
Lars Kellogg-Stedman <lars@larsshack.org> --> http://www.larsshack.org/
Re: IRIX6 experience [ In reply to ]
> In /etc/compiler.defaults tells which abi is the default one


Yes, that is what I was referring to. Since this wasn't an Irix specific
list I figured the details could wait :).

-- Lars

--
Lars Kellogg-Stedman <lars@larsshack.org> --> http://www.larsshack.org/
Re: IRIX6 experience [ In reply to ]
On Sat, 27 May 2000, Lars Kellogg-Stedman wrote:

> > And some people still use pre-6.2 Irix.
>
> True, but not even SGI supports pre-6.2 systems anymore. There's comes a
> point where support for a minority of systems running outdated software
> shouldn't be a priority.

OK, fair enough.

> > Ah, so no binary packages?
>
> Why not? Or you you just being snide?

Not at all. I was just looking at it differently. If n32 will work for
most people, fine.

Matthew Weigel
Programmer/Sysadmin/Student
weigel+@pitt.edu
Re: IRIX6 experience [ In reply to ]
On Sat, 27 May 2000, Lars Kellogg-Stedman wrote:

> > In /etc/compiler.defaults tells which abi is the default one
>
>
> Yes, that is what I was referring to. Since this wasn't an Irix specific
> list I figured the details could wait :).
>
> -- Lars
>
>

--
| "Bombay is 250ms from New York in the new world order" - Alan Cox
| Damien Miller - http://www.mindrot.org/
| Email: djm@mindrot.org (home) -or- djm@ibs.com.au (work)