Subject: what do I have??

From: [email-masked] (J.Plewe)
Date: Wed, 11 May 94 10:16:01 +0200

Hello!

I have installed PG4.0.1 from a Linux-CD (DLD 1.1.1c) in binary form.

I had some problems 'load'ing object files. After some investigation,
it turned out that the symbol _atof is missing. Instead I found 
a symbol _atof1 in the PG executable. 
I changed the source of circle.c to use atof1() instead of atof()
and suddenly it worked.
 
So now my question: what do I have installed? A mutant?
Is this a known bug? Or a feature?

- Joerg Plewe

===============================================================================
    To add/remove yourself from the POSTGRES mailing list: send mail with 
    the subject line ADD or DEL to "[email-masked]"

    If this fails, send mail to "[email-masked]" and
    a human will deal with it.  DO NOT post to the "postgres" mailing list.
===============================================================================

---

From: [email-masked] (Kai Petzke)
Date: Thu, 12 May 1994 10:24:27 +0200 (MET DST)

> I have installed PG4.0.1 from a Linux-CD (DLD 1.1.1c) in binary form.

I don't have that CD.  Unlike Yggdrasil, they have not given me a
free copy of it.  I have not seen any other bug report about the
Posgres as it is on the DLD CD, though.

> Is this a known bug? Or a feature?

I do not know exactly, what is going on.  My guess is, that the
reason for the problem is caused by the handling of atof():

- Older versions of the linux C library had atof() unconditionally
  defined as a macro, that calls strtod() instead.
- Newer versions only define that macro, if optimization is
  turned on.
- No macro is defined, if you do not include the <stdlib.h>
  header file.

An atof() function should be defined in the C library, though.
The dynamical loader should link in that one, if it is needed.
Maybe, they have put outdated library stubs on your CD.  Try
compiling (without optimiser!) and linking a simple function,
which uses atof.  If that fails, too, their CD is the problem,
not postgres.

To get circle.c compiled correctly:
- Make sure, it includes <stdlib.h>
- Compile it using the -O or -O2 optimiser flag.

Kai