periscop / cloog

The CLooG Code Generator in the Polyhedral Model
GNU Lesser General Public License v2.1
40 stars 23 forks source link

2 tests fail in 0.18.3 with isl 0.12.2 #28

Closed jonesrw closed 5 years ago

jonesrw commented 9 years ago

I have 2 tests failing on 0.18.3...one of them is the same as another post here. In preparation for compiling gcc4.9.2, I used gmake and gcc4.7.2 to compile gmp-6.0.0, mpfr-3.1.2, mpc-1.0.2, isl-0.14 When I attempted to compile cloog-0.18.3 configure could not find isl installed since configure only looks for versions up to 12.

I then compiled isl-0.12.2 and changed the sym links in lib:

libisl.a            (from isl-0.12.2)
libisl.la           (from isl-0.12.2)
libisl.so -> libisl.so.10.2.2
libisl.so.10 -> libisl.so.10.2.2
libisl.so.10.2.2        (from isl-0.12.2)
libisl.so.10.2.2-gdb.py (from isl-0.12.2)
libisl.so.13 -> libisl.so.13.1.0
libisl.so.13.1.0        (from isl-0.14)
libisl.so.13.1.0-gdb.py (from isl-0.14)

When I attempted to compile cloog-0.18.3 AGAIN, configure passed, everything compiled and all tests passed.

I then compiled gcc4.9.2 with these libraries and it completed and all the tests passed.

I then went back and recompiled the libs once more using gcc4.9.2. All tests passed for each lib before and after each libs install.

UNTIL I got to cloog. It's failing these two tests..output below.

A similar thread says to use isl-0.14, but cloog-0.18.3 configure does not detect it. Two questions:

  1. Does these errors really cause a problem for the package?
  2. How do you override the configure test and link with isl-0.14?

ERROR LOGS:

