Hmm, removing the path didn’t help either.

I ended up defining the `LLVM_AR=/path/to/homebrew/llvm-ar` environment 
variable after installing clang from brew. I was worried that there would be 
problems using ar from a different version of the toolchain than the compiler, 
but things seem to have worked properly.

I guess llvm-ar just isn’t packaged with macOS?

In any case, this problem is solved for me now.

Thanks for your help,
Scott
On Jul 10, 2019, 16:22 -0400, Barry Scott <ba...@barrys-emacs.org>, wrote:
>
>
> > On 10 Jul 2019, at 15:25, Scott Colby <sc...@scolby.com> wrote:
> >
> > Unfortunately that path is absent on my system. Could the issue be that the 
> > llvm version of ar is not present at all on macOS? What remains confusing 
> > in that case is that by using CC=cc (and I assume just ar) the LTO 
> > compilation succeeds, despite cc being a symlink to clang anyway.
>
> Oh that may be because I have MacPorts installed on my mac
> I guess you have macPorts installed as well?
>
> I see you are using brew openssl. Maybe the macPorts tools
> and the brew tools are conflicting?
>
> What if you remove /opt/local/bin from your PATH does that help configure 
> find the tools it needs?
>
> Barry
>
>
>
>
> >
> > Thanks,
> > Scott
> >
> > On Tue, Jul 9, 2019, at 15:39, Barry Scott wrote:
> > >
> > >
> > > > On 9 Jul 2019, at 19:28, Scott Colby <sc...@scolby.com> wrote:
> > > >
> > > > Hello all,
> > > >
> > > > I am having difficulty building Python with `--with-lto` on macOS 
> > > > 10.14.5. With a clean checkout of the CPython source at the tagged 
> > > > release for 3.7.4, I ran:
> > > >
> > > > $ ./configure --prefix=/opt/python3.7.4 --enable-optimizations 
> > > > --enable-ipv6 --with-lto --with-openssl=$(brew --prefix openssl) 
> > > > CC=clang
> > > > checking for git... found
> > > > checking build system type... x86_64-apple-darwin18.6.0
> > > > checking host system type... x86_64-apple-darwin18.6.0
> > > > checking for python3.7... python3.7
> > > > checking for --enable-universalsdk... no
> > > > checking for --with-universal-archs... no
> > > > checking MACHDEP... checking for --without-gcc... no
> > > > checking for --with-icc... no
> > > > checking for gcc... clang
> > > > checking whether the C compiler works... yes
> > > > checking for C compiler default output file name... a.out
> > > > checking for suffix of executables...
> > > > checking whether we are cross compiling... no
> > > > checking for suffix of object files... o
> > > > checking whether we are using the GNU C compiler... yes
> > > > checking whether clang accepts -g... yes
> > > > checking for clang option to accept ISO C89... none needed
> > > > checking how to run the C preprocessor... clang -E
> > > > checking for grep that handles long lines and -e... /usr/bin/grep
> > > > checking for a sed that does not truncate output... /usr/bin/sed
> > > > checking for --with-cxx-main=<compiler>... no
> > > > checking for clang++... no
> > > > configure:
> > > >
> > > >  By default, distutils will build C++ extension modules with "clang++".
> > > >  If this is not intended, then set CXX on the configure command line.
> > > >
> > > > checking for the platform triplet based on compiler characteristics... 
> > > > darwin
> > > > checking for -Wl,--no-as-needed... no
> > > > checking for egrep... /usr/bin/grep -E
> > > > checking for ANSI C header files... yes
> > > > checking for sys/types.h... yes
> > > > checking for sys/stat.h... yes
> > > > checking for stdlib.h... yes
> > > > checking for string.h... yes
> > > > checking for memory.h... yes
> > > > checking for strings.h... yes
> > > > checking for inttypes.h... yes
> > > > checking for stdint.h... yes
> > > > checking for unistd.h... yes
> > > > checking minix/config.h usability... no
> > > > checking minix/config.h presence... no
> > > > checking for minix/config.h... no
> > > > checking whether it is safe to define __EXTENSIONS__... yes
> > > > checking for the Android API level... not Android
> > > > checking for --with-suffix...
> > > > checking for case-insensitive build directory... yes
> > > > checking LIBRARY... libpython$(VERSION)$(ABIFLAGS).a
> > > > checking LINKCC... $(PURIFY) $(MAINCC)
> > > > checking for GNU ld... no
> > > > checking for --enable-shared... no
> > > > checking for --enable-profiling... no
> > > > checking LDLIBRARY... libpython$(VERSION)$(ABIFLAGS).a
> > > > checking for ar... ar
> > > > checking for readelf... no
> > > > checking for a BSD-compatible install... /usr/local/bin/ginstall -c
> > > > checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
> > > > checking for --with-pydebug... no
> > > > checking for --with-assertions... no
> > > > checking for --enable-optimizations... yes
> > > > checking for --with-lto... yes
> > > > checking target system type... x86_64-apple-darwin18.6.0
> > > > checking for -llvm-ar... no
> > > > checking for llvm-ar... ''
> > > > configure: error: llvm-ar is required for a --with-lto build with clang 
> > > > but could not be found.
> > >
> > > I see /opt/local/bin/llvm-ar-mp-4.0 which ends up running the llvm-ar from
> > > /opt/local/libexec/llvm-4.0/bin
> > >
> > > Just a guess but maybe you need to add /opt/local/libexec/llvm-4.0/bin/ 
> > > to your path
> > > as its where llvm-ar is.
> > >
> > > Barry
> > >
> > > >
> > > > If I change the command to `... CC=cc` configuration appears to happen 
> > > > normally.
> > > >
> > > > On my version of macOS, cc is a symlink to clang.
> > > >
> > > > Why is this happening? What should I be doing differently to explicitly 
> > > > specify clang as my compiler?
> > > >
> > > > Thank you,
> > > > Scott Colby
> > > > --
> > > > https://mail.python.org/mailman/listinfo/python-list
> > > >
>
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to