[Yazlist] Trouble building yaz 3.0.49 (and .48, too) with ICU on Mac OS X 10.6.1

Walter McGinnis walter at katipo.co.nz
Tue Oct 6 01:58:04 CEST 2009


Howdy,

I've successfully built and installed yaz 3.0.48 without ICU libraries  
installed on Mac OS X 10.6.1 Snow Leopard.  However, I need ICU chains  
support, so I installed ICU libs and now am getting a failure after   
during the make step.

The background:

* successfully installed and used yaz and zebra via configurations  
found at http://github.com/mxcl/homebrew/blob/master/Library/Formula/yaz.rb 
  and http://github.com/mxcl/homebrew/blob/master/Library/Formula/zebra.rb

* uninstalled both yaz and zebra

* successfully installed ICU via this package http://github.com/mxcl/homebrew/blob/master/Library/Formula/icu4c.rb

* tried to install yaz 3.0.48 based on previous package and it failed

* grabbed source for 3.0.48 and verified that manual install failed

* grabbed source for 3.0.49 and verified that manual install failed at  
the same place

Here are the relevant details of the failure:

$ ./configure --prefix=/usr/local/Cellar/yaz/3.0.49 --disable- 
dependency-tracking
...
checking for libXML2... 2.7.3
checking for libXSLT... 1.1.24
...
checking for xsltSaveResultToString... yes
checking for icu-config... /usr/local/bin/icu-config
checking for ICU >= 3.4... yes
checking ICU_CPPFLAGS...   -I/usr/local/Cellar/icu4c/4.3.1/include
checking ICU_CFLAGS... -O4 -march=core2 -mmmx -msse4.1 -w -pipe -fomit- 
frame-pointer -mmacosx-version-min=10.6 -Wall -ansi -pedantic -Wshadow  
-Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long
checking ICU_CXXFLAGS... -O4 -march=core2 -mmmx -msse4.1 -w -pipe - 
fomit-frame-pointer -mmacosx-version-min=10.6 -W -Wall -ansi -pedantic  
-Wpointer-arith -Wwrite-strings -Wno-long-long
checking ICU_LIBS...  -lpthread -lm   -L/usr/local/Cellar/icu4c/4.3.1/ 
lib -licui18n -licuuc -licudata  -lpthread -lm
------------------------------------------------------------------------
Configuration:

   YAZ Package:                yaz
   YAZ Version:                3.0.49
   Bugreport:                  yaz-help at indexdata.dk
   Source code location:       .
   C Preprocessor:             gcc -E
   C Preprocessor flags:
   C Compiler:                 gcc
   C Compiler flags:           -g -O2
   Linker flags:
   Linked libs:                -lxslt -lxml2 -lz -lpthread -licucore - 
lm  -liconv
   Host System Type:           i386-apple-darwin10.0.0
   Install path:               /usr/local/Cellar/yaz/3.0.49
   Automake:                   ${SHELL} /usr/local/src/yaz-3.0.49/ 
config/missing --run automake-1.10
   Archiver:                   ar
   Ranlib:                     ranlib

