Thread: Port report: Fedora Core 3 x86_64

Port report: Fedora Core 3 x86_64

From
John Gray
Date:
All went mainly well - but a couple of gotchas on the build (these may be
Fedora bugs rather than PG ones). This install is pretty much brand new
(2 days old) with very little local configuration, so should represent an
FC3 out of the box. 

1. com_err.h is in /usr/include/et/com_err.h and isn't found by
configure. Symbolic link to /usr/include fixed this. I notice this is
complained about widely.

2. If tcl binaries and libs are installed, but not tcl-devel packages, the
compile stops on pltcl.c when it can't load tcl.h. This case possibly
merits detection at configure time?

I was doing a vpath build, but otherwise configure command line exactly as
listed by Peter E.

uname -a:

Linux adzuki 2.6.9-1.681_FC3 #1 Thu Nov 18 15:13:22 EST 2004 x86_64 x86_64
x86_64 GNU/Linux

======================All 96 tests passed.
======================

template1=# select version();                                                    version 

-----------------------------------------------------------------------------------------------------------------PostgreSQL
8.0.0rc1on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
 


Regards

John


Re: Port report: Fedora Core 3 x86_64

From
"Andrew Dunstan"
Date:
John Gray said:
> All went mainly well - but a couple of gotchas on the build (these may
> be Fedora bugs rather than PG ones). This install is pretty much brand
> new (2 days old) with very little local configuration, so should
> represent an FC3 out of the box.
>
> 1. com_err.h is in /usr/include/et/com_err.h and isn't found by
> configure. Symbolic link to /usr/include fixed this. I notice this is
> complained about widely.


Instead of doing that, do:
 --with-includes=/usr/include/et


cheers

andrew




Re: Port report: Fedora Core 3 x86_64

From
Tom Lane
Date:
"Andrew Dunstan" <andrew@dunslane.net> writes:
> Instead of doing that, do:
>   --with-includes=/usr/include/et

This same workaround is in the RPMs.  I wonder if it would be worthwhile
for configure to assume the above when --with-krb5 is mentioned.  I
don't know how widespread this particular file layout is ...
        regards, tom lane


Re: Port report: Fedora Core 3 x86_64

From
Peter Eisentraut
Date:
Tom Lane wrote:
> "Andrew Dunstan" <andrew@dunslane.net> writes:
> > Instead of doing that, do:
> >   --with-includes=/usr/include/et
>
> This same workaround is in the RPMs.  I wonder if it would be
> worthwhile for configure to assume the above when --with-krb5 is
> mentioned.  I don't know how widespread this particular file layout
> is ...

I have never seen it before.  I've never had to add any paths to compile 
with Kerberos support, at least since they moved it out 
of /usr/kerberos.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: Port report: Fedora Core 3 x86_64

From
Bernd Helmle
Date:
--On Montag, Dezember 13, 2004 17:23:06 +0100 Peter Eisentraut 
<peter_e@gmx.net> wrote:

> Tom Lane wrote:
>> "Andrew Dunstan" <andrew@dunslane.net> writes:
>> > Instead of doing that, do:
>> >   --with-includes=/usr/include/et
>>
>> This same workaround is in the RPMs.  I wonder if it would be
>> worthwhile for configure to assume the above when --with-krb5 is
>> mentioned.  I don't know how widespread this particular file layout
>> is ...
>
> I have never seen it before.  I've never had to add any paths to compile
> with Kerberos support, at least since they moved it out
> of /usr/kerberos.

FYI, i had the same issue here on Mandrake Linux 10.0/10.1 (32Bit), 
Community Edition and Official.

-- 
 Bernd


Re: Port report: Fedora Core 3 x86_64

From
Tom Lane
Date:
Bernd Helmle <mailings@oopsware.de> writes:
> Peter Eisentraut <peter_e@gmx.net> wrote:
>> Tom Lane wrote:
>>> "Andrew Dunstan" <andrew@dunslane.net> writes:
>>>> Instead of doing that, do:
>>>> --with-includes=/usr/include/et

>>> This same workaround is in the RPMs.  I wonder if it would be
>>> worthwhile for configure to assume the above when --with-krb5 is
>>> mentioned.  I don't know how widespread this particular file layout
>>> is ...

