PGSQL 7.2.1 compile error on Red Hat 5.2 due to peercred
От | Joe Bernstein |
---|---|
Тема | PGSQL 7.2.1 compile error on Red Hat 5.2 due to peercred |
Дата | |
Msg-id | 20020413222415.A9362@stanley.postilion.org обсуждение исходный текст |
Ответы |
Re: PGSQL 7.2.1 compile error on Red Hat 5.2 due to peercred
(Tom Lane <tgl@sss.pgh.pa.us>)
|
Список | pgsql-ports |
On attempts the last two weekends to compile first PostgreSQL 7.2, then 7.2.1, I've run into the same error. The machine is an i586 with a Linux on it that is ancestrally Red Hat 5.2, kernel 2.3.2, but that has been hacked since and may since have had another Linux installed over it (I'm not sure). I do know that I ran into trouble trying to install Perl 5.005_03 on it; that it now has an installation of Perl 5.004_04 which may or may not be later (I didn't put it there); that I have successfully installed trn 4.0-something on it. So in other words it may be a broken OS, but isn't totally broken. The error with Perl had something to do with SysV IPCs. The error occurs, after a successful run of configure, when gmake reaches src/backend/libpq/hba.c. It goes like this: gcc -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/incl ude -I/opt/include -I/usr/local/ssl/include -c hba.c -o hba.o hba.c: In function `ident_unix': hba.c:885: storage size of `peercred' isn't known hba.c:885: warning: unused variable `peercred' gmake[3]: *** [hba.o] Error 1 gmake[3]: Leaving directory `/home/joe/postgresql-7.2.1/src/backend/libpq' gmake[2]: *** [libpq-recursive] Error 2 gmake[2]: Leaving directory `/home/joe/postgresql-7.2.1/src/backend' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/home/joe/postgresql-7.2.1/src' gmake: *** [all] Error 2 I looked at hba.c. I have never been good at C, and haven't looked at it much at all since 1984, but it *looks* to me like the code there is assuming that something will be implemented Just So, which obviously isn't implemented Just So on this machine. (Looking more carefully, I see that there's an include earlier for a ucred.h, which is not present in /usr/include/sys on this machine, or anywhere else that whereis knows about. I assume this is relevant since peercred is declared as a struct of type ucred.) I looked in Google. It appears that the recent addition of peercred for authentication was meant to make ident authentication work in Linux machines. I hadn't actually planned to use ident authentication at all (but did see the posts saying that without it you can't run VACUUM; if that's true, why didn't the manual say so?). It also appears that peercred is not the only way to make ident authentication work on Linux; it seems to be the preferred one, but I have the impression there may even be other ways in the shipped source, let alone possible ways not included there. But I don't know C well, and certainly don't know how gcc works or how I can convince it not to care about something it considers bad code... on this machine, anyway. So look: Is whatever may or may not be wrong with this machine concerning peercred so catastrophically wrong that I Must Not attempt to run PostgreSQL? If this is not the case, I'd really appreciate some advice as to how I can change what to get the program to compile. I have full logs of the configure and gmake runs, in case you need to know anything more. Thanks Joe Bernstein joe@sfbooks.com http://these-survive.postilion.org/ (which indicates why I'm trying to compile PostgreSQL, by the way)
В списке pgsql-ports по дате отправления:
Предыдущее
От: Lamar OwenДата:
Сообщение: PostgreSQL 7.2.1-2PGDG RPMs available for RedHat-skipjack 7.2.93 and RedHat 6.2/SPARC
Следующее
От: Hannu KrosingДата:
Сообщение: Re: [HACKERS] PostgreSQL 7.2.1-2PGDG RPMs available for