[blfs-support] Cups-2.2.7 with clang 6 installed

Wayne Blaszczyk wblaszcz at bigpond.net.au
Thu Jun 7 03:04:16 PDT 2018

On Wed, 2018-06-06 at 23:30 -0500, Bruce Dubbs wrote:
> On 06/06/2018 04:39 PM, Wayne Blaszczyk wrote:
> > On Wed, 2018-06-06 at 22:45 +0200, Christopher Gregory wrote:
> > > In the command explanation section it has the following note:
> > > 
> > > CC=gcc: This environment variable ensures that gcc is used, if clang is installed. Remove it, if you prefer to use clang. Using clang almost doubles build time and slightly decreases build disk
> > > space. Installed disk space is not appreciably modified.
> > > 
> > > I found that just having CC=gcc was not enough to get this to correctly build, as for some reason the build would still try using clang to, if I have the term correct, linking, ie using clang
> > > equivalent of g++
> > > 
> > > This was not my doing.  I am just following what is currently listed in svn for the instructions for both systemd version and for sysv of the book.
> > > Christopher.
> > FWIW, I've been using both CC=gcc CXX=g++ in my Cups build for quite some time, for the very same reason mentioned by Christopher.
> > Looking back at my history, it was at the time when -DLLVM_LINK_LLVM_DYLIB=ON was added to llvm.
> > Wayne.
> I don't dny your experience, but I have in my logs/scripts:
> Fri May 11 20:34:12 CDT 2018 /usr/src/llvm/llvm-6.0.0.src.tar.xz
> Tue May 15 16:10:10 CDT 2018 /usr/src/cups/cups-2.2.7-source.tar.gz
> CC=gcc \
>      ./configure --libdir=/usr/lib            \
>                  --disable-systemd            \
>                  --with-rcdir=/tmp/cupsinit   \
>                  --with-system-groups=lpadmin \
>                  --with-docdir=/usr/share/cups/doc-$VER
> For llvm I do have -DLLVM_LINK_LLVM_DYLIB=ON
> In my cups build log I have:
> Using CC=gcc
> Using CXX=gcc
> In my build directory, there are no .cc or .cpp files.
> I cannot duplicate the issue.
> You might want to run 'make --trace' to get a verbose listing to see 
> what is happening.
> Also take a look at the Makedefs file.  The relevant definitions I have 
> does have CXX = clang++ and DSOXX = $(CXX) and LD_CXX = $(CXX).  There 
> are some cxx files in the scheduler/ and ppdc/ directories.
> I do note that my build log also has:
> Compiling cups-driverd.cxx...
> warning: unknown warning option '-Wno-format-truncation' 
> [-Wunknown-warning-option]
> But that didn't break the build for me.
>    -- Bruce
>    -- Bruce

I build llvm and clang separately and use slightly different parameters to the book, hence why I didn't report this issue myself.
But looking at the configure script, (and I'm not expert reading these scripts), but to me it looks like if it finds clang++, it will use it rather than g++.
I would be interested in your configure output around this area:

checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for clang++... clang++
checking whether we are using the GNU C++ compiler... yes
checking whether clang++ accepts -g... yes
checking for ranlib... ranlib
checking for ar... /usr/bin/ar
checking for chmod... /bin/chmod


More information about the blfs-support mailing list