firasuke / mussel

The shortest and fastest script to build working cross compilers targeting musl libc
ISC License
88 stars 12 forks source link

Build failure on Debian Bullseye #11

Closed minnyres closed 1 year ago

minnyres commented 1 year ago

Error information in the log file:

g++ -DHAVE_CONFIG_H   -I. -I/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl -I/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include -Iinclude/ -I/home/cat/git/mussel/sources/gcc/gcc-12.2.0/gmp -I/home/cat/git/mussel/builds/cross-gcc/./gmp   -g -O2   -MT isl_test_cpp17.o -MD -MP -MF $depbase.Tpo -c -o isl_test_cpp17.o /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc &&\
mv -f $depbase.Tpo $depbase.Po
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:20:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc: In function ‘isl::id construct_id(isl::ctx, bool*)’:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:25:24: error: no matching function for call to ‘isl::id::id(isl::ctx&, const char [2], std::shared_ptr<S>&)’
   25 |  isl::id id(ctx, "S", s);
      |                        ^
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:7:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note: candidate: ‘isl::id::id(isl::ctx, const string&)’
10634 | id::id(isl::ctx ctx, const std::string &str)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note:   candidate expects 2 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note: candidate: ‘isl::id::id(const isl::id&)’
10622 | id::id(const id &obj)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note: candidate: ‘isl::id::id()’
10619 | id::id()
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note:   candidate expects 0 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note: candidate: ‘isl::id::id(isl_id*)’
10616 | id::id(__isl_take isl_id *ptr)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note:   candidate expects 1 argument, 3 provided
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:20:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc: In function ‘void test_try_user(isl::ctx)’:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:39:27: error: no matching function for call to ‘isl::id::id(isl::ctx&, const char [5], int)’
   39 |  isl::id id(ctx, "test", 5);
      |                           ^
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:7:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note: candidate: ‘isl::id::id(isl::ctx, const string&)’
10634 | id::id(isl::ctx ctx, const std::string &str)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note:   candidate expects 2 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note: candidate: ‘isl::id::id(const isl::id&)’
10622 | id::id(const id &obj)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note: candidate: ‘isl::id::id()’
10619 | id::id()
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note:   candidate expects 0 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note: candidate: ‘isl::id::id(isl_id*)’
10616 | id::id(__isl_take isl_id *ptr)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note:   candidate expects 1 argument, 3 provided
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:20:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:42:22: error: ‘class isl::id’ has no member named ‘try_user’
   42 |  auto maybe_int = id.try_user<int>();
      |                      ^~~~~~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:42:31: error: expected primary-expression before ‘int’
   42 |  auto maybe_int = id.try_user<int>();
      |                               ^~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:43:20: error: ‘class isl::id’ has no member named ‘try_user’
   43 |  auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                    ^~~~~~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:43:46: error: expected primary-expression before ‘>’ token
   43 |  auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                                              ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:43:49: error: expected primary-expression before ‘)’ token
   43 |  auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                                                 ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:44:24: error: ‘class isl::id’ has no member named ‘try_user’
   44 |  auto maybe_int2 = id2.try_user<int>();
      |                        ^~~~~~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:44:33: error: expected primary-expression before ‘int’
   44 |  auto maybe_int2 = id2.try_user<int>();
      |                                 ^~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:60:21: error: ‘class isl::id’ has no member named ‘try_user’
   60 |   auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                     ^~~~~~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:60:47: error: expected primary-expression before ‘>’ token
   60 |   auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                                               ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17-generic.cc:60:50: error: expected primary-expression before ‘)’ token
   60 |   auto maybe_s = id.try_user<std::shared_ptr<S>>();
      |                                                  ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc: In function ‘void test_user(isl::ctx)’:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:44:27: error: no matching function for call to ‘isl::id::id(isl::ctx&, const char [5], int)’
   44 |  isl::id id(ctx, "test", 5);
      |                           ^
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:7:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note: candidate: ‘isl::id::id(isl::ctx, const string&)’
10634 | id::id(isl::ctx ctx, const std::string &str)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note:   candidate expects 2 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note: candidate: ‘isl::id::id(const isl::id&)’
10622 | id::id(const id &obj)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note: candidate: ‘isl::id::id()’
10619 | id::id()
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note:   candidate expects 0 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note: candidate: ‘isl::id::id(isl_id*)’
10616 | id::id(__isl_take isl_id *ptr)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:46:44: error: no matching function for call to ‘isl::id::id(isl::ctx&, const char [6], std::string)’
   46 |  isl::id id3(ctx, "test3", std::string("s"));
      |                                            ^
