Обсуждение: Small patch to compile on IRIX 6.5 with gcc

Поиск
Список
Период
Сортировка

Small patch to compile on IRIX 6.5 with gcc

От
Matteo Beccati
Дата:
Hi,

had some spare time and I've been finally able to install some tools to
compile PostgreSQL on my SGI Octane 2 box, which is running IRIX 6.5.30.

Afre succesfully installing gcc-3.3, gmake, readline and some other
freeware packages, I tried to compile PgSQL.

This is the configure line:

CC="/usr/freeware/bin/gcc" CFLAGS="-I/usr/freeware/include
-L/usr/freeware/lib32" ./configure

There were a lot of complaints about missing declaration for base
functions (i.e. malloc), and a few errors. The attached patch fixes the
errors and allows gmake to build all. There is no failure in the
regression tests.

Of course, the patch is just a hack. If anyone is wanting to properly
address it I could create and ssh account.


Best regards
--
Matteo Beccati
http://phpadsnew.com
http://phppgads.com
*** dist/postgresql-8.2.0/src/backend/utils/adt/oracle_compat.c    Fri Jul 14 09:59:19 2006
--- postgresql-8.2.0/src/backend/utils/adt/oracle_compat.c    Sun Feb 25 01:02:23 2007
***************
*** 28,33 ****
--- 28,35 ----
  #include <wctype.h>
  #endif

+ #include <internal/stdlib_core.h>
+
  #include "utils/builtins.h"
  #include "utils/pg_locale.h"
  #include "mb/pg_wchar.h"
*** dist/postgresql-8.2.0/src/backend/utils/init/postinit.c    Sun Nov  5 14:42:09 2006
--- postgresql-8.2.0/src/backend/utils/init/postinit.c    Sun Feb 25 01:05:40 2007
***************
*** 18,23 ****
--- 18,25 ----
  #include <fcntl.h>
  #include <unistd.h>

+ #include <sys/file.h>
+
  #include "access/heapam.h"
  #include "access/xact.h"
  #include "catalog/catalog.h"
*** dist/postgresql-8.2.0/src/bin/psql/startup.c    Tue Oct  3 17:30:06 2006
--- postgresql-8.2.0/src/bin/psql/startup.c    Sun Feb 25 01:10:05 2007
***************
*** 19,24 ****
--- 19,26 ----
  #include <win32.h>
  #endif   /* WIN32 */

+ #include <sys/file.h>
+
  #include "getopt_long.h"

  #ifndef HAVE_INT_OPTRESET
*** dist/postgresql-8.2.0/src/timezone/zic.c    Tue Oct 24 08:11:03 2006
--- postgresql-8.2.0/src/timezone/zic.c    Sat Feb 24 10:08:49 2007
***************
*** 13,18 ****
--- 13,19 ----
  #endif
  #include <limits.h>
  #include <locale.h>
+ #include <sys/file.h>

  extern int    optind;
  extern char *optarg;


Re: Small patch to compile on IRIX 6.5 with gcc

От
Andrew Dunstan
Дата:

Matteo Beccati wrote:
> Hi,
>
> had some spare time and I've been finally able to install some tools to
> compile PostgreSQL on my SGI Octane 2 box, which is running IRIX 6.5.30.
>
> Afre succesfully installing gcc-3.3, gmake, readline and some other
> freeware packages, I tried to compile PgSQL.
>
> This is the configure line:
>
> CC="/usr/freeware/bin/gcc" CFLAGS="-I/usr/freeware/include
> -L/usr/freeware/lib32" ./configure
>
> There were a lot of complaints about missing declaration for base
> functions (i.e. malloc), and a few errors. The attached patch fixes the
> errors and allows gmake to build all. There is no failure in the
> regression tests.
>
> Of course, the patch is just a hack. If anyone is wanting to properly
> address it I could create and ssh account.
>
>
>
> + #include <internal/stdlib_core.h>
> +
>
>
This will break many, possibly most platforms. It is certainly absent on
this Linux box.


>
> + #include <sys/file.h>
> +
>

Why is this needed?

Perhaps if you showed us the errors that result from not having these
things we could judge better how to address them.

cheers

andrew

Re: Small patch to compile on IRIX 6.5 with gcc

От
Matteo Beccati
Дата:
Hi Andrew,

>>   + #include <internal/stdlib_core.h>
>> +
>>
> This will break many, possibly most platforms. It is certainly absent on
> this Linux box.
>
>
>>   + #include <sys/file.h>
>> +
>
> Why is this needed?
>
> Perhaps if you showed us the errors that result from not having these
> things we could judge better how to address them.

I will do as soon as possible.


Best regards
--
Matteo Beccati
http://phpadsnew.com
http://phppgads.com

Re: Small patch to compile on IRIX 6.5 with gcc

От
Matteo Beccati
Дата:
Hi,

>>   + #include <internal/stdlib_core.h>
>>
> This will break many, possibly most platforms. It is certainly absent on
> this Linux box.
>
>
>>   + #include <sys/file.h>
>
> Why is this needed?
>
> Perhaps if you showed us the errors that result from not having these
> things we could judge better how to address them.

After some digging, it seems that gcc is using some custom header files
in /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.3/include/ as first match.

This files seem to be generated by fixincludes and some seem to be non
working (I.e. unistd.h is empty). Moving away unistd.h and stlib.h does
the trick and postgresql compiles without any patch.

template1=# SELECT VERSION();
                               version
---------------------------------------------------------------------
 PostgreSQL 8.2.3 on mips-sgi-irix6.5, compiled by GCC gcc (GCC) 3.3
(1 row)

gmake check also runs without any failure.


Best regards
--
Matteo Beccati
http://phpadsnew.com
http://phppgads.com