Thread

  1. compilation error

    Daniel A. Melo <daniel@codata.com.br> — 2001-03-08T14:53:52Z

    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.
    
    
    
  2. Re: compilation error

    ghaverla@freenet.edmonton.ab.ca — 2001-03-08T15:20:25Z

    On Thu, 8 Mar 2001, Daniel A. Melo wrote:
    
    > Im 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.
    
    > ive 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)
    
    
    
    
  3. Re: compilation error

    Daniel A. Melo <daniel@codata.com.br> — 2001-03-08T15:33:22Z

    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.
    
    
    
  4. Re: compilation error

    ghaverla@freenet.edmonton.ab.ca — 2001-03-08T16:08:13Z

    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 ive 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).
    
    > > > ive tryed:
    > > >
    > > > ./configure --prefix="/usr/local/pgsql" --with-perl --with-odbc
    > > > --with-includes="/usr/src/linux-2.2.17/include/linux    /usr/include"
    > 
    > Its 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)