can't build contrib/uuid-ossp

Started by Jeff Hamannabout 15 years ago4 messagesbugs
Jump to latest
#1Jeff Hamann
jeff.hamann@forestinformatics.com

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 installing uuid-1.6.2 as it throws an error too).

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

I'm nor trying to recreate the postgresql-9.0.2 install from scratch and get 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/

#2Robert Haas
robertmhaas@gmail.com
In reply to: Jeff Hamann (#1)
Re: can't build contrib/uuid-ossp

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-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

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

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

#3Robert Haas
robertmhaas@gmail.com
In reply to: Jeff Hamann (#1)
Re: can't build contrib/uuid-ossp

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

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Haas (#3)
Re: can't build contrib/uuid-ossp

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