On Fri, Mar 24, 2017 at 8:34 AM, Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:
> Committed.
On a macOS system using MacPorts, I have "icu" installed. MacPorts is
a package manager that installs stuff under /opt/local. I have
/opt/local/bin in $PATH so that pkg-config can be found. I run
./configure with --with-icu but without mentioning any special paths
and it says:
checking whether to build with ICU support... yes
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for icu-uc icu-i18n... yes
... but then building fails, because there are no headers in the search path:
gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -Wno-unused-command-line-argument -g -O2 -Wall -Werror
-I../../../src/include/snowball
-I../../../src/include/snowball/libstemmer -I../../../src/include -c
-o dict_snowball.o dict_snowball.c -MMD -MP -MF .deps/dict_snowball.Po
...
../../../src/include/utils/pg_locale.h:19:10: fatal error:
'unicode/ucol.h' file not found
But pkg-config does know where to find those headers:
$ pkg-config --cflags icu-i18n
-I/opt/local/include
... and it's not wrong:
$ ls /opt/local/include/unicode/ucol.h
/opt/local/include/unicode/ucol.h
So I think there may be a bug in the configure script: I think it
should be putting pkg-config's --cflags output into one of the
CFLAGS-like variables.
Or am I misunderstanding what pkg-config is supposed to be doing for us here?
--
Thomas Munro
http://www.enterprisedb.com