In file included from /home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:7:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note: candidate: ‘isl::id::id(isl::ctx, const string&)’
10634 | id::id(isl::ctx ctx, const std::string &str)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10634:1: note:   candidate expects 2 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note: candidate: ‘isl::id::id(const isl::id&)’
10622 | id::id(const id &obj)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10622:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note: candidate: ‘isl::id::id()’
10619 | id::id()
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10619:1: note:   candidate expects 0 arguments, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note: candidate: ‘isl::id::id(isl_id*)’
10616 | id::id(__isl_take isl_id *ptr)
      | ^~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/include/isl/cpp.h:10616:1: note:   candidate expects 1 argument, 3 provided
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:48:21: error: ‘class isl::id’ has no member named ‘user’
   48 |  auto int_user = id.user<int>();
      |                     ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:48:26: error: expected primary-expression before ‘int’
   48 |  auto int_user = id.user<int>();
      |                          ^~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:51:20: error: ‘class isl::id’ has no member named ‘user’
   51 |  auto s_user = id3.user<std::string>();
      |                    ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:51:36: error: expected primary-expression before ‘>’ token
   51 |  auto s_user = id3.user<std::string>();
      |                                    ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:51:38: error: expected primary-expression before ‘)’ token
   51 |  auto s_user = id3.user<std::string>();
      |                                      ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc: In lambda function:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:54:30: error: ‘class isl::id’ has no member named ‘user’
   54 |  check_invalid([&id] () { id.user<std::string>(); });
      |                              ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:54:46: error: expected primary-expression before ‘>’ token
   54 |  check_invalid([&id] () { id.user<std::string>(); });
      |                                              ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:54:48: error: expected primary-expression before ‘)’ token
   54 |  check_invalid([&id] () { id.user<std::string>(); });
      |                                                ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc: In lambda function:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:55:32: error: ‘class isl::id’ has no member named ‘user’
   55 |  check_invalid([&id2] () { id2.user<int>(); });
      |                                ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:55:37: error: expected primary-expression before ‘int’
   55 |  check_invalid([&id2] () { id2.user<int>(); });
      |                                     ^~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc: In lambda function:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:56:32: error: ‘class isl::id’ has no member named ‘user’
   56 |  check_invalid([&id2] () { id2.user<std::string>(); });
      |                                ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:56:48: error: expected primary-expression before ‘>’ token
   56 |  check_invalid([&id2] () { id2.user<std::string>(); });
      |                                                ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:56:50: error: expected primary-expression before ‘)’ token
   56 |  check_invalid([&id2] () { id2.user<std::string>(); });
      |                                                  ^
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc: In lambda function:
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:57:32: error: ‘class isl::id’ has no member named ‘user’
   57 |  check_invalid([&id3] () { id3.user<int>(); });
      |                                ^~~~
/home/cat/git/mussel/sources/gcc/gcc-12.2.0/isl/isl_test_cpp17.cc:57:37: error: expected primary-expression before ‘int’
   57 |  check_invalid([&id3] () { id3.user<int>(); });
      |                                     ^~~
make[3]: *** [Makefile:1970: isl_test_cpp17.o] Error 1
make[3]: Leaving directory '/home/cat/git/mussel/builds/cross-gcc/isl'
make[2]: *** [Makefile:2101: all-recursive] Error 1
make[2]: Leaving directory '/home/cat/git/mussel/builds/cross-gcc/isl'
make[1]: *** [Makefile:1589: all] Error 2
make[1]: Leaving directory '/home/cat/git/mussel/builds/cross-gcc/isl'
make: *** [Makefile:6565: all-isl] Error 2
firasuke commented 1 year ago

Can you upload the entire log file?

minnyres commented 1 year ago

Hi this is the entire log. log.txt

firasuke commented 1 year ago

I haven't tested mussel on Debian based distributions, and I haven't encountered this issue neither on Arch nor on Fedora.

It appears to be related to C++17 issues used with the latest isl 0.25, a workaround to solve this would be adding ax_cv_cxx_compile_cxx17=no \ before line 12 so that it becomes:

printf -- "${BLUEC}..${NORMALC} Configuring cross-gcc (compiler)...\n"
ax_cv_cxx_compile_cxx17=no \
$SRCDIR/gcc/gcc-$gcc_ver/configure \
  --prefix=$MPREFIX \
  --target=$XTARGET \
  --with-sysroot=$MSYSROOT \
  --enable-languages=c,c++ \
  --disable-multilib \
  --disable-bootstrap \
  --disable-libsanitizer \
  --disable-werror \
  --enable-initfini-array $XGCCARGS >> $MLOG 2>&1
minnyres commented 1 year ago

Thanks for your reply, but I still meet the error with this patch.

log.txt

firasuke commented 1 year ago

That is weird, C++17 is only used for a test here. I think you'll have to wait until your host's compiler is actually capable of supporting C++17, or perhaps try passing ax_cv_cxx_compile_cxx17=no as a global environment variable and see if that works for you.

minnyres commented 1 year ago

try passing ax_cv_cxx_compile_cxx17=no as a global environment

still not working.

wait until your host's compiler is actually capable of supporting C++17

I will update the result when Debian upgrades to GCC 11 or 12.

firasuke commented 1 year ago

still not working.

That's unfortunate...

I will update the result when Debian upgrades to GCC 11 or 12.

Please do. I'll keep this issue open until then.

terefang commented 1 year ago

hello, havin the same error but also a fix

my environment:

$ ./check.sh 
bash:      4.4.20(1)-release
bc:        1.07.1
binutils:  Binutils for Ubuntu) 2.30
bison:     3.0.4
bzip2:     1.0.6
ccache:    3.4.1
coreutils: 8.28
diffutils: 3.6
findutils: 4.7.0-git
g++:       8.4.0-1ubuntu1~18.04)
gawk:      4.1.4
gcc:       8.4.0-1ubuntu1~18.04)
git:       2.17.1
glibc:     ./check.sh: line 52: /lib/libc.so.6: No such file or directory
grep:      3.1
gzip:      1.6
linux:     5.4.0-122-generic
lzip:      1.20
m4:        1.4.18
make:      4.1
perl:      5.26.1
rsync:     3.1.2
sed:       4.4
tar:       1.29
texinfo:   6.5
xz:        5.2.2
zstd:      v1.3.3

i added the option --disable-cxx to the invokation of mussel.sh and the following patch:

$ git diff
diff --git a/mussel.sh b/mussel.sh
index 7962eb5..b7d5742 100755
--- a/mussel.sh
+++ b/mussel.sh
@@ -42,7 +42,7 @@ pkgconf_ver=1.9.3
 # ----- Package URLs ----- #
 binutils_url=https://ftpmirror.gnu.org/binutils/binutils-$binutils_ver.tar.lz
 gcc_url=https://ftpmirror.gnu.org/gcc/gcc-$gcc_ver/gcc-$gcc_ver.tar.xz
-gmp_url=https://ftpmirror.gnu.org/gmp/gmp-$gmp_ver.tar.zst
+gmp_url=https://ftpmirror.gnu.org/gmp/gmp-$gmp_ver.tar.xz
 isl_url=https://libisl.sourceforge.io/isl-$isl_ver.tar.xz
 linux_url=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$linux_ver.tar.xz
 mpc_url=https://ftpmirror.gnu.org/mpc/mpc-$mpc_ver.tar.gz
@@ -502,7 +502,7 @@ printf -- "${BLUEC}..${NORMALC} Preparing cross-gcc (compiler)...\n"
 cp -ar $SRCDIR/gmp/gmp-$gmp_ver $SRCDIR/gcc/gcc-$gcc_ver/gmp
 cp -ar $SRCDIR/mpfr/mpfr-$mpfr_ver $SRCDIR/gcc/gcc-$gcc_ver/mpfr
 cp -ar $SRCDIR/mpc/mpc-$mpc_ver $SRCDIR/gcc/gcc-$gcc_ver/mpc
-cp -ar $SRCDIR/isl/isl-$isl_ver $SRCDIR/gcc/gcc-$gcc_ver/isl
+#cp -ar $SRCDIR/isl/isl-$isl_ver $SRCDIR/gcc/gcc-$gcc_ver/isl

 cd $BLDDIR
 mkdir cross-gcc
@@ -518,6 +518,7 @@ $SRCDIR/gcc/gcc-$gcc_ver/configure \
   --disable-bootstrap \
   --disable-libsanitizer \
   --disable-werror \
+  --without-isl \
   --enable-initfini-array $XGCCARGS >> $MLOG 2>&1

 printf -- "${BLUEC}..${NORMALC} Building cross-gcc (compiler)...\n"
firasuke commented 1 year ago

Yes, well disabling isl isn't a good idea here.

I see that you're using gcc 8.4.0, and I recommend trying with gcc 11 or 12, which in theory should fix this issue correctly.

terefang commented 1 year ago

linux mint 19.3 does not have gcc 11 or 12

i also checked LFS ... they also dont use isl

maybe i need to write my own build script

firasuke commented 1 year ago

I'm not saying you can't use ISL, but if you don't you'll miss on loop optimizations.

Quoting from the GCC install prerequisites page:

Necessary to build GCC with the Graphite loop optimizations. It can be downloaded from https://gcc.gnu.org/pub/gcc/infrastructure/. If an isl source distribution is found in a subdirectory of your GCC sources named isl, it will be built together with GCC. Alternatively, the --with-isl configure option should be used if isl is not installed in your default library search path.

Hope that clears up the confusion.

maybe i need to write my own build script

Well that's up to you, it's easier to fork this script and disable ISL only to enable it later on because eventually your distribution's GCC will be updated, than write your own script from scratch. Either ways good luck!

terefang commented 1 year ago

i would like to continue using your script.

would you mind adding an option like --without-isl to your script ?

the impact of not having isl in gcc is not that impacting in my usecase, as i use it to build only intermediate (stage 2) compilers.

as i final step, i would like to compile different sets (profiles ie. versions) of (stage 3) compilers with matching libraries like those given in the LFS documents or various distributions, maybe as far back as gcc3.

minnyres commented 1 year ago

would you mind adding an option like --without-isl to your script ?

perhaps it is better to manually change the version of isl


diff --git a/mussel.sh b/mussel.sh
index 7962eb5..28110bd 100755
--- a/mussel.sh
+++ b/mussel.sh
@@ -32,7 +32,7 @@ NORMALC='\033[0m'
 binutils_ver=2.39
 gcc_ver=12.2.0
 gmp_ver=6.2.1
-isl_ver=0.25
+isl_ver=0.24
 linux_ver=5.19.4
 mpc_ver=1.2.1
 mpfr_ver=4.1.1
