7.1.3, IRIX 6.5 and gcc
Hello
I am trying to get 7.1.3 to compile on IRIX 6.5.13 using GCC 3.0.1 ... I
always end up having this error:
gcc -Wall -Wmissing-prototypes -Wmissing-declarations
-I../../../../src/include -U_NO_XOPEN4 -c -o s_lock.o s_lock.c s_lock.c:
In function `s_lock': s_lock.c:134: warning: passing arg 1 of pointer to
function discards qualifiers from pointer target type s_lock.c: At top
level: s_lock.c:234: warning: `tas_dummy' defined but not used as: Error:
/var/tmp/ccLTwXmB.s, line 403: undefined assembler operation: .global
.global tas gmake[4]: *** [s_lock.o] Error 1 gmake[4]: Leaving
directory `/usr/local/src/postgresql-7.1.3/src/backend/storage/buffer'
gmake[3]: *** [buffer-recursive] Error 2 gmake[3]: Leaving directory
`/usr/local/src/postgresql-7.1.3/src/backend/storage'
gmake[2]: *** [storage-recursive] Error 2
I read in the archives that GCC was not very good to compile on IRIX, at
this stage I have no choice, we don't have MIPSPro licensed.
First question: what can I do to solve this error?
Second question: is there a binary for IRIX 6.5 that I can download from
somewhere?
I am trying to contact SGI to see if we can get a version of the compiler,
once that's done and we can compile, I willing to provide a binary version
of pgsql compiled under IRIX.
Cheers
/B
--- Bruno Mattarollo <bruno@web1.greenpeace.org> ---
SysAdmin & TechLead - Greenpeace International
http://www.greenpeace.org/
----------------------------------------------------
Bruno Mattarollo writes:
I am trying to get 7.1.3 to compile on IRIX 6.5.13 using GCC 3.0.1 ... I
always end up having this error:gcc -Wall -Wmissing-prototypes -Wmissing-declarations
-I../../../../src/include -U_NO_XOPEN4 -c -o s_lock.o s_lock.c s_lock.c:
In function `s_lock': s_lock.c:134: warning: passing arg 1 of pointer to
function discards qualifiers from pointer target type s_lock.c: At top
level: s_lock.c:234: warning: `tas_dummy' defined but not used as: Error:
/var/tmp/ccLTwXmB.s, line 403: undefined assembler operation: .global
.global tas gmake[4]: *** [s_lock.o] Error 1 gmake[4]: Leaving
directory `/usr/local/src/postgresql-7.1.3/src/backend/storage/buffer'
gmake[3]: *** [buffer-recursive] Error 2 gmake[3]: Leaving directory
`/usr/local/src/postgresql-7.1.3/src/backend/storage'
gmake[2]: *** [storage-recursive] Error 2
Go into the file src/backend/storage/s_lock.c and change the line that
looks like
#if defined(__mips__)
to
#if defined(__mips__) && !defined(__sgi)
(This "mips" assembly code is there for the likes of NetBSD and Linux.)
This should allow for the compilation to continue.
I read in the archives that GCC was not very good to compile on IRIX, at
this stage I have no choice, we don't have MIPSPro licensed.
"not very good" can also be read as "won't work", unless GCC 3 now does
better.
--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
Hello
Thanks Peter! That solved the problem and I could get postgresql 7.1.3 to
compile. Actually it works :) It seems that for my needs now, this GCC is
enough... At least I could compile postgresql, python, postfix and xemacs
and some other GNU software ... :)
Thanks again!
/B
On Tue, 28 Aug 2001, Peter Eisentraut wrote:
Go into the file src/backend/storage/s_lock.c and change the line that
looks like#if defined(__mips__)
to
#if defined(__mips__) && !defined(__sgi)
(This "mips" assembly code is there for the likes of NetBSD and Linux.)
This should allow for the compilation to continue.
I read in the archives that GCC was not very good to compile on IRIX, at
this stage I have no choice, we don't have MIPSPro licensed."not very good" can also be read as "won't work", unless GCC 3 now does
better.
--
--- Bruno Mattarollo <bruno@web1.greenpeace.org> ---
SysAdmin & TechLead - Greenpeace International
http://www.greenpeace.org/
----------------------------------------------------
Bruno Mattarollo writes:
Thanks Peter! That solved the problem and I could get postgresql 7.1.3 to
compile.
Okay, the fix has been checked in for the next release.
Actually it works :) It seems that for my needs now, this GCC is
enough...
I'm referring to the note at http://freeware.sgi.com/howto.html:
* gcc vs. cc
Code that runs fine when compiled with SGI cc
and doesn't run when compiled with gcc might be
calling one of the following functions:
inet_ntoa, inet_lnaof, inet_netof, inet_makeaddr, semctl
(there may be others). These are functions
that get passed or return structs that are smaller than 16
bytes but not 8 bytes long. gcc and SGI cc
are incompatible in the way they pass these structs so
compiling with gcc and linking with the SGI
libc.so (which was compiled with the SGI cc) is likely to
cause these problems. Note that this problem
is pretty rare since such functions are not widely used.
This may be considered a bug in gcc but is too involved to fix I'm told.
PostgreSQL calls at least semctl(), but not necessarily during mere
"seeing if it works". So be careful.
Check out the above site for more resources about open source software on
Irix.
--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
bruno@web1.greenpeace.org (Bruno Mattarollo) wrote in message news:<Pine.LNX.4.33.0108281615390.1774-100000@web1.greenpeace.org>...
Hello
Thanks Peter! That solved the problem and I could get postgresql 7.1.3 to
compile. Actually it works :) It seems that for my needs now, this GCC is
enough... At least I could compile postgresql, python, postfix and xemacs
and some other GNU software ... :)Thanks again!
/B
I have complied binaries for IRIX 6.5.12 using MIPSPro. I'd be happy
to send them to anyone that wants them or upload them to the website
if someone tells me where to place them.
-Tony