SydOS/Star

Cloog incompatable with ISL

Opened this issue · 12 comments

The current version of ISL in your scripts doesn't work with the ClooG library.

As stated on the OSDev Wiki:

Version 0.13 (or later) of ISL is incompatible with the current CLooG 0.18.1 release (and older). Use version 0.12.2 of ISL or the build will fail.

What OS are you running? Specific distro and version. You can gather the version from lsb_release -a on Debian/Ubuntu based distros.

Ubuntu 18.04 LTS (codename bionic)

Interesting, the combination of ISL and ClooG work fine on my MacBook Air (macOS 10.12.6, 10.13.5, and 10.14.0 DB1). It also seems to work fine for Gold on WSL...

It's the toolchain-i686.sh one, correct? I'm gonna try it myself and see what happens on a VM

Correct, it is the i686 toolchain.

  CC       source/cloog.o
  CCLD     cloog
./.libs/libcloog-isl.so: undefined reference to `isl_basic_set_drop_constraint'
./.libs/libcloog-isl.so: undefined reference to `isl_set_drop_basic_set'
./.libs/libcloog-isl.so: undefined reference to `isl_set_copy_basic_set'
./.libs/libcloog-isl.so: undefined reference to `isl_basic_map_from_basic_set'
collect2: error: ld returned 1 exit status
Makefile:766: recipe for target 'cloog' failed
make[1]: *** [cloog] Error 1
make[1]: Leaving directory '/root/SydOS/scripts/cloog-0.18.4-build'
Makefile:1046: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Would this be the same problem you're having?

It sure is. Odd how it doesn't work with just with my distro though...

It's the same issue with Linux Mint 18.3

Not sure why the toolchain doesn't build on my distro. I'll need to find a workaround, since changing the version of ISL to work with ClooG causes compatibility issues with other stages of the compilation

Have you tried ISL 0.14? That's the latest mentioned in the CLooG ChangeLog as working.

What's going on further down?

0.14 works with ClooG, but binutils requires 0.15 or later. I'm not certain how what to even do about that.

I guess you could build it twice on Linux platforms... I have no idea why it would be so incompatible on Linux but work just fine on macOS and on Windows' WSL, which also runs Ubuntu. I think the default Ubuntu is out of date though. I'm not sure what version.