0

When installing the Caffe port from Macports, it also tries to install libgcc-devel, which takes hours to build. Curiously, I could not figure out which dependency needs this. I ran

port rdeps Caffe

and out came this (summary: there is no libgcc-develin there):

The following ports are dependencies of caffe @20150717_0+cpu+openblas+python27:
  google-glog
    gflags
  protobuf-cpp
    autoconf
      xz
        libiconv
          gperf
        gettext
          expat
          ncurses
    automake
    libtool
    zlib
  leveldb
    snappy
      lzo2
  lmdb
  boost
    bzip2
    icu
    python27
      openssl
      sqlite3
        libedit
      db48
      python_select
      python2_select
  hdf5
  opencv
    unzip
    cmake
      curl
        pkgconfig
        curl-ca-bundle
          perl5
            perl5.16
              gdbm
      libarchive
        libxml2
    libpng
    jpeg
    jasper
    tiff
    ilmbase
      gsed
    openexr
    ffmpeg
      gmake
      texinfo
        help2man
          perl5.22
          p5.22-locale-gettext
      libvpx
        yasm
      lame
      libvorbis
        libogg
      libopus
      libtheora
      libmodplug
      schroedinger
        orc
          coreutils
            gmp
      libass
        fribidi
          glib2
            libffi
        fontconfig
          freetype
        enca
      libbluray
      gnutls
        libidn
        libtasn1
        p11-kit
          desktop-file-utils
            popt
          libxslt
        nettle
      openjpeg15
        lcms2
        jbigkit
      speex
      libsdl
        xorg-libXext
          xorg-util-macros
          xorg-libX11
            xorg-xtrans
            xorg-bigreqsproto
            xorg-xcmiscproto
            xorg-xextproto
            xorg-xf86bigfontproto
            xorg-inputproto
            xorg-libXdmcp
              xorg-xproto
            xorg-libXau
            xorg-libxcb
              xorg-xcb-proto
              xorg-libpthread-stubs
            xorg-kbproto
        xorg-libXrandr
          xrender
            xorg-renderproto
          xorg-randrproto
      xorg-libXfixes
        xorg-fixesproto
      XviD
      x264
  szip
  OpenBLAS
    dragonegg-3.4-gcc-4.8
      llvm-3.4
        llvm_select
      gcc48
        cctools
          libunwind-headers
          llvm-3.5
            libcxx
        cloog
          isl
        ld64
          ld64-latest
            dyld-headers
            libmacho-headers
        libgcc
          libmpc
            mpfr
        gcc_select
  py27-cython
    cython_select
  py27-numpy
    gcc49
    fftw-3
    py27-nose
      py27-setuptools
      nosetests_select
  py27-scipy
    swig-python
      bison
        m4
        bison-runtime
      swig
        pcre
  py27-scikit-image
    py27-six
    py27-matplotlib
      qhull
      py27-dateutil
        py27-tz
      py27-parsing
      py27-pyobjc-cocoa
        py27-pyobjc
          py27-py2app
            py27-macholib
              py27-modulegraph
                py27-altgraph
      py27-tornado
        py27-backports-ssl_match_hostname
          py27-backports
        py27-certifi
      py27-tkinter
        tk
          tcl
      py27-cairo
        cairo
          libpixman
          xorg-xcb-util
    py27-networkx
      py27-decorator
    py27-Pillow
      lcms
      webp
      openjpeg
  py27-scikit-learn
  py27-ipython
    gzip
    py27-readline
    py27-scientific
      netcdf
    py27-zmq
      zmq
    py27-jinja2
      py27-markupsafe
    py27-requests
    py27-sphinx
      py27-docutils
        py27-roman
      py27-alabaster
      py27-babel
      py27-pygments
      py27-snowballstemmer
      py27-sphinx_rtd_theme
      sphinx_select
    py27-jsonschema
      py27-vcversioner
      py27-functools32
    py27-mistune
    ipython_select
  py27-h5py
    py27-pkgconfig
  py27-pandas
    py27-tables
      py27-numexpr
      blosc
    py27-bottleneck
  py27-protobuf
    py27-gflags
  py27-leveldb
  wget

Running

port rdeps --full caffe

lists libgcc several times, but not libgcc-devel.

So how come this port installs libgcc-devel although it does not depend on it?

2

Running port info libgcc-devel declares it to be just what one would expect: a pre-release libgcc beta which, likewise just as one would expect, conflicts with the current release version of libgcc.

I cannot help but believe the -devel installation you experienced was unintended. This is why: While it's already improbable enough that the Caffe devs would include a pre-release beta in the dependency chain of their product, and while that prospect becomes all the more unlikely when rdeps does not encounter libgcc-devel, it is clearly ludicrous to believe Caffe would take the risk of colliding with the real GNU compiler collection.

Not long ago, yet I forget the project, autotools (autoconf, automake) consistently misinterpreted OS X 10.10 kernels as 10.1 versions, and configured their builds for that environment.

What do you get when you run port rdependents libgcc-devel? Have you opened a ticket? Parsed the makefile?

  • port rdependents libgcc-devel lists some interesting things. [ pastebin.com/jGHi0d7F ]. Among other things, there's caffe, but also gcc48, gcc49 and many py27-* packages. I had to install libgcc-devel when compiling gcc6, but other than that I also don't see why I should need it. It looks like MacPorts is confused somehow or somebody messed up their portfiles. – oarfish Jul 30 '15 at 13:27
  • For lack of better understanding, I file a ticket and the key information was that indeed libgcc-devel conflicts with libgcc, the result being that all ports depending on libgcc will use libgcc-devel as a replacement which is why it was upgraded during the installation. – oarfish Jul 31 '15 at 8:14
0

libgcc-devel (the pre-release version of libgcc, installed e.g. when installing gcc6) conflicts with and supersedes (at least in my case) the normal libgcc. Ports depending on the latter will instead use the former, so any dependency on libgcc become one on libgcc-devel. For this reason, libgcc-devel was required to build caffe on my system.

See the ticket: https://trac.macports.org/ticket/48461

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .