Thread: compilation error

compilation error

From
"Daniel A. Melo"
Date:
Hi all,

I´m getting compilation errors.

The configure could not find some headers files (limits.h, netdb.h,
pwd.h...) .
i searched for them  and they are in
"/usr/src/linux-2.2.17/include/linux" and " /usr/include"

i´ve tryed:

./configure --prefix="/usr/local/pgsql" --with-perl --with-odbc
--with-includes="/usr/src/linux-2.2.17/include/linux    /usr/include"

but the errors still there.

someone could please help me?

I´m using Conectiva Linux (Red Hat Like)
kernel 2.2.17
glibc 2.1.13
postgres 7.0.3

[]´s

Daniel A.


Re: compilation error

From
ghaverla@freenet.edmonton.ab.ca
Date:
On Thu, 8 Mar 2001, Daniel A. Melo wrote:

> I�m getting compilation errors.
>
> The configure could not find some headers files (limits.h, netdb.h,
> pwd.h...) .
> i searched for them  and they are in
> "/usr/src/linux-2.2.17/include/linux" and " /usr/include"

Are you saying that there is only 1 of each of those files,
distributed across the 2 different directory trees, or that
both directory trees contain files with those names?

I believe I've seen mention that application programs (like
PostgreSQL) should NOT be using kernel headers.  Apparently
that is going to be made more difficult in the 2.4.x series.

> i�ve tryed:
>
> ./configure --prefix="/usr/local/pgsql" --with-perl --with-odbc
> --with-includes="/usr/src/linux-2.2.17/include/linux    /usr/include"

This doesn't quite look right (the includes directive).  I would
expect something like a PATH statement
 /usr/src/linux-2.2.17/include/linux:/usr/include
or
 --with-includes=/usr/src/linux....  --with-includes=/usr/include
But, since /usr/include should always be part of the includes
path, you shouldn't need to give this to the configure command.
It is for additional includes (I believe).

Gord

Matter Realisations     http://www.materialisations.com/
Gordon Haverland, B.Sc. M.Eng. President
101  9504 182 St. NW    Edmonton, AB, CA  T5T 3A7
780/481-8019            ghaverla @ freenet.edmonton.ab.ca
780/993-1274 (cell)



Re: compilation error

From
"Daniel A. Melo"
Date:
ghaverla@freenet.edmonton.aca wrote:

> > The configure could not find some headers files (limits.h, netdb.h,
> > pwd.h...) .
> > i searched for them  and they are in
> > "/usr/src/linux-2.2.17/include/linux" and " /usr/include"
>
> Are you saying that there is only 1 of each of those files,
> distributed across the 2 different directory trees, or that
> both directory trees contain files with those names?
>

both contain files with those names and i´ve found other directories with
files like those....


>
> I believe I've seen mention that application programs (like
> PostgreSQL) should NOT be using kernel headers.  Apparently
> that is going to be made more difficult in the 2.4.x series.
>

And what headers should i use?????


>
> > i´ve tryed:
> >
> > ./configure --prefix="/usr/local/pgsql" --with-perl --with-odbc
> > --with-includes="/usr/src/linux-2.2.17/include/linux    /usr/include"
>

It´s exactly like the postgres html manual....


>
> This doesn't quite look right (the includes directive).  I would
> expect something like a PATH statement
>  /usr/src/linux-2.2.17/include/linux:/usr/include
> or
>  --with-includes=/usr/src/linux....  --with-includes=/usr/include
> But, since /usr/include should always be part of the includes
> path,

but the limits.h was not in /usr/include and i made a copy from
/usr/src/linux-2.2.17/include/linux:/ to there...

was it wrong?

what should i do now???

[]´s

Daniel A.


Re: compilation error

From
ghaverla@freenet.edmonton.ab.ca
Date:
On Thu, 8 Mar 2001, Daniel A. Melo wrote:
> ghaverla@freenet.edmonton.aca wrote:

> > > The configure could not find some headers files (limits.h, netdb.h,
> > > pwd.h...) .
> > > i searched for them  and they are in
> > > "/usr/src/linux-2.2.17/include/linux" and " /usr/include"
> >
> > Are you saying that there is only 1 of each of those files,
> > distributed across the 2 different directory trees, or that
> > both directory trees contain files with those names?
>
> both contain files with those names and i�ve found other directories with
> files like those....

The ones in /usr/include should be used if they are there.  Sometimes
a file is in a subdirectory of /usr/include (like
/usr/include/sys/time.h), in which case the include should have been
#include <sys/time.h>

Somehow, I doubt a problem like this is happening in your
case.

> > I believe I've seen mention that application programs (like
> > PostgreSQL) should NOT be using kernel headers.  Apparently
> > that is going to be made more difficult in the 2.4.x series.
>
> And what headers should i use?????

If PostgreSQL is calling kernel source headers, that is a job
for the PostgreSQL maintainers to address.  Somehow, your ./configure
has gotten confused (IMHO).

> > > i�ve tryed:
> > >
> > > ./configure --prefix="/usr/local/pgsql" --with-perl --with-odbc
> > > --with-includes="/usr/src/linux-2.2.17/include/linux    /usr/include"
>
> It�s exactly like the postgres html manual....

Well, I haven't read the manual in a while.  But I have
been compiling a zillion packages (it seems) lately.

> > This doesn't quite look right (the includes directive).  I would
> > expect something like a PATH statement
> >  /usr/src/linux-2.2.17/include/linux:/usr/include
> > or
> >  --with-includes=/usr/src/linux....  --with-includes=/usr/include
> > But, since /usr/include should always be part of the includes
> > path,
>
> but the limits.h was not in /usr/include and i made a copy from
> /usr/src/linux-2.2.17/include/linux:/ to there...

I'm running Debian stable on a handy machine, it has many limits.h
include files: /usr/include, /usr/include/linux, a gcc specific one,
a perl one (actually perl-tk), several kernel ones (more than 1
kernel source tree on my machine).  In general, the 9 limits.h files
on my system are all different.  So, you don't want to copy a limits.h
file from the kernel sources into /usr/include.  I suspect your
C compiler didn't install completely/correctly, for you to be missing
header files in /usr/include.

Maybe you should try re-installing or updating your C-compiler,
and see if you get all the headers files.

Gord

Matter Realisations     http://www.materialisations.com/
Gordon Haverland, B.Sc. M.Eng. President
101  9504 182 St. NW    Edmonton, AB, CA  T5T 3A7
780/481-8019            ghaverla @ freenet.edmonton.ab.ca
780/993-1274 (cell)