Recent additions to the PostgreSQL 6.4 tree broke the UnixWare 7.x port. Here
are the patches to fix them:

1. In 'src/backend/utils/adt/ip.c', the functions 'ipaddr_eq()' and
'ipaddr_ge()' were used before being defined. I reordered the functions so
that they were defined before being used.

2. In 'src/include/utils/mac.h', I included the file 'sys/bitypes.h' if the
code is being compiled by a USL compiler (i.e. UnixWare). This is needed
to define the 'u_int32_t' type.

3. In 'src/include/c.h', I add a check to see if 'bool' had been defined as a
macro before attempting to typeset it. In some instances, 'bool' is
defined as a macro that expands to 'char'. The UnixWare compiler complains
if you try to compile "typeset char char;".

4. In 'src/pl/plpgsql/src/pl_exec.c', there is a construct that is incorrect.
This construct is '((int4)(var->value))--' and '((int4)(var->value))++'.
What this is saying is to take result of the expression '(var->value)',
cast it as an 'int4', and then increment it. This can not work as the
result of the expression is not an 'LVALUE' and thus can not be the target
of the '--' or the '++' operator. What is needed is '(int4)var->value--'
or '(int4)var->value++' [assuming the desired result is to decrement(in-
crement) 'var->value' as if it were an 'int4'].

5. In 'src/test/regress/checkresults', the use of the '-u' option is assuming
the use of GNU diff.

There were some additional portability problems with the make file for plpgsql
that I do not address with these patches. I will supply a Makefile.in for
plpgsql that will address these problems shortly.

The UnixWare 7.x port now passes the regression tests except for differences
in the some error messages and floating point precision.

BTW: The plpgsql language seems to working well, at least for the simple
things that I am currently using them for.

Thanks Jan for the good work on PL/pgsql!

