Opened 3 years ago

Last modified 3 years ago

#62400 closed defect

When installing Squid4 on Leopard Intel, MacPorts tries (and fails) to build libcxx — at Version 5

Reported by: Wowfunhappy (Jonathan) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: kencu (Ken)
Port: squid4

Description (last modified by ryandesign (Ryan Carsten Schmidt))

The Squid Proxy is particularly useful on old versions of OS X, because it can be used to fix HTTPS problems. I'm trying to build it in a clean, Intel Leopard VM, with a default copy of macports.conf.

For whatever reason, MacPorts is attempting to pull in libcxx when I install squid4, and libcxx cannot be built on Leopard out of the box. As a result, the port fails to install:

:notice:build --->  Building libcxx
:debug:build Executing org.macports.build (libcxx)
:debug:build Environment: 
:debug:build CC='/usr/bin/gcc-4.2'
:debug:build CC_PRINT_OPTIONS='YES'
:debug:build CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/.CC_PRINT_OPTIONS'
:debug:build CPATH='/opt/local/include'
:debug:build CXX='/usr/bin/g++-4.2'
:debug:build DEVELOPER_DIR='/Developer'
:debug:build LIBRARY_PATH='/opt/local/lib'
:debug:build MACOSX_DEPLOYMENT_TARGET='10.5'
:debug:build RC_CFLAGS='-arch i386 -arch ppc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxxabi-5.0.1.src/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxx-5.0.1.src/include -Os'
:debug:build RC_ProjectSourceVersion='5.0.1'
:debug:build RC_XBS='1'
:debug:build TRIPLE='-apple-darwin9'
:info:build Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/build" && /usr/bin/make -j4 -w all LIBCXXABI_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxxabi-5.0.1.src LIBCXX_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxx-5.0.1.src LIBCXXABI_DYLIB_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/build/libc++abi.dylib 
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/build" && /usr/bin/make -j4 -w all LIBCXXABI_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxxabi-5.0.1.src LIBCXX_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxx-5.0.1.src LIBCXXABI_DYLIB_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/build/libc++abi.dylib 
:info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/build'
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxxabi-5.0.1.src/lib && ./buildit
:info:build + for FILE in '../src/*.cpp'
:info:build + /usr/bin/g++-4.2 -c -g -O3 -arch i386 -arch ppc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxxabi-5.0.1.src/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_libcxx/libcxx/work/libcxx-5.0.1.src/include -Os -std=c++11 -stdlib=libc++ -nostdinc++ -fstrict-aliasing -Wstrict-aliasing=2 -Wsign-conversion -Wshadow -Wconversion -Wunused-variable -Wmissing-field-initializers -Wchar-subscripts -Wmismatched-tags -Wmissing-braces -Wshorten-64-to-32 -Wsign-compare -Wstrict-aliasing=2 -Wstrict-overflow=4 -Wunused-parameter -Wnewline-eof -D_LIBCPP_BUILDING_LIBRARY -I../include ../src/abort_message.cpp
:info:build cc1plus: error: unrecognized command line option "-Wsign-conversion"
:info:build cc1plus: error: unrecognized command line option "-Wmismatched-tags"
:info:build cc1plus: error: unrecognized command line option "-std=c++11"
:info:build cc1plus: error: unrecognized command line option "-stdlib=libc++"
:info:build cc1plus: error: unrecognized command line option "-Wsign-conversion"
:info:build cc1plus: error: unrecognized command line option "-Wmismatched-tags"
:info:build cc1plus: error: unrecognized command line option "-std=c++11"
:info:build cc1plus: error: unrecognized command line option "-stdlib=libc++"
:info:build fatal error: lipo: can't figure out the architecture type of: /opt/local/var/macports/build/

This is fundamentally the same issue reported here: #57911. The question is, why is libcxx being used in the first place?

I don't believe this is actually an issue with squid, but kencu asked that I open a new ticket.

Change History (5)

comment:1 Changed 3 years ago by kencu (Ken)

squid4 sets

compiler.cxx_standard   2011

on Tiger Intel, that should lead to a call-in of gcc7/libgcc7 and set appropriate c++flags to build it right.

If it doesn't, then something is amiss in base's compiler selections.

that is quite possible, as that particular pathway in base (c++11 on Tiger Intel) is not well paved.

comment:2 Changed 3 years ago by Wowfunhappy (Jonathan)

Thanks! Just to be clear, the problem is on Leopard. I successfully built Squid on Tiger last weekend, and it never tried to install libcxx.

(Squid was not actually usable on Tiger due to very frequent crashes, which is in fact why I'm now trying Leopard. But it did build.)

Last edited 3 years ago by Wowfunhappy (Jonathan) (previous) (diff)

comment:3 Changed 3 years ago by kencu (Ken)

check, Leopard Intel. will help you investigate.

comment:4 Changed 3 years ago by kencu (Ken)

for the issue about libcxx selecting gcc-4.2 as a build compiler, you are right, that should and will be tracked in #57911.

Let's use this ticket to focus on why squid4 is not using gcc7/libgcc7 as it should.

I presume you just doing sudo port -v install squid4? Or are you specifically trying to build universal?

(Universal can presently not work as we don't have any c++11 cross-compiling compilers that can do i386 & ppc compiling available at present.)

comment:5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

Please attach the main.log.

Note: See TracTickets for help on using tickets.