Hello. 

Compiling PostgreSQL 8.3 beta 2 on OS X 10.4 leads to some configuration
problems, at least for an ordinary user like me -- so please bare with me if
the following is due to user error and not PostgreSQL's fault.

Some necessary notes on my environment:
-- OS X 10.4.10 /w Xcode 2.5.0 (latest dev tools from Apple, incl. gcc
4.0.1) 
-- My PostgreSQL installations go to a nonstandard directory, /Library, for
instance /Library/PostgreSQL-8.2  or  /Library/PostgreSQL-8.3
-- I compile PostgreSQL from source, no pre-built binaries, Fink,
DarwinPorts and the like involved
-- Binaries and libraries installed _by the OS itself_ reside in /usr (e.g.
uuid, libxml2, libxslt)
-- I have _updated or alternative versions_ of these three libraries
installed in /usr/local, all are tested and working AFAICS


So to sum up, I have alternative versions of some prerequisites in different
locations. This leads to two problems building PostgreSQL 8.3, one with XSLT
support, one with ossp-uuid. Both problems have a common denominator, I'll
concentrate on ossp-uuid here.

I installed ossp-uuid 1.6.0 and put it in /usr/local.
Configuring the 8.3beta2-build  --with-ossp-uuid  leads to a warning (snip
from the log, complete compilation steps below):
... 
checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... no
checking for ossp/uuid.h... no
checking uuid.h usability... no
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 [EMAIL PROTECTED] ##
configure: WARNING:     ## ---------------------------------------- ##
checking for uuid.h... yes
checking whether byte ordering is bigendian... yes
...
(end snip) 


The reason seems to be that ossp-uuid (in /usr/local) and OS X's built-in
uuid (in /usr) get in each others way: ossp-uuid doesn't use the
'/ossp'-directory layout on OS X (perhaps unless you decide to configure a
quite nonstandard ossp-uuid installation), so there is no 'ossp/uuid', hence
ossp-uuid is present, but it is ignored. Using
--with-libraries=/usr/lib/:/usr/local/lib/ (and --with-includes=...
respectively)  _or_  --with-libraries=/usr/local/lib/:/usr/lib/:  makes no
difference. There may be some tricks to tell PostgreSQL's configure script
to recognize the correct uuid, but that's beyond my skills.


The preferred solution, at least from my limited perspective, would be to
add either/or 
-- an environment variable, e.g. UUID_CONFIG (we already have XML2_CONFIG,
for example, and that works pretty well in my case)
-- an option like  --with-uuidconfig=DIR  or  --with-uuid-config=DIR,
comparable to  --with-tclconfig=DIR

   and let it point to the particular uuid's config-program one wants.
I know that problems like this have been discussed during the last months,
but I suspect that either no solution has materialized so far, or I
represent a 'border case'.


Any comments are appreciated
and thanks for your interest.

Regards 

Joerg Beyer


P.S.: 
Steps used to compile PostgreSQL 8.3 beta 2:

export XML2_CONFIG=/usr/local/bin/xml2-config
export XSLT_CONFIG=/usr/local/bin/xslt-config  ## currently ignored by
configure 

./configure --prefix=/Library/PostgreSQL-8.3
--exec-prefix=/Library/PostgreSQL-8.3 --with-pgport=5483
--with-libraries=/usr/local/lib/:/usr/lib/
--with-includes=/usr/local/include/:/usr/include/
--with-system-tzdata=/usr/share/zoneinfo --with-openssl --with-ldap
--with-krb5 --with-pam --with-ldap --with-bonjour --with-readline
--with-libedit-preferred --with-zlib --with-ossp-uuid --with-perl
--with-python --with-tcl --with-tclconfig=/usr/lib --with-libxml
--with-libxslt --disable-nls --disable-integer-datetimes --enable-shared
--enable-rpath --enable-thread-safety --enable-debug --enable-depend
--disable-cassert --disable-dtrace

make 
make check 
make install ## as superuser


============================================================

Jörg Beyer 
PHILIPPS-University Marburg
Dept. of Psychology
Germany



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to