Created attachment 217240 [details] manual patch merges changes to graphite.h to reference isl/id.h and isl/space.h patch attached gcc6 will not build against isl >=20 because isl has stopped internally referencing isl/id.h and isl/space.h in their headers. this patch merges gcc graphite.h patch from august 2018 to allow for new versions of isl such as 22 currently in ports. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 isl gcc bug report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92484 I was concerned this issue about bootstrapping in tree might be an issue with ALLSTAGES but its not, I actually installed the ALLSTAGES FORTRAN OBJC version and rebuilt ghdl with it fine. I did notice a few places explicitly calling c++98 during the build but most places had no language reference. perhaps it is not an issue if isl comes from external to a full bootstrap of all libraries inside the gcc tree. I did not try just a bootstrap stage, but it did appear allstages was using the stage 1& 2 compiler to work through to stage 3. I thought I saw a few calls into the provided bootstrap folder, but it may have been for support utilities. it is worth noting that later versions from our may snapshot after august fix might be a better route, such as using the official October release of 6.5.0, but I didn't try that out as I was unsure how to unwind the other patches in files with the newer source, and just wanted to get Ada building again. v6.5 https://gcc.gnu.org/git/?p=gcc.git;a=tree;h=44d92310d699abb7f14c17ea56d0cde9c2073d16;hb=e31ae982c446804d1b259554203401392b078364 ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-6.5.0/gcc-6.5.0.tar.gz pre-patch error F ./.deps/graphite-sese-to-poly.TPo /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-sese-to-poly.c /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-optimize-isl.c: In function 'isl_schedule_node* get_schedule_for_node_st(isl_schedule_node*, void*)': /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-optimize-isl.c:59:52: error: 'isl_space_dim' was not declared in this scope unsigned dims = isl_space_dim (space, isl_dim_set); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-optimize-isl.c:62:24: error: 'isl_space_free' was not declared in this scope isl_space_free (space); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c: In function 'isl_map* constrain_domain(isl_map*, isl_set*)': /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:48:53: error: 'isl_space_get_tuple_id' was not declared in this scope isl_id *id = isl_space_get_tuple_id (d, isl_dim_in); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:51:20: error: 'isl_space_free' was not declared in this scope isl_space_free (d); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c: In function 'isl_stat max_number_of_out_dimensions(isl_map*, void*)': /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:201:49: error: 'isl_space_dim' was not declared in this scope int nb_out = isl_space_dim (space, isl_dim_out); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:207:24: error: 'isl_space_free' was not declared in this scope isl_space_free (space); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c: In function 'isl_map* extend_map(isl_map*, int)': /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:217:44: error: 'isl_space_dim' was not declared in this scope int n = isl_space_dim (space, isl_dim_out); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:219:24: error: 'isl_space_free' was not declared in this scope isl_space_free (space); ^ /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c: In function 'bool carries_deps(isl_union_map*, isl_union_map*, int)': /usr/ports/lang/gcc6-aux/work/gcc-6-20180516/gcc/graphite-dependences.c:294:56: error: 'isl_space_range' was not declared in this scope isl_map *lex = isl_map_lex_le (isl_space_range (space));
also, just noticed, despite seemingly needing it, the Makefile and dependencies of the build do not list isl as a required library make depends ===> gcc6-aux-20180516_1,1 depends on file: /usr/local/sbin/pkg - found ===> gcc6-aux-20180516_1,1 depends on shared library: libgmp.so - found (/usr/local/lib/libgmp.so) ===> gcc6-aux-20180516_1,1 depends on shared library: libmpfr.so - found (/usr/local/lib/libmpfr.so) ===> gcc6-aux-20180516_1,1 depends on shared library: libmpc.so - found (/usr/local/lib/libmpc.so) ===> gcc6-aux-20180516_1,1 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) ===> gcc6-aux-20180516_1,1 depends on package: gmake>=4.3 - found ===> gcc6-aux-20180516_1,1 depends on executable: msgfmt - found ===> gcc6-aux-20180516_1,1 depends on package: libiconv>=1.14_11 - found ===> gcc6-aux-20180516_1,1 depends on file: /usr/local/bin/as - found ===> gcc6-aux-20180516_1,1 depends on package: perl5>=5.32.r0<5.33 - found ===> gcc6-aux-20180516_1,1 depends on file: /usr/local/bin/as - found pkg info -dr gcc6-aux gcc6-aux-20180516_1,1 Depends on : mpfr-4.1.0 mpc-1.1.0_2 gmp-6.2.0 gettext-runtime-0.21 binutils-2.33.1_3,1 Required by : ghdl-0.37
have not seen any comments back on this, but if folks having issues I was not too clear on the patch. save it as a file called something like patch-isl-20-or-newer and place it in /usr/ports/lang/gcc6-aux/files and the build will complete fine if you have isl installed on your system, which if you have alternate compilers from ports you likely do. in my case avr-gcc requires it.
I am not the maintainer anymore.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=467ba5c6abc15a5eca75797cc9ea0e37097fef55 commit 467ba5c6abc15a5eca75797cc9ea0e37097fef55 Author: Gerald Pfeifer <gerald@FreeBSD.org> AuthorDate: 2022-01-26 12:10:16 +0000 Commit: Gerald Pfeifer <gerald@FreeBSD.org> CommitDate: 2022-01-26 20:11:01 +0000 lang/gcc6-aux: Mark for deprecation This port is based on a version of GCC five, soon six, generations behind and years end-of-life, has been unmaintained for a while, and is broken[1]. PR: 248674 [1] lang/gcc6-aux/Makefile | 4 ++++ 1 file changed, 4 insertions(+)