>> I have never seen it before.  I've never had to add any paths to compile
>> with Kerberos support, at least since they moved it out
>> of /usr/kerberos.

> FYI, i had the same issue here on Mandrake Linux 10.0/10.1 (32Bit), 
> Community Edition and Official.

Actually, I'm wondering why we directly include com_err.h at all.  At
least in the version of <krb5.h> I have here, that file is included by
krb5.h; so both backend/libpq/auth.c and interfaces/libpq/fe-auth.c
compile just fine with #include <com_err.h> diked out.  I suspect that
our problems in this area all stem from trying to include something
we are not supposed to include to begin with.

It's possible that com_err.h was considered an exported file in old
krb5 releases but no longer is.  So perhaps what we should do is make
the C code read#ifdef HAVE_COM_ERR_H#include <com_err.h>#endif
and adjust configure to generate that symbol, but not require the header
to be found.

Comments?
        regards, tom lane


Kerberos includes (was Re: Port report: Fedora Core 3 x86_64)

From
Tom Lane
Date:
I wrote:
>> [ concerning a discussion about Kerberos' com_err.h being in
>>   /usr/include/et/ on some systems ]

> Actually, I'm wondering why we directly include com_err.h at all.  At
> least in the version of <krb5.h> I have here, that file is included by
> krb5.h; so both backend/libpq/auth.c and interfaces/libpq/fe-auth.c
> compile just fine with #include <com_err.h> diked out.

After some digging in dusty old tarballs, I have learned that Kerberos 5
releases 1.0.* did indeed require a separate #include of com_err.h, but
in releases 1.1 and later krb5.h itself includes com_err.h and so
there's no need for a separate #include.

Kerberos 5 1.0.* includes serious known, never-patched vulnerabilities.
I can't believe that anyone is going to build PG 8.0 with krb5 1.0,
or that we need to be complicit in their trying to do so.

Accordingly, I think we should just avoid the whole problem of exactly
where com_err.h lives by removing the #includes for it as well as the
configure test for it.
        regards, tom lane


Re: Kerberos includes (was Re: Port report: Fedora Core 3 x86_64)

From
"Andrew Dunstan"
Date:
Tom Lane said:
> I wrote:
>>> [ concerning a discussion about Kerberos' com_err.h being in
>>>   /usr/include/et/ on some systems ]
>
>> Actually, I'm wondering why we directly include com_err.h at all.  At
>> least in the version of <krb5.h> I have here, that file is included by
>> krb5.h; so both backend/libpq/auth.c and interfaces/libpq/fe-auth.c
>> compile just fine with #include <com_err.h> diked out.
>
> After some digging in dusty old tarballs, I have learned that Kerberos
> 5 releases 1.0.* did indeed require a separate #include of com_err.h,
> but in releases 1.1 and later krb5.h itself includes com_err.h and so
> there's no need for a separate #include.
>
> Kerberos 5 1.0.* includes serious known, never-patched vulnerabilities.
> I can't believe that anyone is going to build PG 8.0 with krb5 1.0, or
> that we need to be complicit in their trying to do so.
>
> Accordingly, I think we should just avoid the whole problem of exactly
> where com_err.h lives by removing the #includes for it as well as the
> configure test for it.
>


Works for me. I'm not sure why the reasoning only applies to 8.0 - is it a
case of the 'only fix serious bugs in stable releases' rule?

cheers

andrew




Re: Kerberos includes (was Re: Port report: Fedora Core 3 x86_64)

From
Tom Lane
Date:
"Andrew Dunstan" <andrew@dunslane.net> writes:
> Tom Lane said:
>> Accordingly, I think we should just avoid the whole problem of exactly
>> where com_err.h lives by removing the #includes for it as well as the
>> configure test for it.

> Works for me. I'm not sure why the reasoning only applies to 8.0 - is it a
> case of the 'only fix serious bugs in stable releases' rule?

Pretty much.  All this is really saving is the need to specify a
--with-includes option for Kerberos builds on some platforms, so
I'd classify it as a minor improvement and not a bug fix.
        regards, tom lane