Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Oct 2017 05:40:17 +0100
From:      Sid <sid@bsdmail.com>
To:        freebsd-toolchain@freebsd.org
Subject:   External LLVM toolchain not consistently locating c++ when compiling ports
Message-ID:  <trinity-8d3dd393-342f-41d2-9781-0c9f7778b8d9-1509252017014@3c-app-mailcom-lxa12>

next in thread | raw e-mail | index | archive | help
In /etc/make.conf, when I use,
XCC=	/usr/local/bin/clang40
XCXX=	/usr/local/bin/clang++40
XCPP=	/usr/local/bin/clang-cpp40
for ports that require c++ without clang in the base system, I get the error code 
   make: "/usr/ports/Mk/Uses/compiler.mk" line 112:warning: "c++ -### /dev/null 2>&1" returned non-zero status

Base and the kernel builds well with this setting. Compiles that don't need c++ also work with this setting.

I've compensated by adding
CC=	/usr/local/bin/clang40
CXX=	/usr/local/bin/clang++40
CPP=	/usr/local/bin/clang-cpp40
to the above. While this works for many ports requiring c++, it doesn't work for Rust, and programs that depend on it (Firefox, Thunderbird).

It seems that XCXX is supposed to replace CXX fully, considering that XCC replaces CC, and XCPP replaces CPP when compiling other ports.

The error message for compiling rust with all of the above (XCC, XCXX, XCPP, CC, CXX, CPP) set is
   couldn't find required command: "c++"

This error happens whether the port option for lang/rust is set to compile with llvm40 or the bundled version.
This is affected by /usr/ports/Mk/Uses/compiler.mk and I think this problem affects ports compiled with c++ in the base system as well.

Thank you



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?trinity-8d3dd393-342f-41d2-9781-0c9f7778b8d9-1509252017014>