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).