Bug 248674 - lang/gcc6-aux fails build with ISL >=20
Summary: lang/gcc6-aux fails build with ISL >=20
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Eric Turgeon
URL: https://gcc.gnu.org/bugzilla/show_bug...
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-15 19:28 UTC by alt2600
Modified: 2020-08-15 19:59 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (ericbsd)


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