------------------------------------------------------------------------
$ make
...
libtool: link: (cd ".libs" && rm -f "libyaz_server.dylib" && ln -s  
"libyaz_server.3.dylib" "libyaz_server.dylib")
libtool: link: ar cru .libs/libyaz_server.a  libyaz_server_la- 
statserv.o libyaz_server_la-seshigh.o libyaz_server_la-eventl.o  
libyaz_server_la-requestq.o libyaz_server_la-mutex.o
libtool: link: ranlib .libs/libyaz_server.a
libtool: link: ( cd ".libs" && rm -f "libyaz_server.la" && ln -s "../ 
libyaz_server.la" "libyaz_server.la" )
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"yaz 
\" -DPACKAGE_TARNAME=\"yaz\" -DPACKAGE_VERSION=\"3.0.49\" - 
DPACKAGE_STRING=\"yaz\ 3.0.49\" -DPACKAGE_BUGREPORT=\"yaz- 
help at indexdata.dk\" -DPACKAGE=\"yaz\" -DVERSION=\"3.0.49\" - 
DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 - 
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 - 
DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 - 
DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" - 
DHAVE_DIRENT_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_WCHAR_H=1 -DHAVE_LOCALE_H=1  
-DHAVE_LANGINFO_H=1 -DHAVE_PWD_H=1 -DHAVE_UNISTD_H=1 - 
DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_STAT_H=1 - 
DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 - 
DHAVE_SYS_UN_H=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_NETDB_H=1 - 
DHAVE_ARPA_INET_H=1 -DHAVE_NETINET_TCP_H=1 -DHAVE_NETINET_IN_SYSTM_H=1  
-DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_NETINET_IF_ETHER_H=1 - 
DSTDC_HEADERS=1 -DHAVE_LONG_LONG=1 -DHAVE_READLINE_READLINE_H=1 - 
DHAVE_READLINE_HISTORY_H=1 -DHAVE_READLINE_COMPLETION_OVER=1 - 
DHAVE_READLINE_RL_COMPLETION_MATCHES=1 -DHAVE_ICONV_H=1 - 
DHAVE_GETADDRINFO=1 -DHAVE_VSNPRINTF=1 -DHAVE_GETTIMEOFDAY=1 - 
DHAVE_POLL=1 -DHAVE_STRERROR_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_USLEEP=1 - 
DYAZ_SOCKLEN_T=socklen_t -DYAZ_USE_NEW_LOG=1 -DYAZ_HAVE_XML2=1 - 
DYAZ_HAVE_XSLT=1 -DHAVE_XSLTSAVERESULTTOSTRING=1 -I.  -I../include -I/ 
usr/include/libxml2   -I/usr/local/Cellar/icu4c/4.3.1/include -D  
YAZ_HAVE_ICU=1   -g -O2 -c -o libyaz_icu_la-icu_I18N.lo `test -f  
'icu_I18N.c' || echo './'`icu_I18N.c
libtool: compile:  gcc -DPACKAGE_NAME=\"yaz\" -DPACKAGE_TARNAME=\"yaz 
\" -DPACKAGE_VERSION=\"3.0.49\" "-DPACKAGE_STRING=\"yaz 3.0.49\"" - 
DPACKAGE_BUGREPORT=\"yaz-help at indexdata.dk\" -DPACKAGE=\"yaz\" - 
DVERSION=\"3.0.49\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 - 
DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 - 
DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 - 
DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR= 
\".libs/\" -DHAVE_DIRENT_H=1 -DHAVE_FNMATCH_H=1 -DHAVE_WCHAR_H=1 - 
DHAVE_LOCALE_H=1 -DHAVE_LANGINFO_H=1 -DHAVE_PWD_H=1 -DHAVE_UNISTD_H=1 - 
DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_STAT_H=1 - 
DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_TYPES_H=1 - 
DHAVE_SYS_UN_H=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_NETDB_H=1 - 
DHAVE_ARPA_INET_H=1 -DHAVE_NETINET_TCP_H=1 -DHAVE_NETINET_IN_SYSTM_H=1  
-DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_NETINET_IF_ETHER_H=1 - 
DSTDC_HEADERS=1 -DHAVE_LONG_LONG=1 -DHAVE_READLINE_READLINE_H=1 - 
DHAVE_READLINE_HISTORY_H=1 -DHAVE_READLINE_COMPLETION_OVER=1 - 
DHAVE_READLINE_RL_COMPLETION_MATCHES=1 -DHAVE_ICONV_H=1 - 
DHAVE_GETADDRINFO=1 -DHAVE_VSNPRINTF=1 -DHAVE_GETTIMEOFDAY=1 - 
DHAVE_POLL=1 -DHAVE_STRERROR_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_USLEEP=1 - 
DYAZ_SOCKLEN_T=socklen_t -DYAZ_USE_NEW_LOG=1 -DYAZ_HAVE_XML2=1 - 
DYAZ_HAVE_XSLT=1 -DHAVE_XSLTSAVERESULTTOSTRING=1 -I. -I../include -I/ 
usr/include/libxml2 -I/usr/local/Cellar/icu4c/4.3.1/include -D  
YAZ_HAVE_ICU=1 -g -O2 -c icu_I18N.c  -fno-common -DPIC -o .libs/ 
libyaz_icu_la-icu_I18N.o
In file included from /usr/include/libxml2/libxml/parser.h:798,
                  from /usr/include/libxml2/libxml/globals.h:18,
                  from /usr/include/libxml2/libxml/threads.h:35,
                  from /usr/include/libxml2/libxml/xmlmemory.h:218,
                  from /usr/include/libxml2/libxml/tree.h:1248,
                  from ../include/yaz/xmltypes.h:36,
                  from ../include/yaz/icu.h:38,
                  from ../include/yaz/icu_I18N.h:47,
                  from icu_I18N.c:23:
/usr/include/libxml2/libxml/encoding.h:41: error: redefinition of  
typedef 'UChar'
/usr/local/Cellar/icu4c/4.3.1/include/unicode/umachine.h:305: error:  
previous declaration of 'UChar' was here
make[1]: *** [libyaz_icu_la-icu_I18N.lo] Error 1
make: *** [all-recursive] Error 1

Any ideas?

The Homebrew package manager is pretty darn new and it or the package  
configurations could easily be at fault.  It add the software under / 
usr/local/Cellar and symlinks to more standard /usr/local/bin, /usr/ 
local/lib locations as its final install step.  If something was left  
out in the symlinking I could imagine things going wrong for example.  
Having said that, I don't see anything that specifically seems amiss.

Cheers,
Walter

-----------------------------------------------------------------
Walter McGinnis
Kete Project Lead (http://kete.net.nz)
Katipo Communications, Ltd. (http://katipo.co.nz)
http://twitter.com/wtem
walter at katipo.co.nz
+64211241794






More information about the Yazlist mailing list