Bug 248674 - lang/gcc6-aux fails build with ISL >=20
Summary: lang/gcc6-aux fails build with ISL >=20
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dima Panov
URL: https://gcc.gnu.org/bugzilla/show_bug...
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-15 19:28 UTC by alt2600
Modified: 2023-04-12 06:54 UTC (History)
3 users (show)

See Also:


Attachments
manual patch merges changes to graphite.h to reference isl/id.h and isl/space.h (337 bytes, patch)
2020-08-15 19:28 UTC, alt2600
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description alt2600 2020-08-15 19:28:12 UTC
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));
Comment 1 alt2600 2020-08-15 19:59:05 UTC
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
Comment 2 alt2600 2020-12-31 23:43:33 UTC
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.
Comment 3 Eric Turgeon freebsd_committer freebsd_triage 2021-10-01 21:19:20 UTC
I am not the maintainer anymore.
Comment 4 commit-hook freebsd_committer freebsd_triage 2022-01-26 20:11:26 UTC
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(+)