Thread: 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 followingfunctions: 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 not8 bytes long. gcc and SGI cc are incompatible in the way they pass these structs so compiling with gcc and linkingwith 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 involvedto 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