Check file /appl/gfpip/local_build/src/bastoul.net/cloog-0.18.3/test/reservoir/QR.cloog (no option), generating... 
    --- cloog-0.18.3/test/reservoir/QR.c       2014-12-08 10:05:37.000000000 +0000
    +++ cloog_temp  2015-03-20 20:41:16.431838000 +0000
    @@ -1,12 +1,6 @@
    -/* Generated from ./reservoir/QR.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.07s. */
    +/* Generated from cloog-0.18.3/test/reservoir/QR.cloog by CLooG 0.18.3 gmp bits in 1.44s. */
     if (N >= 1) {
       S1(0);
    -  if ((M <= 0) && (N >= 2)) {
    -    S3(0);
    -    S10(0);
    -    S1(1);
    -    S5(0);
    -  }
    if ((M >= 1) && (N == 1)) {
         for (c4=0;c4<=M-1;c4++) {
           S2(0,c4);
    @@ -34,6 +28,12 @@
         S10(0);
         S1(1);
         S5(0);
    +  }
    +  if ((M <= 0) && (N >= 2)) {
    +    S3(0);
    +    S10(0);
    +    S1(1);
    +    S5(0);
       }
    for (c2=2;c2<=min(M,N-1);c2++) {
         for (c4=c2-1;c4<=N-1;c4++) {
    -e 
    FAIL: cloog-0.18.3/test/reservoir/QR.c has a problem
Check file cloog-0.18.3/test/isl/jacobi-shared.cloog (options -f 4 -l -1 -override -strides 1 -sh 1 ), generating... 

--- cloog-0.18.3/test/isl/jacobi-shared.c        2014-12-08 10:05:37.000000000 +0000
+++ cloog_temp  2015-03-20 20:41:32.965265000 +0000
@@ -3,7 +3,7 @@
   if ((16*floord(t0-1,16) >= -N+g1+t0+1) && (16*floord(g1+t0-3,16) >= -N+g1+t0+1) && (32*floord(t1-1,32) >= -N+g2+t1+1) && (32*floord(g2+t1-3,32) >=
t1-32)) {
     for (c0=max(-16*floord(t0-1,16)+t0,-16*floord(g1+t0-3,16)+t0);c0<=min(32,N-g1-1);c0+=16) {
       for (c1=-32*floord(t1-1,32)+t1;c1<=min(32,N-g2-1);c1+=32) {
-        if (c1 >= 1) {
+        if ((c1 >= 1) && (c1 <= 32)) {
           S1((c0+g1-1),(c1+g2-1));
         }
       }

FAIL: cloog-0.18.3/test/isl/jacobi-shared.c has a problem
ftynse commented 9 years ago

Could you please show us how do you invoke configure?

I do not remember configure checking for any specific version of the isl... It uses either system isl (first in path) or the one you provided it with (via --with-isl=system --with-isl-prefix=/path/to/isl/installation).

jonesrw commented 9 years ago

I believe I found why I needed to install isl-0.12.2… gcc4.9.2 wanted it. gcc was specifically checking for isl versions 10, 11, 12 and stopped. It does not have checks past version 12.

I installed isl-0.12.2 AFTER I had cloog built and tested on the first pass.

The comments say it’s checking for ISL because

GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL.

Basic setup is inlined here, actual checks are in config/cloog.m4 and

config/isl.m4

Is GCC imposing a restriction it should not?

If I upgrade the sym links to use the isl 0.14, should I expect to BREAK GCC4.9.2 or is the dependency from GCC just on CLOOG and GCC was checking ISL to make sure CLOOG would be OK?

Bill From: ftynse [mailto:notifications@github.com] Sent: Saturday, March 21, 2015 11:22 AM To: periscop/cloog Cc: JONES, BILL Subject: Re: [cloog] 2 tests fail in 0.18.3 with isl 0.12.2 (#28)

Could you please show us how do you invoke configure?

I do not remember configure checking for any specific version of the isl... It uses either system isl (first in path) or the one you provided it with (via --with-isl=system --with-isl-prefix=/path/to/isl/installation).

— Reply to this email directly or view it on GitHubhttps://github.com/periscop/cloog/issues/28#issuecomment-84371911.

jonesrw commented 9 years ago

Update/Correction:

I have 2 tests failing on 0.18.3...one of them is the same as another post here. In preparation for compiling gcc4.9.2, I used gmake and gcc4.7.2 to compile gmp-6.0.0, mpfr-3.1.2, mpc-1.0.2, isl-0.14, AND cloog-0.18.3

All the libraries compiled and passed all tests.

When I attempted to compile gcc4.9.2 configure could not find isl installed since the GCC configure only looks for versions up to 12.

# GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL.
# Basic setup is inlined here, actual checks are in config/cloog.m4 and
# config/isl.m4

I then compiled isl-0.12.2 and changed the sym links in lib:

libisl.a            (from isl-0.12.2)
libisl.la           (from isl-0.12.2)
libisl.so -> libisl.so.10.2.2
libisl.so.10 -> libisl.so.10.2.2
libisl.so.10.2.2        (from isl-0.12.2)
libisl.so.10.2.2-gdb.py     (from isl-0.12.2)
libisl.so.13 -> libisl.so.13.1.0
libisl.so.13.1.0        (from isl-0.14)
libisl.so.13.1.0-gdb.py     (from isl-0.14)

At this poing GCC4.9.2 found ISL-0.12.2 and compiled and all tests passed.

I then went back and recompiled the libs once more using gcc4.9.2. All tests passed for each lib before and after each libs install.

UNTIL I got to cloog. It's failing the two tests noted above in the thread. So now the question is:

Is GCC imposing a restriction that it should not?

If I upgrade the sym links to use the isl 0.14, I would expect to "fix" CLOOG but then should I expect to BREAK GCC4.9.2 or is the dependency from GCC just on CLOOG and GCC was checking ISL to make sure CLOOG would be OK?

Do the GCC4.9.2 checks need to be updated?

Ced commented 9 years ago

Hi, first, let me give you a bit of context : CLooG's checking is typically tied to a specific version of isl because each version of isl may answer in a different, yet correct way to the same mathematical question. We don't enforce in the configure script a specific isl version, because that's too restrictive. We don't provide a version of CLooG for each new version of isl because our projects are not that linked. If someone complains or asks, we check and release a new version of CLooG. Someone is working on automating the process.

However, to avoid any problem with GCC/LLVM compilation and checking, a new CLooG has always been released once a new release of the compiler was announced. So everything was aligned. So we have : CLooG 0.18.3 with isl 0.14 CLooG 0.18.2 with isl 0.12.1

=> No CLooG aligned with isl 0.12.2, because noone needed/asked for it !!!

So there are three options :

  1. we may build a special 0.18.2.1 for isl 0.12.2,
  2. or you may use isl 0.12.1 along with CLooG 0.18.2,
  3. or you may use isl 0.14 along with CLooG 0.18.3, whatever is the best for you...

Cedric

On Sat, Mar 21, 2015 at 5:34 PM, Bill Jones notifications@github.com wrote:

Update/Correction:

I have 2 tests failing on 0.18.3...one of them is the same as another post here. In preparation for compiling gcc4.9.2, I used gmake and gcc4.7.2 to compile gmp-6.0.0, mpfr-3.1.2, mpc-1.0.2, isl-0.14, AND cloog-0.18.3

All the libraries compiled and passed all tests.

When I attempted to compile gcc4.9.2 configure could not find isl installed since the GCC configure only looks for versions up to 12.

GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL.

Basic setup is inlined here, actual checks are in config/cloog.m4 and

config/isl.m4

I then compiled isl-0.12.2 and changed the sym links in lib:

libisl.a (from isl-0.12.2)libisl.la (from isl-0.12.2) libisl.so -> libisl.so.10.2.2 libisl.so.10 -> libisl.so.10.2.2 libisl.so.10.2.2 (from isl-0.12.2)libisl.so.10.2.2-gdb.py (from isl-0.12.2) libisl.so.13 -> libisl.so.13.1.0 libisl.so.13.1.0 (from isl-0.14)libisl.so.13.1.0-gdb.py (from isl-0.14)

At this poing GCC4.9.2 found ISL-0.12.2 and compiled and all tests passed.

I then went back and recompiled the libs once more using gcc4.9.2. All tests passed for each lib before and after each libs install.

UNTIL I got to cloog. It's failing the two tests noted above in the thread. So now the question is:

Is GCC imposing a restriction that it should not?

If I upgrade the sym links to use the isl 0.14, I would expect to "fix" CLOOG but then should I expect to BREAK GCC4.9.2 or is the dependency from GCC just on CLOOG and GCC was checking ISL to make sure CLOOG would be OK?

Do the GCC4.9.2 checks need to be updated?

Reply to this email directly or view it on GitHub https://github.com/periscop/cloog/issues/28#issuecomment-84388079.

jonesrw commented 9 years ago

Cedric,

Thank you for the explanation. It was very good information. However, I don’t believe this issue was about 0.12.1 vs 0.12.2. It was to resolve the errors during recompile and test of CLooG. This may also need to be posted as a GCC 4.9.2 issue, but I need to pursue this a bit more in this forum.

The issue still on the table is that GCC4.9.2 has in it’s “configure” script, specific code to look for external versions of ISL and CLooG of specific revisions. That code seems to be based loosely on the information you provided below. I say loosely because it is not checking which version of CLooG was available and then requesting the correct counterpart from ISL. That code is looking for any version of ISL 0.10.* ,0.11., 0.12. then any version of CLooG 17 or 18 starting at line 5885 in the configure script. It’s not matching them up or checking for ISL 0.14.

The result of this is that when someone has already built all the math libraries including ISL and CLooG in a matched pair(such as CLooG 0.18.3 and isl 0.14), then GCC comes along and says no no…I need isl 0.12.*, a trap is sprung on the developer. The trap is, to comply with the requirement from GCC, the developer must install the older version of 0.12.1 or 0.12.2 or any version of 0.12 (because GCC isn’t that specific). Now there is a catch 22: GCC now will get configured, but CLooG doesn’t have what it expects (but that is hidden information)

So back to my original two questions:

  1.  Do these inconsistencies left as-is (ISL 0.12.* / CLooG 0.18.3), really break anything in CLooG?
  2.  Is the GCC test, arbitrary, incomplete or just wrong?
  3.  Do these inconsistencies, if resolved by matching the correct ISL to the correct GLooG (0.14/0.18.3) break GCC or fix GCC?  (In other words, did GCC directly depend on ISL 0.12.* or could it be any version of ISL)

I am asking in this forum, since it seems that ISL, GLooG and GCC are symbiotic and these versioning issues need to be vetted.

Thanks for your support,

Bill

From: Cédric Bastoul [mailto:notifications@github.com] Sent: Sunday, March 22, 2015 5:05 AM To: periscop/cloog Cc: JONES, BILL Subject: Re: [cloog] 2 tests fail in 0.18.3 with isl 0.12.2 (#28)

Hi, first, let me give you a bit of context : CLooG's checking is typically tied to a specific version of isl because each version of isl may answer in a different, yet correct way to the same mathematical question. We don't enforce in the configure script a specific isl version, because that's too restrictive. We don't provide a version of CLooG for each new version of isl because our projects are not that linked. If someone complains or asks, we check and release a new version of CLooG. Someone is working on automating the process.

However, to avoid any problem with GCC/LLVM compilation and checking, a new CLooG has always been released once a new release of the compiler was announced. So everything was aligned. So we have : CLooG 0.18.3 with isl 0.14 CLooG 0.18.2 with isl 0.12.1

=> No CLooG aligned with isl 0.12.2, because noone needed/asked for it !!!

So there are three options :

  1. we may build a special 0.18.2.1 for isl 0.12.2,
  2. or you may use isl 0.12.1 along with CLooG 0.18.2,
  3. or you may use isl 0.14 along with CLooG 0.18.3, whatever is the best for you...

Cedric

On Sat, Mar 21, 2015 at 5:34 PM, Bill Jones notifications@github.com<mailto:notifications@github.com> wrote:

Update/Correction:

I have 2 tests failing on 0.18.3...one of them is the same as another post here. In preparation for compiling gcc4.9.2, I used gmake and gcc4.7.2 to compile gmp-6.0.0, mpfr-3.1.2, mpc-1.0.2, isl-0.14, AND cloog-0.18.3

All the libraries compiled and passed all tests.

When I attempted to compile gcc4.9.2 configure could not find isl installed since the GCC configure only looks for versions up to 12.

GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL.

Basic setup is inlined here, actual checks are in config/cloog.m4 and

config/isl.m4

I then compiled isl-0.12.2 and changed the sym links in lib:

libisl.a (from isl-0.12.2)libisl.la (from isl-0.12.2) libisl.so -> libisl.so.10.2.2 libisl.so.10 -> libisl.so.10.2.2 libisl.so.10.2.2 (from isl-0.12.2)libisl.so.10.2.2-gdb.py (from isl-0.12.2) libisl.so.13 -> libisl.so.13.1.0 libisl.so.13.1.0 (from isl-0.14)libisl.so.13.1.0-gdb.py (from isl-0.14)

At this poing GCC4.9.2 found ISL-0.12.2 and compiled and all tests passed.

I then went back and recompiled the libs once more using gcc4.9.2. All tests passed for each lib before and after each libs install.

UNTIL I got to cloog. It's failing the two tests noted above in the thread. So now the question is:

Is GCC imposing a restriction that it should not?

If I upgrade the sym links to use the isl 0.14, I would expect to "fix" CLOOG but then should I expect to BREAK GCC4.9.2 or is the dependency from GCC just on CLOOG and GCC was checking ISL to make sure CLOOG would be OK?

Do the GCC4.9.2 checks need to be updated?

Reply to this email directly or view it on GitHub https://github.com/periscop/cloog/issues/28#issuecomment-84388079.

— Reply to this email directly or view it on GitHubhttps://github.com/periscop/cloog/issues/28#issuecomment-84566335.

periscop commented 9 years ago

Hi Bill (I'm adding Tobias Grosser to the discussion: Hi Tobias, your thought would be helpful), thanks for digging into that, I'll answer to the best of my knowledge.

Note that I'm not involved in GCC's development. Tobias Grosser was the person that ensured alignment between GCC, CLooG and isl. Since GCC 5, CLooG is not a dependence anymore because isl's developper added functionalities that CLooG used to provide directly in isl. So I would recommend to chose the simplest solution to solve the problem for GCC 4.9.2 since CLooG is fading away from GCC.

On Sun, Mar 22, 2015 at 12:53 PM, Bill Jones notifications@github.com wrote:

Cedric,

Thank you for the explanation. It was very good information. However, I don't believe this issue was about 0.12.1 vs 0.12.2. It was to resolve the errors during recompile and test of CLooG. This may also need to be posted as a GCC 4.9.2 issue, but I need to pursue this a bit more in this forum.

The issue still on the table is that GCC4.9.2 has in it's "configure" script, specific code to look for external versions of ISL and CLooG of specific revisions. That code seems to be based loosely on the information you provided below. I say loosely because it is not checking which version of CLooG was available and then requesting the correct counterpart from ISL. That code is looking for any version of ISL 0.10.* ,0.11., 0.12. then any version of CLooG 17 or 18 starting at line 5885 in the configure script. It's not matching them up or checking for ISL 0.14.

The result of this is that when someone has already built all the math libraries including ISL and CLooG in a matched pair(such as CLooG 0.18.3 and isl 0.14), then GCC comes along and says no no...I need isl 0.12.*, a trap is sprung on the developer. The trap is, to comply with the requirement from GCC, the developer must install the older version of 0.12.1 or 0.12.2 or any version of 0.12 (because GCC isn't that specific). Now there is a catch 22: GCC now will get configured, but CLooG doesn't have what it expects (but that is hidden information)

Yes, that's a pain even for CLooG itself. We're working on solving it with a smart checking, but it's not ready.

So back to my original two questions:

  1. Do these inconsistencies left as-is (ISL 0.12.* / CLooG 0.18.3), really break anything in CLooG?

I would be surprised this combination would compile because isl dramatically changed from 0.12 to 0.14 (I cannot test today). However, if it does and making check in CLooG is reporting few divergences, they should be just different versions of correct outputs. For all tests in CLooG and to the best of my knowledge, everything should be fine.

  1. Is the GCC test, arbitrary, incomplete or just wrong?

I'm not sure how to answer to that question because I'm not a GCC developper. GCC could check that CLooG and isl are "aligned". If they are aligned, using make check in CLooG is fine. Otherwise, the lazy solution is to simply disable CLooG's make check and warn the user, and the best solution is to use "make check_run" to check CLooG. Basically, the "run_check" target compiles generated codes and compares their executions instead of comparing textual generated code (which may be different yet equivalent), but it may take a while...

  1. Do these inconsistencies, if resolved by matching the correct ISL to the

    correct GLooG (0.14/0.18.3) break GCC or fix GCC? (In other words, did GCC directly depend on ISL 0.12.* or could it be any version of ISL)

There have been major technical changes in isl from 0.12 to 0.14, I'm not sure GCC would compile if it is not prepared for those changes. They have been done, but I'm not sure if it was just for GCC 5. But if it compiles, I'm pretty sure 0.14/0.18.3 is the way to go.

I am asking in this forum, since it seems that ISL, GLooG and GCC are symbiotic and these versioning issues need to be vetted.

Well, that used to be true, but for now the love story is between GCC and isl alone. Thanks,

Cedric

Thanks for your support,

Bill

From: Cédric Bastoul [mailto:notifications@github.com] Sent: Sunday, March 22, 2015 5:05 AM To: periscop/cloog Cc: JONES, BILL Subject: Re: [cloog] 2 tests fail in 0.18.3 with isl 0.12.2 (#28)

Hi, first, let me give you a bit of context : CLooG's checking is typically tied to a specific version of isl because each version of isl may answer in a different, yet correct way to the same mathematical question. We don't enforce in the configure script a specific isl version, because that's too restrictive. We don't provide a version of CLooG for each new version of isl because our projects are not that linked. If someone complains or asks, we check and release a new version of CLooG. Someone is working on automating the process.

However, to avoid any problem with GCC/LLVM compilation and checking, a new CLooG has always been released once a new release of the compiler was announced. So everything was aligned. So we have : CLooG 0.18.3 with isl 0.14 CLooG 0.18.2 with isl 0.12.1

=> No CLooG aligned with isl 0.12.2, because noone needed/asked for it !!!

So there are three options :

  1. we may build a special 0.18.2.1 for isl 0.12.2,
  2. or you may use isl 0.12.1 along with CLooG 0.18.2,
  3. or you may use isl 0.14 along with CLooG 0.18.3, whatever is the best for you...

Cedric

On Sat, Mar 21, 2015 at 5:34 PM, Bill Jones <notifications@github.com mailto:notifications@github.com> wrote:

Update/Correction:

I have 2 tests failing on 0.18.3...one of them is the same as another post here. In preparation for compiling gcc4.9.2, I used gmake and gcc4.7.2 to compile gmp-6.0.0, mpfr-3.1.2, mpc-1.0.2, isl-0.14, AND cloog-0.18.3

All the libraries compiled and passed all tests.

When I attempted to compile gcc4.9.2 configure could not find isl installed since the GCC configure only looks for versions up to 12.

GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL.

Basic setup is inlined here, actual checks are in config/cloog.m4 and

config/isl.m4

I then compiled isl-0.12.2 and changed the sym links in lib:

libisl.a (from isl-0.12.2)libisl.la (from isl-0.12.2) libisl.so -> libisl.so.10.2.2 libisl.so.10 -> libisl.so.10.2.2 libisl.so.10.2.2 (from isl-0.12.2)libisl.so.10.2.2-gdb.py (from isl-0.12.2) libisl.so.13 -> libisl.so.13.1.0 libisl.so.13.1.0 (from isl-0.14)libisl.so.13.1.0-gdb.py (from isl-0.14)

At this poing GCC4.9.2 found ISL-0.12.2 and compiled and all tests passed.

I then went back and recompiled the libs once more using gcc4.9.2. All tests passed for each lib before and after each libs install.

UNTIL I got to cloog. It's failing the two tests noted above in the thread. So now the question is:

Is GCC imposing a restriction that it should not?

If I upgrade the sym links to use the isl 0.14, I would expect to "fix" CLOOG but then should I expect to BREAK GCC4.9.2 or is the dependency from GCC just on CLOOG and GCC was checking ISL to make sure CLOOG would be OK?

Do the GCC4.9.2 checks need to be updated?

Reply to this email directly or view it on GitHub https://github.com/periscop/cloog/issues/28#issuecomment-84388079.

Reply to this email directly or view it on GitHub< https://github.com/periscop/cloog/issues/28#issuecomment-84566335>.

Reply to this email directly or view it on GitHub https://github.com/periscop/cloog/issues/28#issuecomment-84591286.

periscop commented 9 years ago

On 03/22/2015 03:36 PM, C�dric Bastoul wrote:

Hi Bill (I'm adding Tobias Grosser to the discussion: Hi Tobias, your thought would be helpful), thanks for digging into that, I'll answer to the best of my knowledge.

Note that I'm not involved in GCC's development. Tobias Grosser was the person that ensured alignment between GCC, CLooG and isl. Since GCC 5, CLooG is not a dependence anymore because isl's developper added functionalities that CLooG used to provide directly in isl. So I would recommend to chose the simplest solution to solve the problem for GCC 4.9.2 since CLooG is fading away from GCC.

gcc is expected to be compiled with the isl/cloog combinations that are specified in the online documentation. It may be that the configure checks are a little loose and don't 100% enforce this, but these are indeed the only versions known to work.

Tobias

jonesrw commented 9 years ago

Tobias,

I saved a backup copy of my local tree, then updated back to isl 0.14 to get CLooG happy.

Before that, I had compiled several components, including GCC itself with the ISL 0.12.2 and CLooG 18.3 mis-matched pairing. It all seemed to work and passed, (I have to verify in the logs), all the tests. gnu/make-3.82 gnu/libsigsegv-2.10 gnu/m4-1.4.17 gnu/coreutils-8.23 gnu/readline-6.3 gnu/libiconv-1.14 tukaani/xz-5.2.0 gnu/texinfo-5.2 gnu/indent-2.2.10 gnu/help2man-1.46.5 gnu/sed-4.2.2 pkgconfig/pkg-config-0.28 gnu/bison-3.0.2 sourceforge/flex-2.5.39 gnu/ncurses-5.9 gnupg/zlib-1.2.8 sourceforge/pcre-8.36 gnu/grep-2.19 gnu/gzip-1.6 gnu/pth-2.0.7 gnu/tar-1.28 gnu/patch-2.6.1 sourceforge/expat-2.1.0 gnu/libunistring-0.9.4 gnu/gmp-6.0.0 mpfr.org/mpfr-3.1.2-p1 gnu/mpc-1.0.2 gcc.gnu.org/isl-0.12.2 bastoul.net/cloog-0.18.3 <- This is where the tests failed for CLooG.

Then: gcc.gnu.org/isl-0.14 bastoul.net/cloog-0.18.3 <- This is where the tests passed again for CLooG.

It seems that if GCC4.9.2 is going to accept CLooG 0.18.3, it also needs to allow for the ISL 0.14 version (which it does not right now).

So does this mean I should get a patch to allow ISL 0.14 and recompile the whole mess (several days)? Note: I have seen other posts to other help sites with this exact same issue. The solution didn’t really get to the bottom of the issue and since everything is a shared library, may have undermined Just jumping to GCC5.x has potentially it’s own set of new things to worry about.

Is it enough to rely on the fact that all the tests passed, or do I need a GCC Patch to allow 0.14 and start over to make sure there is no lint?

Bill

From: periscop [mailto:notifications@github.com] Sent: Sunday, March 22, 2015 11:12 AM To: periscop/cloog Cc: JONES, BILL Subject: Re: [cloog] 2 tests fail in 0.18.3 with isl 0.12.2 (#28)

On 03/22/2015 03:36 PM, C�dric Bastoul wrote:

Hi Bill (I'm adding Tobias Grosser to the discussion: Hi Tobias, your thought would be helpful), thanks for digging into that, I'll answer to the best of my knowledge.

Note that I'm not involved in GCC's development. Tobias Grosser was the person that ensured alignment between GCC, CLooG and isl. Since GCC 5, CLooG is not a dependence anymore because isl's developper added functionalities that CLooG used to provide directly in isl. So I would recommend to chose the simplest solution to solve the problem for GCC 4.9.2 since CLooG is fading away from GCC.

gcc is expected to be compiled with the isl/cloog combinations that are specified in the online documentation. It may be that the configure checks are a little loose and don't 100% enforce this, but these are indeed the only versions known to work.

Tobias

— Reply to this email directly or view it on GitHubhttps://github.com/periscop/cloog/issues/28#issuecomment-84628082.

periscop commented 9 years ago

Bill, I think Tobias didn't receive your answer since he was not in copy: the official channel to discuss CLooG is the CLooG-Development Google Group, our github page is still more or less internal : https://groups.google.com/forum/?hl=en#!forum/cloog-development

On Sun, Mar 22, 2015 at 6:01 PM, Bill Jones notifications@github.com wrote:

Tobias,

I saved a backup copy of my local tree, then updated back to isl 0.14 to get CLooG happy.

Before that, I had compiled several components, including GCC itself with the ISL 0.12.2 and CLooG 18.3 mis-matched pairing. It all seemed to work and passed, (I have to verify in the logs), all the tests. gnu/make-3.82 gnu/libsigsegv-2.10 gnu/m4-1.4.17 gnu/coreutils-8.23 gnu/readline-6.3 gnu/libiconv-1.14 tukaani/xz-5.2.0 gnu/texinfo-5.2 gnu/indent-2.2.10 gnu/help2man-1.46.5 gnu/sed-4.2.2 pkgconfig/pkg-config-0.28 gnu/bison-3.0.2 sourceforge/flex-2.5.39 gnu/ncurses-5.9 gnupg/zlib-1.2.8 sourceforge/pcre-8.36 gnu/grep-2.19 gnu/gzip-1.6 gnu/pth-2.0.7 gnu/tar-1.28 gnu/patch-2.6.1 sourceforge/expat-2.1.0 gnu/libunistring-0.9.4 gnu/gmp-6.0.0 mpfr.org/mpfr-3.1.2-p1 gnu/mpc-1.0.2 gcc.gnu.org/isl-0.12.2 bastoul.net/cloog-0.18.3 <- This is where the tests failed for CLooG.

Then: gcc.gnu.org/isl-0.14 bastoul.net/cloog-0.18.3 <- This is where the tests passed again for CLooG.

It seems that if GCC4.9.2 is going to accept CLooG 0.18.3, it also needs to allow for the ISL 0.14 version (which it does not right now).

So does this mean I should get a patch to allow ISL 0.14 and recompile the whole mess (several days)? Note: I have seen other posts to other help sites with this exact same issue. The solution didn’t really get to the bottom of the issue and since everything is a shared library, may have undermined Just jumping to GCC5.x has potentially it’s own set of new things to worry about.

Is it enough to rely on the fact that all the tests passed, or do I need a GCC Patch to allow 0.14 and start over to make sure there is no lint?

Bill

From: periscop [mailto:notifications@github.com] Sent: Sunday, March 22, 2015 11:12 AM To: periscop/cloog Cc: JONES, BILL Subject: Re: [cloog] 2 tests fail in 0.18.3 with isl 0.12.2 (#28)

On 03/22/2015 03:36 PM, C�dric Bastoul wrote:

Hi Bill (I'm adding Tobias Grosser to the discussion: Hi Tobias, your thought would be helpful), thanks for digging into that, I'll answer to the best of my knowledge.

Note that I'm not involved in GCC's development. Tobias Grosser was the person that ensured alignment between GCC, CLooG and isl. Since GCC 5, CLooG is not a dependence anymore because isl's developper added functionalities that CLooG used to provide directly in isl. So I would recommend to chose the simplest solution to solve the problem for GCC 4.9.2 since CLooG is fading away from GCC.

gcc is expected to be compiled with the isl/cloog combinations that are specified in the online documentation. It may be that the configure checks are a little loose and don't 100% enforce this, but these are indeed the only versions known to work.

Tobias

— Reply to this email directly or view it on GitHub< https://github.com/periscop/cloog/issues/28#issuecomment-84628082>.

— Reply to this email directly or view it on GitHub https://github.com/periscop/cloog/issues/28#issuecomment-84654329.

tobiasgrosser commented 9 years ago

Hi Bill,

for gcc 4.9, please use isl-0.12.2 and cloog-0.18.1. As I said earlier, other versions may work, but those are not supported.

You can find those version in contrib/download_prerequisites or for the latest gcc at https://gcc.gnu.org/install/prerequisites.html

Cheers, Tobias