Search Discussions

  • Thomas G. Lockhart at Oct 4, 1998 at 2:57 pm

    The UnixWare 7.x port now passes the regression tests except for
    differences in the some error messages and floating point precision.
    Got the report. Will assume that your patches will make it into the
    distribution, and will update the porting information for your platform.
    Could you please let us know if anything gets broken, or if your patches
    don't get in completely so you continue to have a broken port?

    TIA

    - Tom
  • Egon Schmid at Oct 4, 1998 at 3:35 pm
    Hi all,
    if I ./configure with tcl then make reports:

    make[2]: Entering directory `/usr/local/pgsql/src/pl/tcl'
    'cc -shared' -o pltcl.so pltcl.o '-ltcl8.0' '-L/usr/lib -ltcl8.0' '-ldl
    -lieee -lm'
    make[2]: cc -shared: Command not found
    make[2]: *** [pltcl.so] Error 127

    -Egon
  • Bruce Momjian at Oct 4, 1998 at 3:36 pm

    Recent additions to the PostgreSQL 6.4 tree broke the UnixWare 7.x port. Here
    are the patches to fix them:

    1. In 'src/backend/utils/adt/ip.c', the functions 'ipaddr_eq()' and
    'ipaddr_ge()' were used before being defined. I reordered the functions so
    that they were defined before being used.
    I was not including builtin.h as I should have. Fixed now.
    2. In 'src/include/utils/mac.h', I included the file 'sys/bitypes.h' if the
    code is being compiled by a USL compiler (i.e. UnixWare). This is needed
    to define the 'u_int32_t' type.
    I have changed u_int32_t to unsigned int. No reason to use u_int32_t.
    3. In 'src/include/c.h', I add a check to see if 'bool' had been defined as a
    macro before attempting to typeset it. In some instances, 'bool' is
    defined as a macro that expands to 'char'. The UnixWare compiler complains
    if you try to compile "typeset char char;".

    4. In 'src/pl/plpgsql/src/pl_exec.c', there is a construct that is incorrect.
    This construct is '((int4)(var->value))--' and '((int4)(var->value))++'.
    What this is saying is to take result of the expression '(var->value)',
    cast it as an 'int4', and then increment it. This can not work as the
    result of the expression is not an 'LVALUE' and thus can not be the target
    of the '--' or the '++' operator. What is needed is '(int4)var->value--'
    or '(int4)var->value++' [assuming the desired result is to decrement(in-
    crement) 'var->value' as if it were an 'int4'].

    5. In 'src/test/regress/checkresults', the use of the '-u' option is assuming
    the use of GNU diff.
    I will apply the rest.
    There were some additional portability problems with the make file for plpgsql
    that I do not address with these patches. I will supply a Makefile.in for
    plpgsql that will address these problems shortly.

    The UnixWare 7.x port now passes the regression tests except for differences
    in the some error messages and floating point precision.

    BTW: The plpgsql language seems to working well, at least for the simple
    things that I am currently using them for.

    Thanks Jan for the good work on PL/pgsql!
    Content-Description: uw7.patch

    [Attachment, skipping...]
    ____ | Billy G. Allie | Domain....: [email protected]
    /| | 7436 Hartwell | Compuserve: 76337,2061
    -/-|----- | Dearborn, MI 48126| MSN.......: [email protected]
    / |LLIE | (313) 582-1540 |

    --
    Bruce Momjian | http://www.op.net/~candle
    [email protected] | (610) 853-3000
    + If your life is a hard drive, | 830 Blythe Avenue
    + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
  • Bruce Momjian at Oct 4, 1998 at 3:39 pm

    Recent additions to the PostgreSQL 6.4 tree broke the UnixWare 7.x port. Here
    are the patches to fix them:

    1. In 'src/backend/utils/adt/ip.c', the functions 'ipaddr_eq()' and
    'ipaddr_ge()' were used before being defined. I reordered the functions so
    that they were defined before being used.

    2. In 'src/include/utils/mac.h', I included the file 'sys/bitypes.h' if the
    code is being compiled by a USL compiler (i.e. UnixWare). This is needed
    to define the 'u_int32_t' type. Fixed.
    3. In 'src/include/c.h', I add a check to see if 'bool' had been defined as a
    macro before attempting to typeset it. In some instances, 'bool' is
    defined as a macro that expands to 'char'. The UnixWare compiler complains
    if you try to compile "typeset char char;".

    4. In 'src/pl/plpgsql/src/pl_exec.c', there is a construct that is incorrect.
    This construct is '((int4)(var->value))--' and '((int4)(var->value))++'.
    What this is saying is to take result of the expression '(var->value)',
    cast it as an 'int4', and then increment it. This can not work as the
    result of the expression is not an 'LVALUE' and thus can not be the target
    of the '--' or the '++' operator. What is needed is '(int4)var->value--'
    or '(int4)var->value++' [assuming the desired result is to decrement(in-
    crement) 'var->value' as if it were an 'int4'].

    5. In 'src/test/regress/checkresults', the use of the '-u' option is assuming
    the use of GNU diff.
    The rest are applied.
    There were some additional portability problems with the make file for plpgsql
    that I do not address with these patches. I will supply a Makefile.in for
    plpgsql that will address these problems shortly.

    The UnixWare 7.x port now passes the regression tests except for differences
    in the some error messages and floating point precision.

    BTW: The plpgsql language seems to working well, at least for the simple
    things that I am currently using them for.

    Thanks Jan for the good work on PL/pgsql!
    Content-Description: uw7.patch

    [Attachment, skipping...]
    ____ | Billy G. Allie | Domain....: [email protected]
    /| | 7436 Hartwell | Compuserve: 76337,2061
    -/-|----- | Dearborn, MI 48126| MSN.......: [email protected]
    / |LLIE | (313) 582-1540 |

    --
    Bruce Momjian | http://www.op.net/~candle
    [email protected] | (610) 853-3000
    + If your life is a hard drive, | 830 Blythe Avenue
    + Christ can be your backup. | Drexel Hill, Pennsylvania 19026

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-hackers @
categoriespostgresql
postedOct 4, '98 at 9:34a
activeOct 4, '98 at 3:39p
posts5
users4
websitepostgresql.org...
irc#postgresql

People

Translate

site design / logo © 2023 Grokbase