[MacPorts] #62400: When installing Squid4 on Leopard Intel, MacPorts tries (and fails) to build libcxx

MacPorts noreply at macports.org
Sun Mar 7 16:51:40 UTC 2021


#62400: When installing Squid4 on Leopard Intel, MacPorts tries (and fails) to
build libcxx
--------------------------+--------------------
  Reporter:  Wowfunhappy  |      Owner:  (none)
      Type:  defect       |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:  squid4       |
--------------------------+--------------------

Comment (by kencu):

 So indeed, with generic {{{macports.conf}}} set to the MacPorts defaults,
 there is quite a difference between squid4's deps on 10.4 Intel and 10.5
 Intel.

 10.4:
 {{{
 $ port rdeps squid4
 The following ports are dependencies of squid4 @4.13_0+openssl:
   xz
     apple-gcc42
       ld64
         ld64-97
           libmacho-headers
           libunwind-headers
       cctools
       gcc_select
     libiconv
       gperf
     gettext
       ncurses
   pkgconfig
   gcc7
     gmp
     isl
     zlib
     libmpc
       mpfr
     libgcc
       libgcc7
   expat
   openssl
     perl5
       perl5.28
         db48
         gdbm
           readline
 }}}

 10.5:
 {{{
 $ port rdeps squid4
 Warning: All compilers are either blacklisted or unavailable; defaulting
 to first fallback option
 The following ports are dependencies of squid4 @4.13_0+openssl:
   xz
     libiconv
       gperf
     gettext
       ncurses
   pkgconfig
   clang-7.0
     cmake
       clang-3.7
         cctools
           libunwind-headers
         clang-3.4
           llvm-3.4
             libffi
               expect
                 automake
                   autoconf
                 tcl
               dejagnu
             zlib
             perl5
               perl5.28
                 db48
                 gdbm
                   readline
             llvm_select
           python27
             bzip2
             expat
             libedit
             openssl
             sqlite3
             python_select
             python2_select
           clang_select
           ld64
             ld64-127
               libmacho-headers
               llvm-3.3
         llvm-3.7
           libcxx
       curl
         libidn2
           libtool
             xattr
               unzip
           libunistring
             texinfo
               help2man
                 p5.28-locale-gettext
               perl5.30
         libpsl
           python39
             python3_select
           glib2
             libxml2
               icu
                 gcc7
                   gmp
                   isl
                   libmpc
                     mpfr
                   gcc_select
                   libgcc
                     libgcc7
             pcre
         zstd
           lz4
         curl-ca-bundle
       libarchive
         lzo2
       libuv
         legacy-support
     libomp
     llvm-7.0
       xar
 }}}


 It seems that on 10.5, base is recommending clang-7.0 be used to build
 against libgcc7, whereas on 10.4, base is happy with gcc7.

 10.4:
 {{{
 $ port -d info squid4
 Warning: port definitions are more than two weeks old, consider updating
 them by running 'port selfupdate'.
 DEBUG: Changing to port directory:
 /opt/toolchains/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/squid4
 DEBUG: OS darwin/8.11.1 (macOS 10.4) arch i386
 DEBUG: Compiler doesn't support universal builds, so not adding the
 default universal variant
 DEBUG: Executing variant openssl provides openssl
 DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
 DEBUG: Chosen compiler macports-gcc-7 is provided by a port, adding
 dependency
 DEBUG: Adding depends_build port:gcc7
 DEBUG: Adding depends_lib path:share/doc/libgcc/README:libgcc
 DEBUG: Adding depends_lib port:libgcc7
 DEBUG: Adding depends_skip_archcheck gcc7
 DEBUG: Finished running callback
 portconfigure::add_automatic_compiler_dependencies
 DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
 DEBUG: Finished running callback
 portbuild::add_automatic_buildsystem_dependencies
 DEBUG: Running callback portstartupitem::add_notes
 DEBUG: Finished running callback portstartupitem::add_notes
 squid4 @4.13 (net)
 Variants:             gnutls, ipfw_transparent, kerberos, [+]openssl,
 ssl_crtd

 Description:          Squid is a high-performance proxy caching server for
 web clients, supporting FTP, gopher, and
                       HTTP data objects. Unlike traditional caching
 software, Squid handles all requests in a single,
                       non-blocking, I/O-driven process. Squid keeps meta
 data and especially hot objects cached in
                       RAM, caches DNS lookups, supports non-blocking DNS
 lookups, and implements negative caching of
                       failed requests. Squid 4.x is the latest release
 series, and needs a C++11 compiler to build.
 Homepage:             http://www.squid-cache.org/

 Extract Dependencies: bin:xz:xz
 Build Dependencies:   port:pkgconfig, port:gcc7
 Library Dependencies: port:expat, port:zlib, port:openssl,
 path:share/doc/libgcc/README:libgcc, port:libgcc7
 Conflicts with:       squid2, squid3
 Platforms:            darwin
 License:              GPL-2+
 Maintainers:          Email: jmr at macports.org, GitHub: jmroot
                       Policy: openmaintainer
 }}}

 10.5:
 {{{
 $ port -d info squid4
 DEBUG: Changing to port directory:
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/net/squid4
 DEBUG: OS darwin/9.8.0 (macOS 10.5) arch i386
 DEBUG: adding the default universal variant
 DEBUG: Reading variant descriptions from
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
 DEBUG: Executing variant openssl provides openssl
 DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
 DEBUG: Chosen compiler macports-clang-7.0 is provided by a port, adding
 dependency
 DEBUG: Adding depends_build port:clang-7.0
 DEBUG: Adding depends_lib path:lib/libgcc/libgcc_s.1.dylib:libgcc
 DEBUG: Adding depends_skip_archcheck clang-7.0
 DEBUG: Finished running callback
 portconfigure::add_automatic_compiler_dependencies
 DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
 DEBUG: Finished running callback
 portbuild::add_automatic_buildsystem_dependencies
 DEBUG: Running callback portstartupitem::add_notes
 DEBUG: Finished running callback portstartupitem::add_notes
 squid4 @4.13 (net)
 Variants:             gnutls, ipfw_transparent, kerberos, [+]openssl,
 ssl_crtd, universal

 Description:          Squid is a high-performance proxy caching server for
 web clients, supporting FTP, gopher,
                       and HTTP data objects. Unlike traditional caching
 software, Squid handles all requests in
                       a single, non-blocking, I/O-driven process. Squid
 keeps meta data and especially hot
                       objects cached in RAM, caches DNS lookups, supports
 non-blocking DNS lookups, and
                       implements negative caching of failed requests.
 Squid 4.x is the latest release series,
                       and needs a C++11 compiler to build.
 Homepage:             http://www.squid-cache.org/

 Extract Dependencies: bin:xz:xz
 Build Dependencies:   port:pkgconfig, port:clang-7.0
 Library Dependencies: port:expat, port:zlib, port:openssl,
 path:lib/libgcc/libgcc_s.1.dylib:libgcc
 Conflicts with:       squid2, squid3
 Platforms:            darwin
 License:              GPL-2+
 Maintainers:          Email: jmr at macports.org, GitHub: jmroot
                       Policy: openmaintainer
 }}}

 So the issue is probably in compiler selection in base for the c++11
 compiler on 10.5 Intel.

 However -- let me say this.

 For pretty much any real use, you will need to have base give you
 clang-7.0 on 10.5 Intel as a compiler. It is 100x more compatible with the
 rest of the MacPorts port tree to have that.

 It works perfectly fine if you change the universal archs to "i386 x86_64"
 on 10.5 Intel to have clang-7.0 as the compiler. And 10.5 PPC works
 because it's compiler selection is different.

 =====  SO =====

 we could "fix" this by changing the compiler selection on 10.5 Intel to
 match 10.5 PPC, and  in so doing, break a whole bunch of 10.5 Intel
 systems that presently work great (for no reason).

 Or -- we could tell 10.5 Intel users to change their universal archs to
 "i386 x86_64" and then all would be well.

 Everyone knows what I would suggest we do, I've been saying the same thing
 for several years now..


 For you, for today, for squid4 on an unchanged 10.5 system with universal
 archs set to "i386 ppc" and you don't want to change them for some reason
 -- well -- force the squid compiler like this:

 {{{
 sudo port -v install squid4 configure.compiler=macports-gcc-7
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/62400#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list