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