@@ -54,7 +54,7 @@ pkgconf_url=https://distfiles.dereferenced.org/pkgconf/pkgconf-$pkgconf_ver.tar.
 binutils_sum=ec4206ca366796d012cabba0f1b0851fd3e1afd428346751f8bbe1da5e79ece6006a2e692be7324f902e0a18c1fb10ac067220076300a85f79e25a146dde17a2
 gcc_sum=e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173
 gmp_sum=1dfd3a5cd9afa2db2f2e491b0df045e3c15863e61f4efc7b93c5b32bdfefe572b25bb7621df4075bf8427274d438df194629f5169250a058dadaeaaec599291b
-isl_sum=81ac6b404a71e146bb705efe647ecf3bee19c3254f534cb44228cec13ffc7a33d7d58b980106dbb120ffdc557403d966619e219328edd0a4b3cbc4ac66acb255
+isl_sum=ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
 linux_sum=1d03f5b1ecb61adb52fcb2222b4d21548ca65e9fc0dc768d7b63c984644c9998bebab78cff4ec37af0fa15e4add84bb3fbd6c1e69d4aeac39dd0c59afa9f5e62
 mpc_sum=3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee
 mpfr_sum=be468749bd88870dec37be35e544983a8fb7bda638eb9414c37334b9d553099ea2aa067045f51ae2c8ab86d852ef833e18161d173e414af0928e9a438c9b91f1
firasuke commented 1 year ago

would you mind adding an option like --without-isl to your script ?

perhaps it is better to manually change the version of isl

diff --git a/mussel.sh b/mussel.sh
index 7962eb5..28110bd 100755
--- a/mussel.sh
+++ b/mussel.sh
@@ -32,7 +32,7 @@ NORMALC='\033[0m'
 binutils_ver=2.39
 gcc_ver=12.2.0
 gmp_ver=6.2.1
-isl_ver=0.25
+isl_ver=0.24
 linux_ver=5.19.4
 mpc_ver=1.2.1
 mpfr_ver=4.1.1
@@ -54,7 +54,7 @@ pkgconf_url=https://distfiles.dereferenced.org/pkgconf/pkgconf-$pkgconf_ver.tar.
 binutils_sum=ec4206ca366796d012cabba0f1b0851fd3e1afd428346751f8bbe1da5e79ece6006a2e692be7324f902e0a18c1fb10ac067220076300a85f79e25a146dde17a2
 gcc_sum=e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173
 gmp_sum=1dfd3a5cd9afa2db2f2e491b0df045e3c15863e61f4efc7b93c5b32bdfefe572b25bb7621df4075bf8427274d438df194629f5169250a058dadaeaaec599291b
-isl_sum=81ac6b404a71e146bb705efe647ecf3bee19c3254f534cb44228cec13ffc7a33d7d58b980106dbb120ffdc557403d966619e219328edd0a4b3cbc4ac66acb255
+isl_sum=ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
 linux_sum=1d03f5b1ecb61adb52fcb2222b4d21548ca65e9fc0dc768d7b63c984644c9998bebab78cff4ec37af0fa15e4add84bb3fbd6c1e69d4aeac39dd0c59afa9f5e62
 mpc_sum=3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee
 mpfr_sum=be468749bd88870dec37be35e544983a8fb7bda638eb9414c37334b9d553099ea2aa067045f51ae2c8ab86d852ef833e18161d173e414af0928e9a438c9b91f1

That would also work, since isl version 0.24 doesn't require C++17.

But it's a temporary downgrade until gcc on Debian is updated to support C++17.

firasuke commented 1 year ago

@minnyres is this still an issue?

minnyres commented 1 year ago

Debian stable is still using GCC 10.2.1. The problem may be solved when GCC 11 or higher is available on Debian stable.

minnyres commented 1 year ago

It works in Debian 12 with GCC 12.2 so this issue can be closed.

firasuke commented 1 year ago

Glad that it is working again!