WARNING: uuid.h: present but cannot be compiled

Started by David E. Wheeleralmost 17 years ago9 messagesbugs
Jump to latest
#1David E. Wheeler
david@kineticode.com

I'm building 8.4beta1 on Mac OS X 10.5.6. I have ossp-uuid installed
with its includes in /usr/local/include/ossp-uuid. I'm building
PostgreSQL like so:

export CPPFLAGS="-I/usr/local/include/ossp-uuid"
./configure --with-libedit-preferred --with-bonjour --with-perl PERL=/
user/local/bin/perl \
--with-openssl --with-pam --with-krb5 --with-libxml --with-ldap --with-
ossp-uuid \
--with-libs=/usr/local/lib --with-includes=/usr/local/include --
prefix=/usr/local/pgsql

Configure generates this warning:

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 guess it's finding Apple's uuid.h and not OSSP's? Do I need to set
some other environment variable to tell PostgreSQL where to find the
ossp uuid include?

BTW, I moved OSSP's uuid.h because it caused conflicts with other apps
that just need Apple's uuid.h. This is a known issue for OSSP UUID:

http://cvs.ossp.org/tktview?tn=164

Best,

David

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: David E. Wheeler (#1)
Re: WARNING: uuid.h: present but cannot be compiled

"David E. Wheeler" <david@justatheory.com> writes:

I'm building 8.4beta1 on Mac OS X 10.5.6. I have ossp-uuid installed
with its includes in /usr/local/include/ossp-uuid.

Well, then you would need --with-includes=/usr/local/include/ossp-uuid
(don't bother setting CPPFLAGS in addition).

I guess it's finding Apple's uuid.h and not OSSP's?

Yeah, that's what it looks like, although it's odd that that fails
to compile.

regards, tom lane

#3David E. Wheeler
david@kineticode.com
In reply to: Tom Lane (#2)
Re: WARNING: uuid.h: present but cannot be compiled

On Apr 17, 2009, at 7:08 AM, Tom Lane wrote:

"David E. Wheeler" <david@justatheory.com> writes:

I'm building 8.4beta1 on Mac OS X 10.5.6. I have ossp-uuid installed
with its includes in /usr/local/include/ossp-uuid.

Well, then you would need --with-includes=/usr/local/include/ossp-uuid
(don't bother setting CPPFLAGS in addition).

Duh, I already had --with-includes for another directory. Thanks.

I guess it's finding Apple's uuid.h and not OSSP's?

Yeah, that's what it looks like, although it's odd that that fails
to compile.

Yeah, seems odd…

Best,

David

#4David E. Wheeler
david@kineticode.com
In reply to: David E. Wheeler (#1)
Re: WARNING: uuid.h: present but cannot be compiled

On Apr 17, 2009, at 10:21 AM, David E. Wheeler wrote:

On Apr 17, 2009, at 9:22 AM, David E. Wheeler wrote:

So does it not know to look in /usr/local/include/ossp-uuid when
it's looking for uuid.h?

Tried a few more things. No matter where I put uuid.h, configure
doesn't seem to find it. I put it in /usr/local/include and ran
configure with --with-includes=/usr/local/include and it didn't find
it. RhodiumToad said on IRC that it's looking for "ossp/uuid.h", so
I tried putting it in /usr/local/include/ossp/ and ran configure
with the same --with-include and it still didn't find it. So at this
point, I'm unable to figure out how to get configure to find and use
the OSSP uuid header. :-(

I take that back. It can find it in the ossp subdirectiry, as
RhodiumToad said, but it can't compile it:

checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... yes
configure: WARNING: ossp/uuid.h: present but cannot be compiled
configure: WARNING: ossp/uuid.h: check for missing prerequisite
headers?
configure: WARNING: ossp/uuid.h: see the Autoconf documentation
configure: WARNING: ossp/uuid.h: section "Present But Cannot Be
Compiled"
configure: WARNING: ossp/uuid.h: proceeding with the preprocessor's
result
configure: WARNING: ossp/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 ossp/uuid.h... yes

Best,

David

#5David E. Wheeler
david@kineticode.com
In reply to: David E. Wheeler (#4)
Re: WARNING: uuid.h: present but cannot be compiled

On Apr 17, 2009, at 10:47 AM, David E. Wheeler wrote:

On Apr 17, 2009, at 10:21 AM, David E. Wheeler wrote:

On Apr 17, 2009, at 9:22 AM, David E. Wheeler wrote:

So does it not know to look in /usr/local/include/ossp-uuid when
it's looking for uuid.h?

Tried a few more things. No matter where I put uuid.h, configure
doesn't seem to find it. I put it in /usr/local/include and ran
configure with --with-includes=/usr/local/include and it didn't
find it. RhodiumToad said on IRC that it's looking for "ossp/
uuid.h", so I tried putting it in /usr/local/include/ossp/ and ran
configure with the same --with-include and it still didn't find it.
So at this point, I'm unable to figure out how to get configure to
find and use the OSSP uuid header. :-(

I take that back. It can find it in the ossp subdirectiry, as
RhodiumToad said, but it can't compile it:

checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... yes
configure: WARNING: ossp/uuid.h: present but cannot be compiled
configure: WARNING: ossp/uuid.h: check for missing prerequisite
headers?
configure: WARNING: ossp/uuid.h: see the Autoconf documentation
configure: WARNING: ossp/uuid.h: section "Present But Cannot Be
Compiled"
configure: WARNING: ossp/uuid.h: proceeding with the preprocessor's
result
configure: WARNING: ossp/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 ossp/uuid.h... yes

Oh, and despite that warning, I am in fact able to build and install
the OSSP UUID contrib module. So I've no idea what that warning is
about.

Best,

David

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: David E. Wheeler (#4)
Re: WARNING: uuid.h: present but cannot be compiled

"David E. Wheeler" <david@kineticode.com> writes:

I take that back. It can find it in the ossp subdirectiry, as
RhodiumToad said, but it can't compile it:

checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... yes
configure: WARNING: ossp/uuid.h: present but cannot be compiled

Why not? There should be compiler messages in config.log.

regards, tom lane

#7David E. Wheeler
david@kineticode.com
In reply to: Tom Lane (#6)
Re: WARNING: uuid.h: present but cannot be compiled

On Apr 17, 2009, at 11:08 AM, Tom Lane wrote:

"David E. Wheeler" <david@kineticode.com> writes:

I take that back. It can find it in the ossp subdirectiry, as
RhodiumToad said, but it can't compile it:

checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... yes
configure: WARNING: ossp/uuid.h: present but cannot be compiled

Why not? There should be compiler messages in config.log.

Dunno. Here's the log for the latest build:

Attachments:

config.log.gzapplication/x-gzip; name=config.log.gz; x-unix-mode=0644Download
#8Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: David E. Wheeler (#7)
Re: WARNING: uuid.h: present but cannot be compiled

David E. Wheeler wrote:

On Apr 17, 2009, at 11:08 AM, Tom Lane wrote:

"David E. Wheeler" <david@kineticode.com> writes:

I take that back. It can find it in the ossp subdirectiry, as
RhodiumToad said, but it can't compile it:

checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... yes
configure: WARNING: ossp/uuid.h: present but cannot be compiled

Why not? There should be compiler messages in config.log.

Dunno. Here's the log for the latest build:

configure:13224: checking ossp/uuid.h usability
configure:13241: gcc -no-cpp-precomp -c -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I/usr/local/include/libxml2 -I/usr/local/include conftest.c >&5
In file included from conftest.c:98:
/usr/local/include/ossp/uuid.h:94: error: conflicting types for 'uuid_t'
/usr/include/unistd.h:133: error: previous declaration of 'uuid_t' was here

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

#9David E. Wheeler
david@kineticode.com
In reply to: Alvaro Herrera (#8)
Re: WARNING: uuid.h: present but cannot be compiled

On Apr 17, 2009, at 11:28 AM, Alvaro Herrera wrote:

Dunno. Here's the log for the latest build:

configure:13224: checking ossp/uuid.h usability
configure:13241: gcc -no-cpp-precomp -c -O2 -Wall -Wmissing-
prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-
labels -fno-strict-aliasing -fwrapv -I/usr/local/include/libxml2 -
I/usr/local/include conftest.c >&5
In file included from conftest.c:98:
/usr/local/include/ossp/uuid.h:94: error: conflicting types for
'uuid_t'
/usr/include/unistd.h:133: error: previous declaration of 'uuid_t'
was here

Oh, that old canard. So it's just http://cvs.ossp.org/tktview?tn=164
again.

Thanks,

David