Warum werden bei der Installation von Caffe über Macports nicht verwandte Ports installiert?

0

Bei der Installation des Caffe-Ports über Macports wird auch versucht, den Caffe-Port zu installieren libgcc-devel, was Stunden in Anspruch nimmt. Seltsamerweise konnte ich nicht herausfinden, welche Abhängigkeit dies erfordert. ich rannte

port rdeps Caffe

und es kam folgendes raus (Zusammenfassung: da ist kein libgcc-develdrin):

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

Laufen

port rdeps --full caffe

libgccmehrmals auflisten , aber nicht libgcc-devel.

Wie kommt es, dass dieser Port installiert wird, libgcc-develobwohl er nicht davon abhängt?

Seestern
quelle

Antworten:

2

Running port info libgcc-develerklärt, dass es genau das ist, was man erwarten würde: eine Pre-Release-Beta von libgcc, die ebenso wie man es erwarten würde, mit der aktuellen Release-Version von libgcc in Konflikt steht.

Ich kann nicht anders, als zu glauben, dass die von Ihnen erlebte -devel-Installation nicht beabsichtigt war. Dies ist der Grund: Obwohl es bereits unwahrscheinlich genug ist, dass die Caffe-Entwickler eine Beta-Version vor der Veröffentlichung in die Abhängigkeitskette ihres Produkts aufnehmen würden, wird diese Aussicht umso unwahrscheinlicher, wenn rdepssie nicht auf libgcc-devel stößt Ich glaube, Caffe würde das Risiko eingehen, mit der echten GNU-Compiler-Sammlung zu kollidieren.

Vor nicht allzu langer Zeit habe ich das Projekt vergessen: Autotools (autoconf, automake) haben OS X 10.10-Kernel immer wieder als 10.1-Versionen falsch interpretiert und ihre Builds für diese Umgebung konfiguriert.

Was bekommst du, wenn du rennst port rdependents libgcc-devel? Hast du ein Ticket geöffnet? Das Makefile analysiert?

Doc G.
quelle
port rdependents libgcc-devellistet einige interessante Dinge auf. [ pastebin.com/jGHi0d7F ]. Unter anderem ist es caffeaber auch gcc48, gcc49und viele py27-*Pakete. Ich musste libgcc-develbeim Kompilieren installieren gcc6, aber ansonsten sehe ich auch nicht, warum ich es brauchen sollte. Es sieht so aus, als ob MacPorts irgendwie verwirrt ist oder jemand seine Portdateien durcheinander gebracht hat.
Oarfish
Aus Gründen des besseren Verständnisses reiche ich ein Ticket ein und die Hauptinformation war, dass dies tatsächlich zu libgcc-develKonflikten führt libgcc, was dazu führt, dass alle Ports, die davon abhängen libgcc, libgcc-develals Ersatz verwendet werden, weshalb sie während der Installation aktualisiert wurden.
Oarfish
0

libgcc-devel(die Pre-Release-Version von libgcc, zB bei der Installation installiert gcc6) widerspricht und ersetzt (zumindest in meinem Fall) die normale libgcc. Ports, die von den letzteren abhängen, verwenden stattdessen die ersteren, sodass jede Abhängigkeit von libgcczu einer von wird libgcc-devel. Aus diesem Grunde libgcc-develwurde bauen erforderlich caffeauf meinem System.

Siehe das Ticket: https://trac.macports.org/ticket/48461

Seestern
quelle