Thread: can't build contrib/uuid-ossp

can't build contrib/uuid-ossp

From
Jeff Hamann
Date:
Dear PostgreSQL bug-squasher-team,

I was trying to build postgresql-9.0.2 with the following ./configure:

$ ./configure --enable-cassert --enable-debug --with-python --with-ossp-uuid

and got the following message:

checking uuid.h presence... yes
configure: WARNING: uuid.h: present but cannot be compiled
configure: WARNING: uuid.h:     check for missing prerequisite headers?
configure: WARNING: uuid.h: see the Autoconf documentation
configure: WARNING: uuid.h:     section "Present But Cannot Be Compiled"
configure: WARNING: uuid.h: proceeding with the preprocessor's result
configure: WARNING: uuid.h: in the future, the compiler will take precedence
configure: WARNING:     ## ---------------------------------------- ##
configure: WARNING:     ## Report this to pgsql-bugs@postgresql.org ##
configure: WARNING:     ## ---------------------------------------- ##
checking for uuid.h... yes

I've downloaded and installed the requisite ossp-uuid library:

ftp ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz

which builds fine (I didn't use the ./configure --with-pgsql option for ins=
talling uuid-1.6.2 as it throws an error too).=20

Sadly, I got this to install yesterday, but in a ridiculously stupid brain =
lapse, I didn't document it.=20

I'm nor trying to recreate the postgresql-9.0.2 install from scratch and ge=
t stuck here.

Help?

Respectfully,
Jeff.


Jeff Hamann, PhD
PO Box 1421
Corvallis, Oregon 97339-1421
541-754-2457
jeff.hamann[at]forestinformatics[dot]com
http://www.forestinformatics.com
http://forufus.blogspot.com/

Re: can't build contrib/uuid-ossp

From
Robert Haas
Date:
On Wed, Feb 16, 2011 at 1:10 PM, Jeff Hamann
<jeff.hamann@forestinformatics.com> wrote:
> Dear PostgreSQL bug-squasher-team,
> I was trying to build postgresql-9.0.2 with the following ./configure:
> $ ./configure --enable-cassert --enable-debug --with-python --with-ossp-u=
uid
> and got the following message:
> checking uuid.h presence... yes
> configure: WARNING: uuid.h: present but cannot be compiled
> configure: WARNING: uuid.h: =A0 =A0 check for missing prerequisite header=
s?
> configure: WARNING: uuid.h: see the Autoconf documentation
> configure: WARNING: uuid.h: =A0 =A0 section "Present But Cannot Be Compil=
ed"
> configure: WARNING: uuid.h: proceeding with the preprocessor's result
> configure: WARNING: uuid.h: in the future, the compiler will take precede=
nce
> configure: WARNING: =A0 =A0 ## ---------------------------------------- ##
> configure: WARNING: =A0 =A0 ## Report this to pgsql-bugs@postgresql.org ##
> configure: WARNING: =A0 =A0 ## ---------------------------------------- ##
> checking for uuid.h... yes

Hmm.  What platform is this on?  And what's in config.log?

--=20
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: can't build contrib/uuid-ossp

From
Robert Haas
Date:
On Thu, Mar 3, 2011 at 11:16 AM, Jeff Hamann <jeff.d.hamann@gmail.com> wrote:
> I've attached the config.log file.

It looks like the trouble is here:

In file included from conftest.c:92:
/usr/local/include/uuid.h:94: error: conflicting types for 'uuid_t'
/usr/include/unistd.h:133: error: previous declaration of 'uuid_t' was here

So the problem is, apparently, that Darwin defines its own version of
uuid_t that clashes with the one provided by uuid-ossp.  There are
some #ifdefs around that bit of stuff on my machine, so it might be
possible to #define your way out of the problem.

If you figure out how to get it working, I think we'd be happy to
accept a patch that fixes it, unless it's only failing due to some
funky detail of your configuration, which I suspect isn't the case
based on a quick look at my system.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: can't build contrib/uuid-ossp

From
Tom Lane
Date:
Robert Haas <robertmhaas@gmail.com> writes:
> On Thu, Mar 3, 2011 at 11:16 AM, Jeff Hamann <jeff.d.hamann@gmail.com> wrote:
>> I've attached the config.log file.

> It looks like the trouble is here:

> In file included from conftest.c:92:
> /usr/local/include/uuid.h:94: error: conflicting types for 'uuid_t'
> /usr/include/unistd.h:133: error: previous declaration of 'uuid_t' was here

> So the problem is, apparently, that Darwin defines its own version of
> uuid_t that clashes with the one provided by uuid-ossp.  There are
> some #ifdefs around that bit of stuff on my machine, so it might be
> possible to #define your way out of the problem.

> If you figure out how to get it working, I think we'd be happy to
> accept a patch that fixes it, unless it's only failing due to some
> funky detail of your configuration, which I suspect isn't the case
> based on a quick look at my system.

On my Mac with uuid-ossp 1.6.2 installed in /usr/local, configure whines
as shown above but the build goes through just fine, which probably is
because uuid-ossp.c doesn't try to include <unistd.h>.  So the conflict
noted by configure doesn't really affect us AFAICS.  I would say that
if there's anything to be done about it, it's the uuid-ossp folks'
problem to solve not ours.

            regards, tom lane