Dlaczego instalacja Caffe przez Macport instaluje niepowiązane porty?

0

Podczas instalacji portu Caffe z Macports również próbuje się zainstalować libgcc-devel, co zajmuje wiele godzin. Co ciekawe, nie mogłem ustalić, która zależność tego wymaga. Pobiegłem

port rdeps Caffe

i wyszło to (podsumowanie: nie ma libgcc-devel tam):

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

Bieganie

port rdeps --full caffe

listy libgcc kilka razy, ale nie libgcc-devel.

Jak więc ten port się instaluje libgcc-devel choć nie zależy od tego?

oarfish
źródło

Odpowiedzi:

2

Bieganie port info libgcc-devel deklaruje, że jest to dokładnie to, czego można by oczekiwać: pre-release libgcc beta, który podobnie jak można się spodziewać, koliduje z aktualną wersją libgcc.

Nie mogę pomóc, ale wierzę, że instalacja -devel, której doświadczyłeś, była niezamierzona. Oto dlaczego: Chociaż jest już mało prawdopodobne, że deweloperzy Caffe dołączą wersję beta w łańcuchu zależności swojego produktu, a perspektywa ta staje się jeszcze mniej prawdopodobna, rdeps nie napotyka libgcc-devel, oczywiste jest, że Caffe podejmie ryzyko kolizji z prawdziwą kolekcją kompilatorów GNU.

Niedawno zapomniałem o projekcie, autotools (autoconf, automake) konsekwentnie błędnie interpretował jądro OS X 10.10 jako wersje 10.1 i konfigurował ich kompilacje dla tego środowiska.

Co dostajesz, kiedy biegniesz port rdependents libgcc-devel? Czy otworzyłeś bilet? Przetworzono plik makefile?

Doc G.
źródło
port rdependents libgcc-devel wymienia kilka interesujących rzeczy. [ pastebin.com/jGHi0d7F ]. Między innymi jest caffe, ale również gcc48, gcc49 i wiele py27-* pakiety. Musiałem zainstalować libgcc-devel podczas kompilacji gcc6, ale poza tym nie rozumiem też, dlaczego powinienem tego potrzebować. Wygląda na to, że MacPorts jest w jakiś sposób zdezorientowany lub ktoś pomieszał swoje portfele.
oarfish
Z powodu braku lepszego zrozumienia składam bilet, a kluczowe informacje były rzeczywiście takie libgcc-devel koliduje z libgccW rezultacie wszystkie porty zależą od libgcc będzie użyty libgcc-devel jako zamiennik, dlatego został zaktualizowany podczas instalacji.
oarfish
0

libgcc-devel (wersja przedpremierowa libgcc, zainstalowany np. podczas instalacji gcc6 ) koliduje z normalną i zastępuje ją (przynajmniej w moim przypadku) libgcc. Porty w zależności od tego drugiego będą używać pierwszego, więc zależność od niego libgcc stać się jednym libgcc-devel. Z tego powodu, libgcc-devel był zobowiązany do zbudowania caffe w moim systemie.

Zobacz bilet: https://trac.macports.org/ticket/48461

oarfish
źródło