Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

icu4c .pc files? #23002

Closed
srl295 opened this issue Oct 2, 2013 · 8 comments
Closed

icu4c .pc files? #23002

srl295 opened this issue Oct 2, 2013 · 8 comments

Comments

@srl295
Copy link
Contributor

srl295 commented Oct 2, 2013

icu4c.rb says icu is keg-only because of #167 which is closed- isn't this inconsistent? Shouldn't icu4c.rb link to a new issue (such as this one) which is still open?

Why aren't icu4c's .pc files in /usr/local/Cellar/icu4c//lib/pkgconfig/.pc linked in when icu4c is built keg only ? That would make pkg-config aware tools able to compile against it.

@adamv
Copy link
Contributor

adamv commented Oct 2, 2013

Shouldn't icu4c.rb link to a new issue (such as this one) which is still open?

What do you mean by this?

The reference is in the text of the formula itself: https://github.com/mxcl/homebrew/blob/master/Library/Formula/icu4c.rb#L16

@adamv
Copy link
Contributor

adamv commented Oct 2, 2013

But to answer the question, by definition we don't link anything to the cellar when a formula is keg-only, and that includes .pc files. When a formula depends on a keg-only formula, that dep's keg is added to the PKG-CONFIG-PATH.

@jacknagel
Copy link
Contributor

#167 is the original rationale for making icu4c keg-only, which is why it is linked from the formula. We have attempted to remove this limitation in the past, but there were issues with build systems getting confused by the presence of Homebrew's icu and the libicu that ships with OS X, and more recently, conflicts with libxml2.

Users can still use keg-only things, they just need to add the appropriate directory to PKG_CONFIG_PATH (e.g. /usr/local/opt/icu4c/lib/pkgconfig), or use brew sh which will do this for them.

@srl295
Copy link
Contributor Author

srl295 commented Oct 2, 2013

@jacknagel @adamv okay, I'm trying to understand what the issues are, especially to see if ICU should do anything differently. The ICU that ships with OS X doesn't include header files nor .pc files. I don't see the conflicting definition of UChar in libxml on OSX 10.8.5.

@srl295
Copy link
Contributor Author

srl295 commented Oct 2, 2013

yaz seems to install fine with a linked icu4c on 10.8.5.

$ brew link icu4c --force Linking /usr/local/Cellar/icu4c/51.1... 71 symlinks created srl@akka:~ $ brew install yaz ==> Downloading http://ftp.indexdata.dk/pub/yaz/yaz-4.2.68.tar.gz Already downloaded: /Library/Caches/Homebrew/yaz-4.2.68.tar.gz ==> ./configure --prefix=/usr/local/Cellar/yaz/4.2.68 --with-xml2 ==> make install [brew] /usr/local/Cellar/yaz/4.2.68: 245 files, 7.3M, built in 71 seconds

It seems like this could simplify formulae which depend on icu4c.

@srl295
Copy link
Contributor Author

srl295 commented Jul 31, 2015

==> Pouring icu4c-55.1.yosemite.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

OS X provides libicucore.dylib (but nothing else).

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

==> Summary

Should this text add some wording such as "… or take the sane route and use pkg-config?"

@MikeMcQuaid
Copy link
Member

Should this text add some wording such as "… or take the sane route and use pkg-config?"

No. OS X doesn't ship with pkg-config. Thanks for the suggestion, though.

@srl295
Copy link
Contributor Author

srl295 commented Aug 3, 2015

@MikeMcQuaid … and icu4c.rb doesn't depend on pig-config either, I see (not that it needed to). Understood.

@Homebrew Homebrew locked and limited conversation to collaborators Feb 17, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants