Thread: Errors in Postgres

Errors in Postgres

From
System Administrator
Date:
Hi !

I found some errors in pgsql.
1.

----
# ./configure --with-template=solaris_sparc_gcc --enable-hba --with-perl
loading cache ./config.cache
checking host system type... sparc-sun-solaris2.5.1
checking echo setting...
checking setting template to... solaris_sparc_gcc
checking setting USE_LOCALE... disabled
checking setting CYR_RECODE... disabled
checking setting MULTIBYTE... disabled
checking setting DEF_PGPORT... 5432
checking setting DEF_MAXBACKENDS... 32
checking setting USE_TCL... disabled
checking setting USE_PERL... enabled
checking setting USE_ODBC... disabled
checking setting ASSERT CHECKING... disabled
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking whether gcc needs -traditional... (cached) no
- setting CPPFLAGS=
- setting LDFLAGS=
checking for c++... c++
checking whether the C++ compiler (c++   ) works... no
configure: error: installation or configuration problem: C++ compiler cannot
create executables.
#
----

2. If I try it with additional option "--with-CXX=/usr/local/bin/gcc"
and then type "gmake all" - in some time I get following :

----
gmake -C libpq++ all
gmake[2]: Entering directory
`/var/adm/files/postgresql-6.5.2/src/interfaces/libpq++'
/usr/local/bin/gcc -I../../backend -I../../include -I../../interfaces/libpq
-I../../include -I../../backend    -Wall -Wmissing-prototypes -fPIC   -c
pgconnection.cc -o pgconnection.o
In file included from pgconnection.cc:20:
pgconnection.h:24: string: No such file or directory
gmake[2]: *** [pgconnection.o] Error 1
gmake[2]: Leaving directory
`/var/adm/files/postgresql-6.5.2/src/interfaces/libpq++'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/var/adm/files/postgresql-6.5.2/src/interfaces'
gmake: *** [all] Error 2
#
----

In this pgconnection.h line 24 I found :
  #include <string>
Maybe there must be
  #include <string.h>
??

What is wrong ?

Postgres 6.5.2 was being compiled on SUN SPARCstation 5, under Solaris 2.5.1.
All necessary utilities have been installed: gcc 2.8.1, gmake 3.76.1, flex
2.5.4a.
Also perl5 4.004 was installed.

Look forward to hearing from you soon.

Oleg

Re: Errors in Postgres

From
Bruce Momjian
Date:
This is a standard C++ problem.  Some platforms need string.h, and some
just string.  We have not figured out a way to make this work on all
platforms.

Any ideas?  We kept switching them back and forth until we realized
this.  Sun's seem to have the problem.

At this point, and OS-specific test would probably be OK.

