All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: <xen-devel@lists.xenproject.org>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Ian Jackson <iwj@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH for-4.15] automation/alpine: add g++ to the list of build depends
Date: Tue, 2 Mar 2021 10:36:51 +0100	[thread overview]
Message-ID: <YD4HM9+IEZKIq/SQ@Air-de-Roger> (raw)
In-Reply-To: <b3912fde-165c-b404-bf1c-46189d0ce766@suse.com>

On Tue, Mar 02, 2021 at 09:53:41AM +0100, Jan Beulich wrote:
> On 02.03.2021 09:14, Roger Pau Monné wrote:
> > On Mon, Mar 01, 2021 at 06:01:36PM +0000, Andrew Cooper wrote:
> >> On 01/03/2021 17:59, Andrew Cooper wrote:
> >>> On 01/03/2021 09:58, Roger Pau Monne wrote:
> >>>> clang++ relies on the C++ headers installed by g++, or else a clang
> >>>> build will hit the following error:
> >>>>
> >>>> <built-in>:3:10: fatal error: 'cstring' file not found
> >>>> #include "cstring"
> >>>>          ^~~~~~~~~
> >>>> 1 error generated.
> >>>> make[10]: *** [Makefile:120: headers++.chk] Error 1
> >>>>
> >>>> Reported-by: Stefano Stabellini <sstabellini@kernel.org>
> >>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>>> ---
> >>>> Cc: Ian Jackson <iwj@xenproject.org>
> >>>> No real risk here from a release PoV, it's just pulling a package
> >>>> required for the Alpine clang build. Worse that cold happen is that
> >>>> the Alpine clang build broke, but it's already broken.
> >>> Shouldn't this be fixed upstream in Alpine?  Its clearly a packaging bug.
> >>
> >> Or (thinking about it), we've got a build system bug using g++ when it
> >> should be using clang++.
> > 
> > No, the check is using clang++, the issue is that clang++ doesn't
> > install the standard c++ headers, and thus trying to use them (cstring
> > in this case) fails. Installing the g++ package solves the issue
> > because it installs the headers.
> 
> I have to admit that I consider this odd. The g++ package should
> neither provide nor depend on the headers. It may recommend their
> installation. On my distro (SLES) the headers come from the
> libstdc++-devel package, as I would have expected. There
> additionally is a dependency of libclang5 (no -devel suffix!) on
> libstdc++-devel (I suppose this is an indication that things
> aren't quite right here either; I haven't checked an up-to-date
> version of the distro yet, though).

Yes, that was indeed my first attempt as I've tried to install
libstdc++, but there's no -devel counterpart for the package, and it
only installs the libraries but not the headers.

Then if I list the contents of the g++ package, I do see:

...
usr/include/c++/10.2.1/cstring
...

And clang++'s include path is:

#include <...> search starts here:
 /usr/bin/../lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../include/c++/10.2.1
 /usr/bin/../lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../include/c++/10.2.1/x86_64-alpine-linux-musl
 /usr/bin/../lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../include/c++/10.2.1/backward
 /usr/include
 /usr/lib/clang/10.0.1/include

So it does seem clang depends on the gcc c++ headers, I assume this is
done in order to avoid having a duplicate set of c++ headers for clang
and gcc? I really have no idea, but I do think clang package should
depend on g++.

Thanks, Roger.


  reply	other threads:[~2021-03-02  9:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-01  9:58 [PATCH for-4.15] automation/alpine: add g++ to the list of build depends Roger Pau Monne
2021-03-01 17:20 ` Ian Jackson
2021-03-01 17:59 ` Andrew Cooper
2021-03-01 18:01   ` Andrew Cooper
2021-03-02  8:14     ` Roger Pau Monné
2021-03-02  8:53       ` Jan Beulich
2021-03-02  9:36         ` Roger Pau Monné [this message]
2021-03-02  9:54           ` Jan Beulich
2021-03-02 19:39             ` Stefano Stabellini
2021-03-06  1:40               ` Stefano Stabellini
2021-03-06  9:22                 ` Roger Pau Monné
  -- strict thread matches above, loose matches on Subject: below --
2021-03-01  9:57 Roger Pau Monne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YD4HM9+IEZKIq/SQ@Air-de-Roger \
    --to=roger.pau@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=cardoe@cardoe.com \
    --cc=iwj@xenproject.org \
    --cc=jbeulich@suse.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.