public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
@ 2021-07-17 20:29 gerald at pfeifer dot com
  2021-07-17 21:22 ` [Bug jit/101491] " dimitry at andric dot com
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: gerald at pfeifer dot com @ 2021-07-17 20:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

            Bug ID: 101491
           Summary: [11 regression] /usr/local/include/libgccjit++.h
                    conflicts between different GCC installations
           Product: gcc
           Version: 11.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: jit
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: gerald at pfeifer dot com
  Target Milestone: ---

In the FreeBSD Ports Collection (and presumably similarly other distros)
we install different versions of GCC into the same prefix with

  --program-suffix=
  --libdir=
  --with-gxx-include-dir=

which has been working very well for years.

Recently users reported that /usr/local/include/libgccjit++.h is
installed by both GCC 11 and GCC 12 at least, cf. 
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257060

Looks like this should go into a version-specific directory (such
as --with-gxx-include-dir= maybe?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
@ 2021-07-17 21:22 ` dimitry at andric dot com
  2021-07-17 23:08 ` dmalcolm at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dimitry at andric dot com @ 2021-07-17 21:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

Dimitry Andric <dimitry at andric dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dimitry at andric dot com,
                   |                            |dmalcolm at gcc dot gnu.org

--- Comment #1 from Dimitry Andric <dimitry at andric dot com> ---
It appears libgccjit.h and libgccjit++.h are installed into $(includedir), via
gcc/jit/Make-lang.in:

jit.install-headers: installdirs
        $(INSTALL_DATA) $(srcdir)/jit/libgccjit.h \
          $(DESTDIR)$(includedir)/libgccjit.h
        $(INSTALL_DATA) $(srcdir)/jit/libgccjit++.h \
          $(DESTDIR)$(includedir)/libgccjit++.h

This has been the case since David committed r217374. I'm unsure why these
headers seem to be installed only recently?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
  2021-07-17 21:22 ` [Bug jit/101491] " dimitry at andric dot com
@ 2021-07-17 23:08 ` dmalcolm at gcc dot gnu.org
  2021-07-18 14:13 ` gerald at pfeifer dot com
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2021-07-17 23:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
I wonder why this changed recently; as Dimitry notes, this has been done the
same since the initial merger of libgccjit into trunk.

I'm using $(includedir).  What should I be using?  Thanks

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
  2021-07-17 21:22 ` [Bug jit/101491] " dimitry at andric dot com
  2021-07-17 23:08 ` dmalcolm at gcc dot gnu.org
@ 2021-07-18 14:13 ` gerald at pfeifer dot com
  2021-07-18 19:46 ` dimitry at andric dot com
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: gerald at pfeifer dot com @ 2021-07-18 14:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

Gerald Pfeifer <gerald at pfeifer dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-07-18
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #3 from Gerald Pfeifer <gerald at pfeifer dot com> ---
As one data point, gccjit is a "relatively newer" thing for the FreeBSD
ports of GCC, e.g. in case of lang/gcc11-devel:

  commit bb995aaf6e25e33b028fa4b32321864b48f49055
  Author: Ashish SHUKLA <ashish@FreeBSD.org>
  Date:   Tue Feb 23 09:07:37 2021 +0000

    - Enable gccjit support

    Approved by:    gerald (maintainer)

Looking at the diff it appears the issue was there back then already:

  --- a/lang/gcc11-devel/pkg-plist
  +++ b/lang/gcc11-devel/pkg-plist
  @@ -18,6 +18,8 @@ bin/gcov-dump%%SUFFIX%%
   bin/gcov-tool%%SUFFIX%%
   bin/gfortran%%SUFFIX%%
   bin/lto-dump%%SUFFIX%%
  +include/libgccjit++.h
  +include/libgccjit.h

Alas it only materialized when lang/gcc12-devel was added:

  commit 982ce2ea27d8d41ed4f69c6c8f1eb56f04280531
  Author: Gerald Pfeifer <gerald@FreeBSD.org>
  Date:   Mon May 3 10:45:02 2021 +0000

    lang/gcc12-devel: New port based on the 20210426 snapshot of GCC 12.0.0

    This is the first snapshot from trunk with the GCC 12 designation. It
    largely is a copy of lang/gcc11-devel.


