Opened 11 years ago

Closed 10 years ago

#40199 closed defect (fixed)

postgresql fails to build due to ossp-uuid conflicts with host APIs

Reported by: conradwt (Conrad Taylor) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.99
Keywords: Cc: mww@…, jyrkiwahlstedt, conradwt (Conrad Taylor)
Port: ossp-uuid postgresql92 postgresql93

Description

PostgreSQL 9.2.4 fails to build using Xcode 5 DP 5. Please see the attached main.log

Attachments (1)

main.log (97.8 KB) - added by conradwt (Conrad Taylor) 11 years ago.

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by conradwt (Conrad Taylor)

Attachment: main.log added

comment:1 Changed 11 years ago by conradwt (Conrad Taylor)

Cc: conradwt@… added

Cc Me!

comment:2 Changed 11 years ago by conradwt (Conrad Taylor)

The port which failed to build is postgresql92 port. Next, I initiated the installation process by doing the following:

sudo port install postgresql92-server

comment:3 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Port: ossp-uuid postgresql92 postgresql93 added; postgresql92-server removed
Summary: PostgreSQL 9.2.4 fails to buildpostgresql fails to build due to ossp-uuid conflicts with host APIs
:info:build In file included from uuid-ossp.c:24:
:info:build In file included from /opt/local/include/ossp/uuid.h:38:
:info:build /usr/include/gethostuuid.h:39:25: error: expected identifier
:info:build int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA);
:info:build In file included from uuid-ossp.c:24:
:info:build /opt/local/include/ossp/uuid.h:94:24: error: typedef redefinition with different types ('struct uuid_st' vs '__darwin_uuid_t' (aka 'unsigned char [16]'))
:info:build typedef struct uuid_st uuid_t;
:info:build /usr/include/sys/_types/_uuid_t.h:30:25: note: previous definition is here
:info:build typedef __darwin_uuid_t uuid_t;

:info:build In file included from uuid-ossp.c:24:
:info:build /opt/local/include/ossp/uuid.h:107:22: error: conflicting types for 'uuid_compare'
:info:build extern uuid_rc_t     uuid_compare  (const uuid_t  *_uuid, const uuid_t *_uuid2, int *_result);
:info:build /usr/include/uuid/uuid.h:55:5: note: previous declaration is here
:info:build int uuid_compare(const uuid_t uu1, const uuid_t uu2);
:info:build gnumake: *** [uuid-ossp.o] Error 1

comment:4 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Keywords: mavericks removed

comment:5 Changed 11 years ago by c9s (Yo-An Lin)

Here is the workable patch for you:

diff --git a/dports/databases/postgresql92/Portfile b/dports/databases/postgresql92/Portfile
index 2bb54e3..56e528e 100644
--- a/dports/databases/postgresql92/Portfile
+++ b/dports/databases/postgresql92/Portfile
@@ -90,6 +90,10 @@ platform darwin 12 {
     patchfiles-append   postgresql-uuid-ossp.patch
 }

+platform darwin 13 {
+    patchfiles-append   postgresql-uuid-ossp.patch
+}
+
 set contribs   "adminpack auto_explain dblink file_fdw fuzzystrmatch hstore lo ltree oid2name pageinspect pg_archivecleanup pg_buffercache pg_freespacemap pg_standby pg

 post-build {

comment:6 Changed 10 years ago by jyrkiwahlstedt

Resolution: fixed
Status: newclosed

done in r112447 for all supported versions (not 8.3, being EOL'd already)

Note: See TracTickets for help on using tickets.