Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)

Home Page:https://brew.sh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YAZ won’t install

julians opened this issue · comments

I found a thread about it, but it seems I’m not technical enough to get it: http://lists.indexdata.dk/pipermail/yazlist/2009-October/002788.html

make: *** [install-recursive] Error 1
==> Backtrace
/usr/local/Library/Homebrew/formula.rb:242:in system' /usr/local/Library/Formula/yaz.rb:15:ininstall'
/usr/local/Library/Homebrew/install.rb:89:in install' /usr/local/Library/Homebrew/formula.rb:153:inbrew'
/usr/local/Library/Homebrew/formula.rb:290:in stage' /usr/local/Library/Homebrew/formula.rb:257:inmktemp'
/usr/local/Library/Homebrew/formula.rb:288:in stage' /usr/local/Library/Homebrew/formula.rb:148:inbrew'
/usr/local/Library/Homebrew/install.rb:76:in `install'
/usr/local/Library/Homebrew/install.rb:39
/usr/local/Library/Formula/yaz.rb:13
==> Environment
fatal: Not a git repository (or any of the parent directories): .git
HOMEBREW_VERSION: 0.5
HEAD:
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_CACHE: /Users/julian/Library/Caches/Homebrew
HOMEBREW_REPOSITORY: /usr/local
Library Path: /System/Library/Frameworks/RubyCocoa.framework/Resources/ruby
Hardware: dual-core 64-bit core2
OS X: 10.6.2
Kernel Architecture: i386
Ruby: 1.8.7-72
GCC: 4.2 build 5646
LLVM: build 2206
MacPorts or Fink? false
Exit status: 512
Error: Failure while executing: make install
Please report this bug to http://bit.ly/Homebrew

The actual error is the few lines above the one at the top of your pasted output, don't spose you could run it again Julian?

Is it this one? (It’s YAZ 3.0.50 btw, I changed my formula to see if maybe a newer version would work)

libtool: link: /Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libyaz.3.dylib  .libs/version.o .libs/options.o .libs/log.o .libs/oid_std.o .libs/marc8.o .libs/marc8r.o .libs/iso5426.o .libs/diagbib1.o .libs/diagsrw.o .libs/diagsru_update.o .libs/z-accdes1.o .libs/z-accform1.o .libs/z-acckrb1.o .libs/z-core.o .libs/z-diag1.o .libs/z-espec1.o .libs/z-estask.o .libs/z-exp.o .libs/z-grs.o .libs/z-mterm2.o .libs/z-opac.o .libs/z-uifr1.o .libs/z-rrf1.o .libs/z-rrf2.o .libs/z-sum.o .libs/z-sutrs.o .libs/z-oclcui.o .libs/zes-expi.o .libs/zes-exps.o .libs/zes-order.o .libs/zes-pquery.o .libs/zes-psched.o .libs/zes-pset.o .libs/zes-update0.o .libs/z-date.o .libs/z-univ.o .libs/zes-update.o .libs/zes-admin.o .libs/z-charneg.o .libs/ill-core.o .libs/item-req.o .libs/oclc-ill-req-ext.o .libs/marcdisp.o .libs/marc_read_xml.o .libs/marc_read_iso2709.o .libs/marc_read_line.o .libs/wrbuf.o .libs/oid_db.o .libs/errno.o .libs/nmemsdup.o .libs/xmalloc.o .libs/readconf.o .libs/tpath.o .libs/nmem.o .libs/matchstr.o .libs/atoin.o .libs/siconv.o .libs/utf8.o .libs/ucs4.o .libs/iso5428.o .libs/advancegreek.o .libs/odr_bool.o .libs/ber_bool.o .libs/ber_len.o .libs/ber_tag.o .libs/odr_util.o .libs/odr_null.o .libs/ber_null.o .libs/odr_int.o .libs/ber_int.o .libs/odr_tag.o .libs/odr_cons.o .libs/odr_seq.o .libs/odr_oct.o .libs/ber_oct.o .libs/odr_bit.o .libs/ber_bit.o .libs/odr_oid.o .libs/ber_oid.o .libs/odr_use.o .libs/odr_choice.o .libs/odr_any.o .libs/ber_any.o .libs/odr.o .libs/odr_mem.o .libs/dumpber.o .libs/odr_enum.o .libs/libxml2_error.o .libs/comstack.o .libs/tcpip.o .libs/waislen.o .libs/unix.o .libs/prt-ext.o .libs/ill-get.o .libs/zget.o .libs/yaz-ccl.o .libs/diag-entry.o .libs/logrpn.o .libs/otherinfo.o .libs/pquery.o .libs/sortspec.o .libs/charneg.o .libs/initopt.o .libs/zoom-c.o .libs/zoom-socket.o .libs/zoom-opt.o .libs/grs1disp.o .libs/zgdu.o .libs/soap.o .libs/srw.o .libs/srwutil.o .libs/opacdisp.o .libs/cclfind.o .libs/ccltoken.o .libs/cclerrms.o .libs/cclqual.o .libs/cclptree.o .libs/cclqfile.o .libs/cclstr.o .libs/cclxmlconfig.o .libs/ccl_stop_words.o .libs/cql.o .libs/cqlstdio.o .libs/cqltransform.o .libs/cqlutil.o .libs/xcqlutil.o .libs/cqlstring.o .libs/rpn2cql.o .libs/cqlstrer.o .libs/querytowrbuf.o .libs/tcpdchk.o .libs/test.o .libs/timing.o .libs/xmlquery.o .libs/xmlerror.o .libs/http.o .libs/mime.o .libs/oid_util.o .libs/tokenizer.o .libs/record_conv.o .libs/retrieval.o .libs/elementset.o .libs/snprintf.o .libs/query-charset.o .libs/copy_types.o .libs/match_glob.o .libs/poll.o .libs/daemon.o .libs/iconv_encode_marc8.o .libs/iconv_encode_iso_8859_1.o .libs/iconv_encode_wchar.o .libs/iconv_decode_marc8.o .libs/iconv_decode_iso5426.o .libs/iconv_decode_danmarc.o .libs/sc.o   -lexslt -lxslt -lz -lpthread -licucore -lm -lxml2 -liconv  -march=core2 -mmmx -msse3 -mmacosx-version-min=10.6   -install_name  /usr/local/Cellar/yaz/3.0.50/lib/libyaz.3.dylib -compatibility_version 4 -current_version 4.0 -Wl,-single_module
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[1]: *** Waiting for unfinished jobs....
libtool: link: dsymutil .libs/libyaz.3.dylib || :
warning: no debug symbols in executable (-arch x86_64)
libtool: link: (cd ".libs" && rm -f "libyaz.dylib" && ln -s "libyaz.3.dylib" "libyaz.dylib")
libtool: link: ar cru .libs/libyaz.a  version.o options.o log.o oid_std.o marc8.o marc8r.o iso5426.o diagbib1.o diagsrw.o diagsru_update.o z-accdes1.o z-accform1.o z-acckrb1.o z-core.o z-diag1.o z-espec1.o z-estask.o z-exp.o z-grs.o z-mterm2.o z-opac.o z-uifr1.o z-rrf1.o z-rrf2.o z-sum.o z-sutrs.o z-oclcui.o zes-expi.o zes-exps.o zes-order.o zes-pquery.o zes-psched.o zes-pset.o zes-update0.o z-date.o z-univ.o zes-update.o zes-admin.o z-charneg.o ill-core.o item-req.o oclc-ill-req-ext.o marcdisp.o marc_read_xml.o marc_read_iso2709.o marc_read_line.o wrbuf.o oid_db.o errno.o nmemsdup.o xmalloc.o readconf.o tpath.o nmem.o matchstr.o atoin.o siconv.o utf8.o ucs4.o iso5428.o advancegreek.o odr_bool.o ber_bool.o ber_len.o ber_tag.o odr_util.o odr_null.o ber_null.o odr_int.o ber_int.o odr_tag.o odr_cons.o odr_seq.o odr_oct.o ber_oct.o odr_bit.o ber_bit.o odr_oid.o ber_oid.o odr_use.o odr_choice.o odr_any.o ber_any.o odr.o odr_mem.o dumpber.o odr_enum.o libxml2_error.o comstack.o tcpip.o waislen.o unix.o prt-ext.o ill-get.o zget.o yaz-ccl.o diag-entry.o logrpn.o otherinfo.o pquery.o sortspec.o charneg.o initopt.o zoom-c.o zoom-socket.o zoom-opt.o grs1disp.o zgdu.o soap.o srw.o srwutil.o opacdisp.o cclfind.o ccltoken.o cclerrms.o cclqual.o cclptree.o cclqfile.o cclstr.o cclxmlconfig.o ccl_stop_words.o cql.o cqlstdio.o cqltransform.o cqlutil.o xcqlutil.o cqlstring.o rpn2cql.o cqlstrer.o querytowrbuf.o tcpdchk.o test.o timing.o xmlquery.o xmlerror.o http.o mime.o oid_util.o tokenizer.o record_conv.o retrieval.o elementset.o snprintf.o query-charset.o copy_types.o match_glob.o poll.o daemon.o iconv_encode_marc8.o iconv_encode_iso_8859_1.o iconv_encode_wchar.o iconv_decode_marc8.o iconv_decode_iso5426.o iconv_decode_danmarc.o sc.o
libtool: link: ranlib .libs/libyaz.a
libtool: link: ( cd ".libs" && rm -f "libyaz.la" && ln -s "../libyaz.la" "libyaz.la" )
make: *** [install-recursive] Error 1
==> Backtrace
/usr/local/Library/Homebrew/formula.rb:242:in `system'
/usr/local/Library/Formula/yaz.rb:15:in `install'
/usr/local/Library/Homebrew/install.rb:89:in `install'
/usr/local/Library/Homebrew/formula.rb:153:in `brew'
/usr/local/Library/Homebrew/formula.rb:290:in `stage'
/usr/local/Library/Homebrew/formula.rb:257:in `mktemp'
/usr/local/Library/Homebrew/formula.rb:288:in `stage'
/usr/local/Library/Homebrew/formula.rb:148:in `brew'
/usr/local/Library/Homebrew/install.rb:76:in `install'
/usr/local/Library/Homebrew/install.rb:39
/usr/local/Library/Formula/yaz.rb:13
==> Environment
HOMEBREW_VERSION: 0.5
HEAD: 57be17582e03397ee49c9260a2b3064be7b4834f
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_CACHE: /Users/julian/Library/Caches/Homebrew
HOMEBREW_REPOSITORY: /usr/local
Library Path: /System/Library/Frameworks/RubyCocoa.framework/Resources/ruby
Hardware: dual-core 64-bit core2
OS X: 10.6.2
Kernel Architecture: i386
Ruby: 1.8.7-72
GCC: 4.2 build 5646
LLVM: build 2206
MacPorts or Fink? false
Exit status: 512
Error: Failure while executing: make install 
Please report this bug to http://bit.ly/Homebrew
HoffBook:local julian$

Oh, and I tried following the mailing list hint I posted above and compiled libxml2 into /opt/local and added "--with-xml2=/opt/local" to the formula, but it still wouldn’t work.

I refer you to:

# NOTE this formula conflicts with icu4c on Snow Leopard at the moment
# if this is a problem for you then please fix it! Thanks.

So yeah, brew rm icu4c and try again?

D’oh! Sorry! Thanks!

So, could one modify the yaz formula to temporarily move icu4c somewhere else while installing, and then afterwards move it back? But then I guess that would be problematic if the installation failed due to other problems?

We can brew unlink icu4c and then link it back again afterwards.

It may make more sense to make icu4c keg-only, it's a weird library anyway.

Make icu4c keg-only

Closed by 4a1fd95.

I think it breaks the library depended on icu4c. Can you install icu-config to /usr/local/bin/ for finding library path?

I'm also having trouble installing a library that depends on ICU. I'm guessing the fact that it's not linked is the reason:

$ brew install icu4c
Error: icu4c-50.1 already installed

$ gem install uchardet -- --build-flags='-I/usr/local/opt/icu4c/include -L/usr/local/opt/icu4c/lib'
Building native extensions.  This could take a while...
ERROR:  Error installing uchardet:
    ERROR: Failed to build gem native extension.

        /Users/dbenamy/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby extconf.rb --build-flags=-I/usr/local/opt/icu4c/include -L/usr/local/opt/icu4c/lib
ICU seems to be missing. Try 'port install icu' or 'apt-get install libicu-dev'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/dbenamy/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby


Gem files will remain installed in /Users/dbenamy/.rvm/gems/ree-1.8.7-2012.02/gems/uchardet-0.1.3 for inspection.
Results logged to /Users/dbenamy/.rvm/gems/ree-1.8.7-2012.02/gems/uchardet-0.1.3/ext/uchardet/gem_make.out

I imagine I'll figure out how to point the gem to the new location but it'd be easier if icu4c installed itself in a discoverable way.

@dbenamy (and for future posterity) -- icu4c is available via /usr/local/opt/icu4c

@dbenamy curious what do you mean by "it'd be easier if icu4c installed itself in a discoverable way."? ICU installs pkg-config files, is there a better document? (ICU developer here)

Also, the libxml/encoding.h file doesn't seem to have this conflict (I don't know why it used to redefine an ICU-only type). No objection to ICU being keg-only, but should the rationale be changed? (Posting this since the icu4c install links here. )

@srl295 Thanks for replying! I don't have anything specific in mind.

Shouldn't this issue remain open until brew install icu4c no longer refers to it, or needs to?

This formula is keg-only, so it was not symlinked into /usr/local.

Conflicts; see: https://github.com/mxcl/homebrew/issues/issue/167

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/icu4c/lib
    CPPFLAGS: -I/usr/local/opt/icu4c/include

@dsjoerg I thought so also, but it was discussed in #23002. As one of the ICU developers, it's still not clear what, if anything should be done. As I noted in that ticket, using the .pc files is preferable to icu-config (which I hope to deprecate someday) and hard-coding the LDFLAGS. ICU already generates the .pc files.