(In reply to David Malcolm from comment #2)
> I wonder why this changed recently; as Dimitry notes, this has been 
> done the same since the initial merger of libgccjit into trunk.

I believe we are not looking at a regression in one of the FreeBSD ports
nor on the gccjit side, just an issue that's been there "from day 1".

Dimitry, is this consistent with your experience?


> I'm using $(includedir).  What should I be using?  Thanks

I'm not an expert, yet dug a bit and most include files appear to be 
installed in lib/gcc11/gcc/i386-portbld-freebsd11.4/11.1.1/include
which libgomp/Makefile, libquadmath/Makefile, libssp/Makefile and
others have as

   libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include

Would something like this work for libgccjit as well, David?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (2 preceding siblings ...)
  2021-07-18 14:13 ` gerald at pfeifer dot com
@ 2021-07-18 19:46 ` dimitry at andric dot com
  2021-07-19  6:35 ` [Bug jit/101491] [11/12 " rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dimitry at andric dot com @ 2021-07-18 19:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

--- Comment #4 from Dimitry Andric <dimitry at andric dot com> ---
(In reply to Gerald Pfeifer from comment #3)
> (In reply to David Malcolm from comment #2)
> > I wonder why this changed recently; as Dimitry notes, this has been 
> > done the same since the initial merger of libgccjit into trunk.
> 
> I believe we are not looking at a regression in one of the FreeBSD ports
> nor on the gccjit side, just an issue that's been there "from day 1".
> 
> Dimitry, is this consistent with your experience?

Yes, it's only the FreeBSD gcc 11 and 12 ports that have these headers. But
indeed they have been provided by gcc's Makefiles since 2014.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11/12 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (3 preceding siblings ...)
  2021-07-18 19:46 ` dimitry at andric dot com
@ 2021-07-19  6:35 ` rguenth at gcc dot gnu.org
  2021-07-28  7:07 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-07-19  6:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.2
            Summary|[11 regression]             |[11/12 regression]
                   |/usr/local/include/libgccji |/usr/local/include/libgccji
                   |t++.h conflicts between     |t++.h conflicts between
                   |different GCC installations |different GCC installations

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think a more appropriate place would be where we also install OpenMP omp.h to
(libsubinclude_HEADERS)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11/12 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (4 preceding siblings ...)
  2021-07-19  6:35 ` [Bug jit/101491] [11/12 " rguenth at gcc dot gnu.org
@ 2021-07-28  7:07 ` rguenth at gcc dot gnu.org
  2021-09-26  9:08 ` gerald at pfeifer dot com
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-07-28  7:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|11.2                        |11.3

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 11.2 is being released, retargeting bugs to GCC 11.3

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] [11/12 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (5 preceding siblings ...)
  2021-07-28  7:07 ` rguenth at gcc dot gnu.org
@ 2021-09-26  9:08 ` gerald at pfeifer dot com
  2022-01-20 12:47 ` [Bug jit/101491] " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: gerald at pfeifer dot com @ 2021-09-26  9:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

--- Comment #7 from Gerald Pfeifer <gerald at pfeifer dot com> ---
(In reply to David Malcolm from comment #2)
> I'm using $(includedir).  What should I be using?  Thanks

(In reply to Richard Biener from comment #5)
> I think a more appropriate place would be where we also install 
> OpenMP omp.h to (libsubinclude_HEADERS)

David, any chance to can have a look following this recommendation?

It'd be good for 11.3 to address this - thank you!

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (6 preceding siblings ...)
  2021-09-26  9:08 ` gerald at pfeifer dot com
@ 2022-01-20 12:47 ` rguenth at gcc dot gnu.org
  2022-11-04 20:31 ` rv4chsst7e at liamekaens dot com
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-20 12:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[11/12 regression]          |/usr/local/include/libgccji
                   |/usr/local/include/libgccji |t++.h conflicts between
                   |t++.h conflicts between     |different GCC installations
                   |different GCC installations |
      Known to fail|                            |7.5.0
   Target Milestone|11.3                        |---

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 7 contains the same install rule so definitely not a regression from GCC
10.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (7 preceding siblings ...)
  2022-01-20 12:47 ` [Bug jit/101491] " rguenth at gcc dot gnu.org
@ 2022-11-04 20:31 ` rv4chsst7e at liamekaens dot com
  2022-11-04 20:35 ` rv4chsst7e at liamekaens dot com
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rv4chsst7e at liamekaens dot com @ 2022-11-04 20:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

John Hein <rv4chsst7e at liamekaens dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rv4chsst7e at liamekaens dot com

--- Comment #9 from John Hein <rv4chsst7e at liamekaens dot com> ---
Created attachment 53828
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53828&action=edit
install libgccjit*.h under $(libdir)/gcc/$(target_alias)/$(gcc_version) instead
of $(libdir)/include

I've been using the attached patch on FreeBSD for a few months to install
libgccjit*.h in the location of other header files under
$(libdir)/gcc/$(target_alias)/$(gcc_version)/ as suggested in comment 5.  emacs
uses libgccgit.h (if configured --with-native-compilation), and the emacs port
builds fine with this new location.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (8 preceding siblings ...)
  2022-11-04 20:31 ` rv4chsst7e at liamekaens dot com
@ 2022-11-04 20:35 ` rv4chsst7e at liamekaens dot com
  2022-11-04 21:40 ` rv4chsst7e at liamekaens dot com
  2022-11-16 16:06 ` developer at lorenzosalvadore dot it
  11 siblings, 0 replies; 13+ messages in thread
From: rv4chsst7e at liamekaens dot com @ 2022-11-04 20:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

--- Comment #10 from John Hein <rv4chsst7e at liamekaens dot com> ---
(In reply to John Hein from comment #9)
Oops. s/libgccgit/libgccjit/ in the previous comment.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (9 preceding siblings ...)
  2022-11-04 20:35 ` rv4chsst7e at liamekaens dot com
@ 2022-11-04 21:40 ` rv4chsst7e at liamekaens dot com
  2022-11-16 16:06 ` developer at lorenzosalvadore dot it
  11 siblings, 0 replies; 13+ messages in thread
From: rv4chsst7e at liamekaens dot com @ 2022-11-04 21:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

John Hein <rv4chsst7e at liamekaens dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #53828|install libgccjit*.h under  |install libgccjit*.h under
        description|$(libdir)/gcc/$(target_alia |$(libdir)/gcc/$(target_alia
                   |s)/$(gcc_version) instead   |s)/$(gcc_version) instead
                   |of $(libdir)/include        |of $(includedir)

--- Comment #11 from John Hein <rv4chsst7e at liamekaens dot com> ---
Comment on attachment 53828
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53828
install libgccjit*.h under $(libdir)/gcc/$(target_alias)/$(gcc_version) instead
of $(includedir)

minor correction on patch description

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug jit/101491] /usr/local/include/libgccjit++.h conflicts between different GCC installations
  2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
                   ` (10 preceding siblings ...)
  2022-11-04 21:40 ` rv4chsst7e at liamekaens dot com
@ 2022-11-16 16:06 ` developer at lorenzosalvadore dot it
  11 siblings, 0 replies; 13+ messages in thread
From: developer at lorenzosalvadore dot it @ 2022-11-16 16:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491

--- Comment #12 from Lorenzo Salvadore <developer at lorenzosalvadore dot it> ---
I have sent by mail an alternative patch:
https://gcc.gnu.org/pipermail/jit/2022q4/001572.html

It should be functionally equivalent to John's patch, but it is written with a
different style. It is the patch that is now used in the FreeBSD ports tree for
the lang/gcc11 and lang/gcc12 ports.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-11-16 16:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-17 20:29 [Bug jit/101491] New: [11 regression] /usr/local/include/libgccjit++.h conflicts between different GCC installations gerald at pfeifer dot com
2021-07-17 21:22 ` [Bug jit/101491] " dimitry at andric dot com
2021-07-17 23:08 ` dmalcolm at gcc dot gnu.org
2021-07-18 14:13 ` gerald at pfeifer dot com
2021-07-18 19:46 ` dimitry at andric dot com
2021-07-19  6:35 ` [Bug jit/101491] [11/12 " rguenth at gcc dot gnu.org
2021-07-28  7:07 ` rguenth at gcc dot gnu.org
2021-09-26  9:08 ` gerald at pfeifer dot com
2022-01-20 12:47 ` [Bug jit/101491] " rguenth at gcc dot gnu.org
2022-11-04 20:31 ` rv4chsst7e at liamekaens dot com
2022-11-04 20:35 ` rv4chsst7e at liamekaens dot com
2022-11-04 21:40 ` rv4chsst7e at liamekaens dot com
2022-11-16 16:06 ` developer at lorenzosalvadore dot it

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).