Thread: compilation error
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.
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)
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.
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)