Обсуждение: WARNING: uuid.h: present but cannot be compiled
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
"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
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=3D/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=85 Best, David
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
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
"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
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: Best, David
Вложения
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.
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