FAQ
Hi,

I suppose it is getting a bit late for this, now that postgreSQL 7.0 is in beta,
but I have finally gotten all the patches together to make postgreSQL 6.5.3
compile completely on an SGI Irix 6.5. This includes all the interfaces: JDBC,
ODBC, libpq++, tcl, pgaccess, PL/pgsql, etc. As it turns out, all the patches
are minor.

So, here is my patch list:
============================================================================
Patch for PostgreSQL 6.5.3 on SGI Irix 6.5.
Submitted by Mark Dalphin, March 1, 2000.

Generated by:
diff -c -r postgresql-6.5.3/ postgresql-6.5.3.patched/ > irix_6.5.patch

======================================================================
Discussion of PostgreSQL and its interfaces

These patches are relatively minor in the overall source tree, but
permit everything to compile, including libpq++, odbc, PL/pgsql, and
tcl.

There are no errors while running the regression tests except for
error message words and some date problems in 1947.

I can compile and run the libpq++ examples:
cd .../src/interfaces/libpq++
gmake examples
cd examples
./testlibpq ...
I have not tested this material carefully, however.

I have not tested the tcl interface, however, pgaccess, which uses it,
runs well.

I use the perl DBI::DBD on a daily basis without any trouble. The
libpq C library is used by these modules and, furthermore, I use it
directly as well without any troubles.

The ODBC library has been tested a little using the Data Access Builder
from IBM's Visual Age for Java. It worked without any trouble after we
got things configured at the PC end. No configuration was needed at the
Irix end of the connection.

The build of the JDBC code caused some trouble since it assumes the
use of the GNU bash shell. I ended up building it following the commands
in the Makefile, but was unable to get the automated build to work.
After the JDBC interface was built, it has worked well for Java 1.1.6.

The system is compiled with the native C compiler (/usr/bin/cc;
MIPSpro Compilers: Version 7.30; /etc/compiler.defaults =
-DEFAULT:abi=n32:isa=mips4:proc=r10k) and the native C++ compiler
(/usr/bin/CC).

Other packages installed include:
flex version 2.5.4
GNU Bison version 1.25
GNU Make version 3.76.1
install (GNU fileutils) 4.0
GNU lib readline, ver 4.0
tcl 8.0, tk 8.0 (this is a local install, not the SGI Freeware)
perl 5.005_03

The configure command is:

./configure \
--with-CC=/usr/bin/cc \
--with-CXX=/usr/bin/CC \
--prefix=/usr/local/pgsql \
--with-includes=/usr/local/include \
--with-libraries=/usr/local/lib \
--with-tcl \
--with-tclconfig=/usr/local/lib \
--with-tkconfig=/usr/local/lib \
--with-perl \
--with-odbc

A description of the function of each patch is listed just above the patch.
======================================================================

This patch makes it so that PostgreSQL can "find" the DSO (shared
libraries) without using the environment variable, LD_LIBRARY_PATH.

diff -c -r postgresql-6.5.3/src/Makefile.shlib
postgresql-6.5.3.patched/src/Makefile.shlib
*** postgresql-6.5.3/src/Makefile.shlib Thu Jul 29 21:13:44 1999
--- postgresql-6.5.3.patched/src/Makefile.shlib Tue Feb 29 11:12:17 2000
***************
*** 120,126 ****
ifeq ($(PORTNAME), irix5)
install-shlib-dep := install-shlib
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
! LDFLAGS_SL := -shared
CFLAGS += $(CFLAGS_SL)
endif

--- 120,126 ----
ifeq ($(PORTNAME), irix5)
install-shlib-dep := install-shlib
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
! LDFLAGS_SL := -shared -rpath $(LIBDIR)
CFLAGS += $(CFLAGS_SL)
endif

======================================================================

This patch alters the Makefile options, removing GNU gcc options which
choke the SGI C++ compiler. It is only a problem on the examples for
libpq++.

diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/Makefile
postgresql-6.5.3.patched/src/interfaces/libpq++/examples/Makefile
*** postgresql-6.5.3/src/interfaces/libpq++/examples/Makefile Sat May 22
18:04:04 1999
--- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/Makefile Tue Feb
29 15:56:51 2000
***************
*** 12,18 ****
# inevitably get the warning, "abstract declarator used as declaration"
# because of our inclusion of c.h and we don't know how to stop that.

! CXXFLAGS= $(CFLAGS) -Wno-error -Wno-unused -Wl,-Bdynamic

INCLUDE_OPT= -I$(HEADERDIR)

--- 12,19 ----
# inevitably get the warning, "abstract declarator used as declaration"
# because of our inclusion of c.h and we don't know how to stop that.

! #CXXFLAGS= $(CFLAGS) -Wno-error -Wno-unused -Wl,-Bdynamic
! CXXFLAGS= $(CFLAGS)

INCLUDE_OPT= -I$(HEADERDIR)

======================================================================

The next several patches all "repair" the same problem. The re-declaration
of the variable 'i' as an 'int' in the second of two 'for' loops, causes
an error for the SGI C++ compiler. It complains that 'i' is already in
scope. This is only a problem in the example code.

diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq1.cc
postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq1.cc
*** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq1.cc Sat May
22 18:04:05 1999
--- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq1.cc
Tue Feb 29 15:59:03 2000
***************
*** 51,57 ****
cout << endl << endl;