> Hi !
>
> I found some errors in pgsql.
> 1.
>
> ----
> # ./configure --with-template=solaris_sparc_gcc --enable-hba --with-perl
> loading cache ./config.cache
> checking host system type... sparc-sun-solaris2.5.1
> checking echo setting...
> checking setting template to... solaris_sparc_gcc
> checking setting USE_LOCALE... disabled
> checking setting CYR_RECODE... disabled
> checking setting MULTIBYTE... disabled
> checking setting DEF_PGPORT... 5432
> checking setting DEF_MAXBACKENDS... 32
> checking setting USE_TCL... disabled
> checking setting USE_PERL... enabled
> checking setting USE_ODBC... disabled
> checking setting ASSERT CHECKING... disabled
> checking for gcc... (cached) gcc
> checking whether the C compiler (gcc  ) works... yes
> checking whether the C compiler (gcc  ) is a cross-compiler... no
> checking whether we are using GNU C... (cached) yes
> checking whether gcc accepts -g... (cached) yes
> checking how to run the C preprocessor... (cached) gcc -E
> checking whether gcc needs -traditional... (cached) no
> - setting CPPFLAGS=
> - setting LDFLAGS=
> checking for c++... c++
> checking whether the C++ compiler (c++   ) works... no
> configure: error: installation or configuration problem: C++ compiler cannot
> create executables.
> #
> ----
>
> 2. If I try it with additional option "--with-CXX=/usr/local/bin/gcc"
> and then type "gmake all" - in some time I get following :
>
> ----
> gmake -C libpq++ all
> gmake[2]: Entering directory
> `/var/adm/files/postgresql-6.5.2/src/interfaces/libpq++'
> /usr/local/bin/gcc -I../../backend -I../../include -I../../interfaces/libpq
> -I../../include -I../../backend    -Wall -Wmissing-prototypes -fPIC   -c
> pgconnection.cc -o pgconnection.o
> In file included from pgconnection.cc:20:
> pgconnection.h:24: string: No such file or directory
> gmake[2]: *** [pgconnection.o] Error 1
> gmake[2]: Leaving directory
> `/var/adm/files/postgresql-6.5.2/src/interfaces/libpq++'
> gmake[1]: *** [all] Error 2
> gmake[1]: Leaving directory `/var/adm/files/postgresql-6.5.2/src/interfaces'
> gmake: *** [all] Error 2
> #
> ----
>
> In this pgconnection.h line 24 I found :
>   #include <string>
> Maybe there must be
>   #include <string.h>
> ??
>
> What is wrong ?
>
> Postgres 6.5.2 was being compiled on SUN SPARCstation 5, under Solaris 2.5.1.
> All necessary utilities have been installed: gcc 2.8.1, gmake 3.76.1, flex
> 2.5.4a.
> Also perl5 4.004 was installed.
>
> Look forward to hearing from you soon.
>
> Oleg
>


--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@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

Re: [GENERAL] Re: Errors in Postgres

From
Martin Weinberg
Date:
Bruce Momjian wrote on Sun, 24 Oct 1999 08:42:53 EDT
>This is a standard C++ problem.  Some platforms need string.h, and some
>just string.  We have not figured out a way to make this work on all
>platforms.
>
>Any ideas?  We kept switching them back and forth until we realized
>this.  Sun's seem to have the problem.
>
>At this point, and OS-specific test would probably be OK.
>

Yes, this has been trouble everywhere.

I believe <string> is ANSI.  In the latest gnulibs, the old libg++ is
replaced by stdc++ which should have "string" defined.  For what it's
worth, this works on one of our sparc solaris boxes with gcc 2.8.1.
Although it may well be something else, you might check to make sure
that you have the latest version of the gnu g++ libraries.

FYI, in the gnu implemenation, the "string" header is just an include
of the original "string.h" but at least it's conforming.

--Martin

Re: [GENERAL] Re: Errors in Postgres

From
Michael Simms
Date:
>
> This is a standard C++ problem.  Some platforms need string.h, and some
> just string.  We have not figured out a way to make this work on all
> platforms.
>
> Any ideas?  We kept switching them back and forth until we realized
> this.  Sun's seem to have the problem.
>

Why not just add an extra thing into the config scripts. Something like:

echo '#include <string.h>' > test.c
echo 'int main(int argc,char **argv) {' >> test.c

Something here where you have a clash...

echo 'return 1;}' >> test.c

$CC test.c -o test

if [ -f test ]
then
    echo '#define NEED_STRING_H' >> someheader.h
else
    echo '#include <string.h>' > test.c
    echo 'int main(int argc,char **argv) {' >> test.c

    Something here where you have a clash...

    echo 'return 1;}' >> test.c

    $CC test.c -o test

    if [ -f test ]
    then
        echo '#define NEED_STRING' >> someheader.h
    else
        echo '#define UNKNOWN_STRING' >> soneheader.h
    fi
fi

and then in your main program files

#include "someheader.h"

#ifdef NEED_STRING
#include <string>
#endif
#ifdef NEED_STRING_H
#include <string.h>
#endif


This is how I test for things like that. OK so I wrote all of my config stuff
before I knew about gnu's autoconf, and to be honest I dont know how well
this would integrate with that, but it works for me to compile my own
projects on just about any un*x flavor Ive been able to get access
too, plus cygwin32

                        ~Michael

Re: [INTERFACES] Re: Errors in Postgres

From
Tom Lane
Date:
Bruce Momjian <maillist@candle.pha.pa.us> writes:
> This is a standard C++ problem.  Some platforms need string.h, and some
> just string.  We have not figured out a way to make this work on all
> platforms.

> At this point, and OS-specific test would probably be OK.

Seems like a configure-time test is the obvious answer.

            regards, tom lane

[INTERFACES] Re: LIKE clause

From
"Thomas Byrnes"
Date:
Alright, it seems simple enough, but I am having no luck figuring out the
syntax for the LIKE clause.

I have tried: WHERE name LIKE 'A*' and other similar combinations to no
avail. Anyone have any suggestions?

Thanks much,

Tom


Re: [INTERFACES] Re: LIKE clause

From
"E.E. Mellor"
Date:
On Mon, 25 Oct 1999, Thomas Byrnes wrote:

> Alright, it seems simple enough, but I am having no luck figuring out the
> syntax for the LIKE clause.
>
> I have tried: WHERE name LIKE 'A*' and other similar combinations to no
> avail. Anyone have any suggestions?

LIKE 'A%', if I remember correctly.

Ewan.