Opened 3 years ago

Closed 3 years ago

Last modified 2 years ago

#63616 closed defect (fixed)

clang-9.0 @9.0.1_4: dependency cycle on Snow Leopard (clang-9.0 -> llvm-9.0 -> python27 -> openssl -> clang-9.0)

Reported by: Tevo45 (Estevan Castilho) Owned by: cjones051073 (Chris Jones)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: snowleopard legacy-os Cc: jeremyhu (Jeremy Huddleston Sequoia), neverpanic (Clemens Lang), larryv (Lawrence Velázquez), mascguy (Christopher Nielsen)
Port: openssl

Description

It is currently impossible to install clang-9.0 on Snow Leopard, seemingly due to a dependency cycle with openssl:

$ sudo port install clang-9.0
--->  Computing dependencies for clang-9.0
The following dependencies will be installed: 
 clang-9.0
 llvm-9.0
 openssl
 python27
 xar
Continue? [Y/n]: 
Error: The following dependencies were not installed because all of them have unmet dependencies (likely due to a dependency cycle): llvm-9.0 python27 openssl clang-9.0 xar
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port clang-9.0 failed

openssl is pulled in as a dependency to python27:

$ port rdeps clang-9.0
The following ports are dependencies of clang-9.0 @9.0.1_4+defaultlibcxx+emulated_tls+libstdcxx:
  xz
    clang-3.4
      cctools
        libunwind-headers
          xz-bootstrap
        llvm-3.4
          libffi
            expect
              automake
                autoconf
                  gettext
                    libiconv
                      gperf
                        libcxx
                    ncurses
                  m4
                    clang-3.7
                      llvm-3.7
                        libedit
                        zlib
                        python27
                          pkgconfig
                          bzip2
                          db48
                          expat
                          openssl
                            clang-9.0
                              cmake
                                curl
                                  libidn2
                                    libunistring
                                      perl5
                                        perl5.28
                                          gdbm
                                            readline
                                      texinfo
                                        help2man
                                          perl5.30
                                          p5.30-locale-gettext
                                      libtool
                                        xattr
                                          unzip
                                  libpsl
                                    python39
                                      sqlite3
                                      python_select
                                      python3_select
                                  zstd
                                    lz4
                                  curl-ca-bundle
                                libarchive
                                  libxml2
                                    icu
                                  lzo2
                                libuv
                                  legacy-support
                              libomp
                              llvm-9.0
                                xar
                                llvm_select
                              clang_select
                              ld64
                                ld64-127
                                  libmacho-headers
                            openssl11
                          python2_select
              tcl
            dejagnu
          ncurses-bootstrap
      python27-bootstrap
        pkgconfig-bootstrap
          libiconv-bootstrap
            gperf-bootstrap
        gettext-bootstrap

This is a fresh MacPorts installation on Mac OS X 10.6.8, it appears the issue can also be currently seen on the openssl Snow Leopard automatic build #75127: https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/75127.

Change History (7)

comment:1 Changed 3 years ago by jmroot (Joshua Root)

Cc: neverpanic larryv added
Owner: set to cjones051073
Port: clang-9.0 removed
Status: newassigned

https://github.com/macports/macports-ports/pull/12514 appears to have changed openssl's compiler selection for 10.6.

comment:2 Changed 3 years ago by cjones051073 (Chris Jones)

Can you explain how the PR has changed the compiler selection, as I don't see it ?

comment:3 Changed 3 years ago by jmroot (Joshua Root)

By removing the part with the comment

# Having the stdlib set to libc++ on 10.6 causes a dependency on a
 # macports-clang compiler to be added, which would be a dep cycle.

Just clear compiler.cxx_standard since openssl is all C anyway.

comment:4 Changed 3 years ago by Chris Jones <jonesc@…>

In 22aae98bd2b8b72f7e10f7bec302f3af257fe98b/macports-ports (master):

openssl: clear compiler.cxx_standard
See: #63616

comment:5 Changed 3 years ago by cjones051073 (Chris Jones)

the openssl port doesn't build anything at all, it just creates sym links. Anyway I have pushed that change in https://github.com/macports/macports-ports/commit/22aae98bd2b8b72f7e10f7bec302f3af257fe98b

comment:6 Changed 3 years ago by cjones051073 (Chris Jones)

Resolution: fixed
Status: assignedclosed

comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added
Note: See TracTickets for help on using tickets.