// next, print out the instances
! for (int i=0; i < data.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

cout << endl;
--- 51,57 ----
cout << endl << endl;

// next, print out the instances
! for (i=0; i < data.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

cout << endl;

diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq2.cc
postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq2.cc
*** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq2.cc Sat May
22 18:04:05 1999
--- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq2.cc
Tue Feb 29 16:03:50 2000
***************
*** 45,51 ****
cout << endl << endl;

// next, print out the instances
! for (int i=0; i < data.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

cout << endl;
--- 45,51 ----
cout << endl << endl;

// next, print out the instances
! for ( i=0; i < data.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

cout << endl;
diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq3.cc
postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq3.cc
*** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq3.cc Sat May
22 18:04:06 1999
--- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq3.cc
Tue Feb 29 16:04:41 2000
***************
*** 48,54 ****
cout << endl << endl;

// next, print out the instances
! for (int i=0; i < cData.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) <<
cData.GetValue(i,j);
cout << endl;
--- 48,54 ----
cout << endl << endl;

// next, print out the instances
! for ( i=0; i < cData.Tuples(); i++) {
for (int j=0; j < nFields; j++)
cout << setiosflags(ios::right) << setw(15) <<
cData.GetValue(i,j);
cout << endl;

======================================================================

The next two patches add support for a new C++ concept, 'namespaces',
to libpq++. The SGI C++ compiler uses namespaces by default and,
while there is a way to turn off support for namespaces (option:
-LANG:namespaces=OFF) this seems to mess up support for the Standard
Template Library. It was easier to add the 'use namespaces std;' line
to the libpq++ include files.

diff -c -r postgresql-6.5.3/src/interfaces/libpq++/libpq++.H
postgresql-6.5.3.patched/src/interfaces/libpq++/libpq++.H
*** postgresql-6.5.3/src/interfaces/libpq++/libpq++.H Sat May 22 18:03:58 1999

--- postgresql-6.5.3.patched/src/interfaces/libpq++/libpq++.H Tue Feb 29
15:40:31 2000
***************
*** 32,37 ****
--- 32,38 ----

static char rcsid[] = "$Id: libpq++.H,v 1.4 1999/05/23 01:03:58 momjian Exp
$";

+ using namespace std;

// ****************************************************************
//
diff -c -r postgresql-6.5.3/src/interfaces/libpq++/pgconnection.h
postgresql-6.5.3.patched/src/interfaces/libpq++/pgconnection.h
*** postgresql-6.5.3/src/interfaces/libpq++/pgconnection.h Sat May 22
18:04:00 1999
--- postgresql-6.5.3.patched/src/interfaces/libpq++/pgconnection.h Tue Feb
29 15:38:27 2000
***************
*** 27,32 ****
--- 27,33 ----
#include "libpq-fe.h"
}

+ using namespace std;

// ****************************************************************
//

======================================================================

The odbc interface would not compile "out of the box" simply because
the libraries were not correctly specified when linking. While the
names of the libraries were listed, eg -lpq -lreadline, etc, the
additional library locations, eg -L/usr/local/lib, had been lost.
This change fixes that problem, though I am not certain that I have
followed the correct PostgreSQL Makefile conventions here...

diff -c -r postgresql-6.5.3/src/interfaces/odbc/GNUmakefile.in
postgresql-6.5.3.patched/src/interfaces/odbc/GNUmakefile.in
*** postgresql-6.5.3/src/interfaces/odbc/GNUmakefile.in Wed Jun 30 16:57:29 1999

--- postgresql-6.5.3.patched/src/interfaces/odbc/GNUmakefile.in Tue Feb 29
12:29:13 2000
***************
*** 37,43 ****
pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o
\
gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)

! SHLIB_LINK= $(LIBS)

# Shared library stuff, also default 'all' target
include $(SRCDIR)/Makefile.shlib
--- 37,43 ----
pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o
\
gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)

! SHLIB_LINK= $(LD_FLAGS)

# Shared library stuff, also default 'all' target
include $(SRCDIR)/Makefile.shlib

======================================================================

This patch is for convienence. I hate the large number of error
messages which appear when PostgreSQL is built. This patch turns off
certain common error messages. Note, this only applies to the SGI cc
compiler when using the -n32 switch; the error message numbers change
for the -o32 (aka -32) switch.

diff -c -r postgresql-6.5.3/src/makefiles/Makefile.irix5
postgresql-6.5.3.patched/src/makefiles/Makefile.irix5
*** postgresql-6.5.3/src/makefiles/Makefile.irix5 Mon Mar 15 07:20:52 1999

--- postgresql-6.5.3.patched/src/makefiles/Makefile.irix5 Tue Feb 29
17:22:14 2000
***************
*** 6,10 ****
%.so: %.o
$(LD) -G -Bdynamic -shared -o $@ $<

! CFLAGS+= -U_NO_XOPEN4
!
--- 6,10 ----
%.so: %.o
$(LD) -G -Bdynamic -shared -o $@ $<

! CFLAGS+= -U_NO_XOPEN4 -woff 1164,1171,1185,1195,1552 -Wl,-woff,15 -Wl,-woff,84

! LDFLAGS+= -woff 15,84

======================================================================
End of Irix patch file


--
Mark Dalphin email: mdalphin@amgen.com
Mail Stop: 29-2-A phone: +1-805-447-4951 (work)
One Amgen Center Drive +1-805-375-0680 (home)
Thousand Oaks, CA 91320 fax: +1-805-499-9955 (work)

Search Discussions

  • Bruce Momjian at Mar 2, 2000 at 2:01 am
    Applied. Patch was wrapped but I fixed that. Makefile.shlib patch
    already existed. Please test on 7.0 beta. There was some fuzz factor
    in the patch apply.
    Hi,

    I suppose it is getting a bit late for this, now that postgreSQL 7.0 is in beta,
    but I have finally gotten all the patches together to make postgreSQL 6.5.3
    compile completely on an SGI Irix 6.5. This includes all the interfaces: JDBC,
    ODBC, libpq++, tcl, pgaccess, PL/pgsql, etc. As it turns out, all the patches
    are minor.

    So, here is my patch list:
    ============================================================================
    Patch for PostgreSQL 6.5.3 on SGI Irix 6.5.
    Submitted by Mark Dalphin, March 1, 2000.

    Generated by:
    diff -c -r postgresql-6.5.3/ postgresql-6.5.3.patched/ > irix_6.5.patch

    ======================================================================
    Discussion of PostgreSQL and its interfaces

    These patches are relatively minor in the overall source tree, but
    permit everything to compile, including libpq++, odbc, PL/pgsql, and
    tcl.

    There are no errors while running the regression tests except for
    error message words and some date problems in 1947.

    I can compile and run the libpq++ examples:
    cd .../src/interfaces/libpq++
    gmake examples
    cd examples
    ./testlibpq ...
    I have not tested this material carefully, however.

    I have not tested the tcl interface, however, pgaccess, which uses it,
    runs well.

    I use the perl DBI::DBD on a daily basis without any trouble. The
    libpq C library is used by these modules and, furthermore, I use it
    directly as well without any troubles.

    The ODBC library has been tested a little using the Data Access Builder
    from IBM's Visual Age for Java. It worked without any trouble after we
    got things configured at the PC end. No configuration was needed at the
    Irix end of the connection.

    The build of the JDBC code caused some trouble since it assumes the
    use of the GNU bash shell. I ended up building it following the commands
    in the Makefile, but was unable to get the automated build to work.
    After the JDBC interface was built, it has worked well for Java 1.1.6.

    The system is compiled with the native C compiler (/usr/bin/cc;
    MIPSpro Compilers: Version 7.30; /etc/compiler.defaults =
    -DEFAULT:abi=n32:isa=mips4:proc=r10k) and the native C++ compiler
    (/usr/bin/CC).

    Other packages installed include:
    flex version 2.5.4
    GNU Bison version 1.25
    GNU Make version 3.76.1
    install (GNU fileutils) 4.0
    GNU lib readline, ver 4.0
    tcl 8.0, tk 8.0 (this is a local install, not the SGI Freeware)
    perl 5.005_03

    The configure command is:

    ./configure \
    --with-CC=/usr/bin/cc \
    --with-CXX=/usr/bin/CC \
    --prefix=/usr/local/pgsql \
    --with-includes=/usr/local/include \
    --with-libraries=/usr/local/lib \
    --with-tcl \
    --with-tclconfig=/usr/local/lib \
    --with-tkconfig=/usr/local/lib \
    --with-perl \
    --with-odbc

    A description of the function of each patch is listed just above the patch.
    ======================================================================

    This patch makes it so that PostgreSQL can "find" the DSO (shared
    libraries) without using the environment variable, LD_LIBRARY_PATH.

    diff -c -r postgresql-6.5.3/src/Makefile.shlib
    postgresql-6.5.3.patched/src/Makefile.shlib
    *** postgresql-6.5.3/src/Makefile.shlib Thu Jul 29 21:13:44 1999
    --- postgresql-6.5.3.patched/src/Makefile.shlib Tue Feb 29 11:12:17 2000
    ***************
    *** 120,126 ****
    ifeq ($(PORTNAME), irix5)
    install-shlib-dep := install-shlib
    shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
    ! LDFLAGS_SL := -shared
    CFLAGS += $(CFLAGS_SL)
    endif

    --- 120,126 ----
    ifeq ($(PORTNAME), irix5)
    install-shlib-dep := install-shlib
    shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
    ! LDFLAGS_SL := -shared -rpath $(LIBDIR)
    CFLAGS += $(CFLAGS_SL)
    endif

    ======================================================================

    This patch alters the Makefile options, removing GNU gcc options which
    choke the SGI C++ compiler. It is only a problem on the examples for
    libpq++.

    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/Makefile
    postgresql-6.5.3.patched/src/interfaces/libpq++/examples/Makefile
    *** postgresql-6.5.3/src/interfaces/libpq++/examples/Makefile Sat May 22
    18:04:04 1999
    --- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/Makefile Tue Feb
    29 15:56:51 2000
    ***************
    *** 12,18 ****
    # inevitably get the warning, "abstract declarator used as declaration"
    # because of our inclusion of c.h and we don't know how to stop that.

    ! CXXFLAGS= $(CFLAGS) -Wno-error -Wno-unused -Wl,-Bdynamic

    INCLUDE_OPT= -I$(HEADERDIR)

    --- 12,19 ----
    # inevitably get the warning, "abstract declarator used as declaration"
    # because of our inclusion of c.h and we don't know how to stop that.

    ! #CXXFLAGS= $(CFLAGS) -Wno-error -Wno-unused -Wl,-Bdynamic
    ! CXXFLAGS= $(CFLAGS)

    INCLUDE_OPT= -I$(HEADERDIR)

    ======================================================================

    The next several patches all "repair" the same problem. The re-declaration
    of the variable 'i' as an 'int' in the second of two 'for' loops, causes
    an error for the SGI C++ compiler. It complains that 'i' is already in
    scope. This is only a problem in the example code.

    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq1.cc
    postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq1.cc
    *** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq1.cc Sat May
    22 18:04:05 1999
    --- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq1.cc
    Tue Feb 29 15:59:03 2000
    ***************
    *** 51,57 ****
    cout << endl << endl;

    // next, print out the instances
    ! for (int i=0; i < data.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

    cout << endl;
    --- 51,57 ----
    cout << endl << endl;

    // next, print out the instances
    ! for (i=0; i < data.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

    cout << endl;

    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq2.cc
    postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq2.cc
    *** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq2.cc Sat May
    22 18:04:05 1999
    --- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq2.cc
    Tue Feb 29 16:03:50 2000
    ***************
    *** 45,51 ****
    cout << endl << endl;

    // next, print out the instances
    ! for (int i=0; i < data.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

    cout << endl;
    --- 45,51 ----
    cout << endl << endl;

    // next, print out the instances
    ! for ( i=0; i < data.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) << data.GetValue(i,j);

    cout << endl;
    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq3.cc
    postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq3.cc
    *** postgresql-6.5.3/src/interfaces/libpq++/examples/testlibpq3.cc Sat May
    22 18:04:06 1999
    --- postgresql-6.5.3.patched/src/interfaces/libpq++/examples/testlibpq3.cc
    Tue Feb 29 16:04:41 2000
    ***************
    *** 48,54 ****
    cout << endl << endl;

    // next, print out the instances
    ! for (int i=0; i < cData.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) <<
    cData.GetValue(i,j);
    cout << endl;
    --- 48,54 ----
    cout << endl << endl;

    // next, print out the instances
    ! for ( i=0; i < cData.Tuples(); i++) {
    for (int j=0; j < nFields; j++)
    cout << setiosflags(ios::right) << setw(15) <<
    cData.GetValue(i,j);
    cout << endl;

    ======================================================================

    The next two patches add support for a new C++ concept, 'namespaces',
    to libpq++. The SGI C++ compiler uses namespaces by default and,
    while there is a way to turn off support for namespaces (option:
    -LANG:namespaces=OFF) this seems to mess up support for the Standard
    Template Library. It was easier to add the 'use namespaces std;' line
    to the libpq++ include files.

    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/libpq++.H
    postgresql-6.5.3.patched/src/interfaces/libpq++/libpq++.H
    *** postgresql-6.5.3/src/interfaces/libpq++/libpq++.H Sat May 22 18:03:58 1999

    --- postgresql-6.5.3.patched/src/interfaces/libpq++/libpq++.H Tue Feb 29
    15:40:31 2000
    ***************
    *** 32,37 ****
    --- 32,38 ----

    static char rcsid[] = "$Id: libpq++.H,v 1.4 1999/05/23 01:03:58 momjian Exp
    $";

    + using namespace std;

    // ****************************************************************
    //
    diff -c -r postgresql-6.5.3/src/interfaces/libpq++/pgconnection.h
    postgresql-6.5.3.patched/src/interfaces/libpq++/pgconnection.h
    *** postgresql-6.5.3/src/interfaces/libpq++/pgconnection.h Sat May 22
    18:04:00 1999
    --- postgresql-6.5.3.patched/src/interfaces/libpq++/pgconnection.h Tue Feb
    29 15:38:27 2000
    ***************
    *** 27,32 ****
    --- 27,33 ----
    #include "libpq-fe.h"
    }

    + using namespace std;

    // ****************************************************************
    //

    ======================================================================

    The odbc interface would not compile "out of the box" simply because
    the libraries were not correctly specified when linking. While the
    names of the libraries were listed, eg -lpq -lreadline, etc, the
    additional library locations, eg -L/usr/local/lib, had been lost.
    This change fixes that problem, though I am not certain that I have
    followed the correct PostgreSQL Makefile conventions here...

    diff -c -r postgresql-6.5.3/src/interfaces/odbc/GNUmakefile.in
    postgresql-6.5.3.patched/src/interfaces/odbc/GNUmakefile.in
    *** postgresql-6.5.3/src/interfaces/odbc/GNUmakefile.in Wed Jun 30 16:57:29 1999

    --- postgresql-6.5.3.patched/src/interfaces/odbc/GNUmakefile.in Tue Feb 29
    12:29:13 2000
    ***************
    *** 37,43 ****
    pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o
    \
    gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)

    ! SHLIB_LINK= $(LIBS)

    # Shared library stuff, also default 'all' target
    include $(SRCDIR)/Makefile.shlib
    --- 37,43 ----
    pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o
    \
    gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)

    ! SHLIB_LINK= $(LD_FLAGS)

    # Shared library stuff, also default 'all' target
    include $(SRCDIR)/Makefile.shlib

    ======================================================================

    This patch is for convienence. I hate the large number of error
    messages which appear when PostgreSQL is built. This patch turns off
    certain common error messages. Note, this only applies to the SGI cc
    compiler when using the -n32 switch; the error message numbers change
    for the -o32 (aka -32) switch.

    diff -c -r postgresql-6.5.3/src/makefiles/Makefile.irix5
    postgresql-6.5.3.patched/src/makefiles/Makefile.irix5
    *** postgresql-6.5.3/src/makefiles/Makefile.irix5 Mon Mar 15 07:20:52 1999

    --- postgresql-6.5.3.patched/src/makefiles/Makefile.irix5 Tue Feb 29
    17:22:14 2000
    ***************
    *** 6,10 ****
    %.so: %.o
    $(LD) -G -Bdynamic -shared -o $@ $<

    ! CFLAGS+= -U_NO_XOPEN4
    !
    --- 6,10 ----
    %.so: %.o
    $(LD) -G -Bdynamic -shared -o $@ $<

    ! CFLAGS+= -U_NO_XOPEN4 -woff 1164,1171,1185,1195,1552 -Wl,-woff,15 -Wl,-woff,84

    ! LDFLAGS+= -woff 15,84

    ======================================================================
    End of Irix patch file


    --
    Mark Dalphin email: mdalphin@amgen.com
    Mail Stop: 29-2-A phone: +1-805-447-4951 (work)
    One Amgen Center Drive +1-805-375-0680 (home)
    Thousand Oaks, CA 91320 fax: +1-805-499-9955 (work)




    ************

    --
    Bruce Momjian | http://www.op.net/~candle
    pgman@candle.pha.pa.us | (610) 853-3000
    + If your life is a hard drive, | 830 Blythe Avenue
    + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
  • Mark Dalphin at Mar 2, 2000 at 4:59 pm

    Bruce Momjian wrote:

    Applied. Patch was wrapped but I fixed that. Makefile.shlib patch
    already existed. Please test on 7.0 beta. There was some fuzz factor
    in the patch apply.
    Hi,

    I suppose it is getting a bit late for this, now that postgreSQL 7.0 is in beta,
    but I have finally gotten all the patches together to make postgreSQL 6.5.3
    compile completely on an SGI Irix 6.5. This includes all the interfaces: JDBC,
    ODBC, libpq++, tcl, pgaccess, PL/pgsql, etc. As it turns out, all the patches
    are minor.
    Given the comments about C++ and the right way to fix the code, I will "repair" these
    patches when I play with 7.0beta. Or do you wish to back out the patches, Bruce, and
    await an updated version? It sounds like the correct form for the C++ example code
    would help all systems, not just the Irix. It sounds like the patches may best be
    left out of the current source tree (given their fuzzy nature) and left for Irix
    users of 6.5.3, and that I should get my act together and work on getting 7.0
    correct? Comments?

    Mark

    --
    Mark Dalphin email: mdalphin@amgen.com
    Mail Stop: 29-2-A phone: +1-805-447-4951 (work)
    One Amgen Center Drive +1-805-375-0680 (home)
    Thousand Oaks, CA 91320 fax: +1-805-499-9955 (work)
  • Bruce Momjian at Mar 7, 2000 at 10:44 pm

    Given the comments about C++ and the right way to fix the code, I will "repair" these
    patches when I play with 7.0beta. Or do you wish to back out the patches, Bruce, and
    await an updated version? It sounds like the correct form for the C++ example code
    would help all systems, not just the Irix. It sounds like the patches may best be
    left out of the current source tree (given their fuzzy nature) and left for Irix
    users of 6.5.3, and that I should get my act together and work on getting 7.0
    correct? Comments?
    I will keep current patch, and expect a new one with more changes from you.

    --
    Bruce Momjian | http://www.op.net/~candle
    pgman@candle.pha.pa.us | (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 Jun 9, 2000 at 4:01 pm
    Seems these all got into 7.0, except the odbc changes for // which will
    be in 7.1.

    Bruce Momjian wrote:
    Applied. Patch was wrapped but I fixed that. Makefile.shlib patch
    already existed. Please test on 7.0 beta. There was some fuzz factor
    in the patch apply.
    Hi,

    I suppose it is getting a bit late for this, now that postgreSQL 7.0 is in beta,
    but I have finally gotten all the patches together to make postgreSQL 6.5.3
    compile completely on an SGI Irix 6.5. This includes all the interfaces: JDBC,
    ODBC, libpq++, tcl, pgaccess, PL/pgsql, etc. As it turns out, all the patches
    are minor.
    Given the comments about C++ and the right way to fix the code, I will "repair" these
    patches when I play with 7.0beta. Or do you wish to back out the patches, Bruce, and
    await an updated version? It sounds like the correct form for the C++ example code
    would help all systems, not just the Irix. It sounds like the patches may best be
    left out of the current source tree (given their fuzzy nature) and left for Irix
    users of 6.5.3, and that I should get my act together and work on getting 7.0
    correct? Comments?

    Mark

    --
    Mark Dalphin email: mdalphin@amgen.com
    Mail Stop: 29-2-A phone: +1-805-447-4951 (work)
    One Amgen Center Drive +1-805-375-0680 (home)
    Thousand Oaks, CA 91320 fax: +1-805-499-9955 (work)



    --
    Bruce Momjian | http://www.op.net/~candle
    pgman@candle.pha.pa.us | (610) 853-3000
    + If your life is a hard drive, | 830 Blythe Avenue
    + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
  • Mark Hollomon at Mar 2, 2000 at 12:50 pm

    Mark Dalphin wrote:
    ======================================================================

    The next several patches all "repair" the same problem. The re-declaration
    of the variable 'i' as an 'int' in the second of two 'for' loops, causes
    an error for the SGI C++ compiler. It complains that 'i' is already in
    scope. This is only a problem in the example code.
    Unfortunately, this will cause compilers that more closely follow
    the standard to fail. The 'correct' way to solve this is to pull
    the declaration of 'i' out of the loop headers.

    int i;
    for (i ...


    --

    Mark Hollomon
    mhh@nortelnetworks.com
    ESN 451-9008 (302)454-9008

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-ports @
categoriespostgresql
postedMar 2, '00 at 12:04a
activeJun 9, '00 at 4:01p
posts6
users3
websitepostgresql.org
irc#postgresql

People

Translate

site design / logo © 2022 Grokbase