Jellyfish icon indicating copy to clipboard operation
Jellyfish copied to clipboard

Why Jellyfish brew bottle does not symlink?

Open BernardoBelloOrti opened this issue 8 years ago • 4 comments

Why an installed brew bottle does not symlink?

Seems Jellyfish manual says I need GCC 4.8. As far as I know I have GCC 4.2.1

    dhcp17-207:minikraken_20141208 bernardo$ gcc -v
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin15.4.0
    Thread model: posix

From Jellyfish manual:

To install on Mac OS X: Jellyfish 2.0 does not compile with Apple's Xcode GCC 4.2. Instead, the easiest thing to do is to install GCC 4.8 using MacPorts (http://www.macports.org) using the following commands:

And the brew install of Jellyfish

    dhcp17-207:minikraken_20141208 bernardo$ brew install jellyfish-1.1
    ==> Installing jellyfish-1.1 from homebrew/science
    ==> Downloading http://www.cbcb.umd.edu/software/jellyfish/jellyfish-1.1.11.tar.gz
    Already downloaded: /Library/Caches/Homebrew/jellyfish-1.1-1.1.11.tar.gz
    ==> ./configure --prefix=/usr/local/Cellar/jellyfish-1.1/1.1.11
    ==> make
    ==> make install
    ==> Caveats
    This formula is keg-only, which means it was not symlinked into /usr/local.

    It conflicts with jellyfish.

    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/jellyfish-1.1/lib
        CPPFLAGS: -I/usr/local/opt/jellyfish-1.1/include

    ==> Summary
    🍺  /usr/local/Cellar/jellyfish-1.1/1.1.11: 62 files, 2.3M, built in 22 seconds
    dhcp17-207:minikraken_20141208 bernardo$ jellyfish
    -bash: /usr/local/bin/jellyfish: No such file or directory

An alternative is to install from source, but I would need to install GCC 4.8 and don't know the posible consequences to my system.

BernardoBelloOrti avatar May 11 '16 05:05 BernardoBelloOrti

Hi,

I don't have a lot of experience installing on Mac OS. That said, brew in general though should not interfere with the basic functionality of your system. Installing a new compiler with brew should be safe.

Now, any reason why you are installing version 1.1 of Jellyfish, instead of the current version (2.2.5)?

gmarcais avatar May 18 '16 19:05 gmarcais

Hi,

I am working on OS X, too. You are installing a keg-only formula, which means that it will not be symlinked because it could conflict with other versions (brewed or provided by the system) of the same software. Jellyfish-1.1 is keg only, because a newer version is available in homebrew/science. By the way Jellyfish-1.1 is no bottle, only the newer version is bottled (which means precompiled). I think they kept Jellyfish-1.1 for the installation of the Quake. You can install a newer version (which is Jellyfish 2.4.x) just with brew install jellyfish. Being precompiled, the newer Version of Jellyfish does not require the newer version of the compiler at all (except you do not want the precompiled version, because of the SWIG integration).

Cheers Chris

ps. It is already said, but the installation of the newer GCC with brew does not affect your system.

culpinnis avatar Jul 05 '16 14:07 culpinnis

Hi,

can you clarify your statement about the precompiled version and SWIG integration? Is it that the precompiled version does NOT have the SWIG bindings? Or that it does have the SWIG bindings and that somehow creates problems?

gmarcais avatar Jul 05 '16 14:07 gmarcais

Hi,

as far as I can tell, the bottled (precompiled) version in brew has no integration of the SWIG bindings. The Jellyfish formula (https://github.com/Homebrew/homebrew-science/blob/master/jellyfish.rb) has not the necessary flags on the configure script as mentioned at Jellyfishs homepage. Maybe they left the SWIG bindings out, because it is not clear where to integrate them (I think they should be integrated in brews version of perl/python/ruby instead of the ones which are provided by the system). I am currently compiling Jellyfish from the Master branch of the git repository.

culpinnis avatar Jul 05 '16 14:07 culpinnis