现象:
GCC编译器升级时,./configure报错“configure: error: Unable to find a usable ISL. See config.log for details.”
配置好isl后,再报错“configure: error: Unable to find a usable CLooG. See config.log for details.”
linux:/home/gcc-4.9.3 # ./configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-bugurl=http://bugzilla.redhat.com/bugzilla –enable-bootstrap –enable-shared –enable-threads=posix –enable-checking=release –enable-multilib –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-gnu-unique-object –enable-linker-build-id –with-linker-hash-style=gnu –enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto –enable-plugin –enable-initfini-array –disable-libgcj –with-isl=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/isl-install –with-cloog=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/cloog-install –enable-gnu-indirect-function –build=aarch64-redhat-linux –with-isl=/home/Packages/isl-0.14/
configure: loading site script /usr/share/site/aarch64-unknown-linux-gnu
checking build system type… aarch64-redhat-linux-gnu
checking host system type… aarch64-redhat-linux-gnu
checking target system type… aarch64-redhat-linux-gnu
checking for a BSD-compatible install… /usr/bin/install -c
checking whether ln works… yes
checking whether ln -s works… yes
checking for a sed that does not truncate output… /usr/bin/sed
checking for gawk… gawk
checking for libatomic support… yes
checking for libcilkrts support… no
checking for libitm support… yes
checking for libsanitizer support… no
checking for libvtv support… no
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking for g++… g++
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
checking whether g++ accepts -static-libstdc++ -static-libgcc… no
checking for gnatbind… no
checking for gnatmake… no
checking whether compiler driver understands Ada… no
checking how to compare bootstrapped objects… cmp –ignore-initial=16 $$f1 $$f2
checking for objdir… .libs
checking for the correct version of gmp.h… yes
checking for the correct version of mpfr.h… yes
checking for the correct version of mpc.h… yes
checking for the correct version of the gmp/mpfr/mpc libraries… yes
checking for version 0.10 of ISL… no
checking for version 0.11 of ISL… no
checking for version 0.12 of ISL… no
checking for version 0.14 of ISL… no
configure: error: Unable to find a usable ISL. See config.log for details.
linux:/home/gcc-4.8.5 # ./configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-bugurl=http://bugzilla.redhat.com/bugzilla –enable-bootstrap –enable-shared –enable-threads=posix –enable-checking=release –enable-multilib –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-gnu-unique-object –enable-linker-build-id –with-linker-hash-style=gnu –enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto –enable-plugin –enable-initfini-array –disable-libgcj –with-isl=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/isl-install –with-cloog=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/cloog-install –enable-gnu-indirect-function –build=aarch64-redhat-linux –with-isl-include=/usr/local/include/isl/ –with-isl-lib=/usr/local/lib/
configure: loading site script /usr/share/site/aarch64-unknown-linux-gnu
checking build system type… aarch64-redhat-linux-gnu
checking host system type… aarch64-redhat-linux-gnu
checking target system type… aarch64-redhat-linux-gnu
checking for a BSD-compatible install… /usr/bin/install -c
checking whether ln works… yes
checking whether ln -s works… yes
checking for a sed that does not truncate output… /usr/bin/sed
checking for gawk… gawk
checking for libatomic support… no
checking for libitm support… no
checking for libsanitizer support… no
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking for g++… g++
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
checking whether g++ accepts -static-libstdc++ -static-libgcc… no
checking for gnatbind… no
checking for gnatmake… no
checking whether compiler driver understands Ada… no
checking how to compare bootstrapped objects… cmp –ignore-initial=16 $$f1 $$f2
checking for objdir… .libs
checking for the correct version of gmp.h… yes
checking for the correct version of mpfr.h… yes
checking for the correct version of mpc.h… yes
checking for the correct version of the gmp/mpfr/mpc libraries… yes
checking for version 0.10 of ISL… no
checking for version 0.11 of ISL… no
checking for version 0.12 of ISL… no
checking for version 0.14 of ISL… yes
checking for version 0.17.0 of CLooG… no
checking for version 0.18.0 of CLooG… no
configure: error: Unable to find a usable CLooG. See config.log for details.
解决办法:
(1)下载isl和cloog,编译安装。
下载链接:ftp://gcc.gnu.org/pub/gcc/infrastructure/
(2)GCC ./configure配置时,加上–with-isl-include=/usr/local/include/isl/ –with-isl-lib=/usr/local/lib/ –with-cloog-include=/usr/local/include/cloog/ –with-cloog-lib=/usr/local/lib/
再添加–with-cloog-include=/usr/local/include/cloog/ –with-cloog-lib=/usr/local/lib/后再报错找不到isl,可再重新安装isl和再执行gcc 配置。
./configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-bugurl=http://bugzilla.redhat.com/bugzilla –enable-bootstrap –enable-shared –enable-threads=posix –enable-checking=release –enable-multilib –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-gnu-unique-object –enable-linker-build-id –with-linker-hash-style=gnu –enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto –enable-plugin –enable-initfini-array –disable-libgcj –with-isl=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/isl-install –with-cloog=/builddir/build/BUILD/gcc-4.9.2-20141101/obj-aarch64-redhat-linux/cloog-install –enable-gnu-indirect-function –build=aarch64-redhat-linux –with-isl-include=/usr/local/include/isl/ –with-isl-lib=/usr/local/lib/ -with-cloog-include=/usr/local/include/cloog/ –with-cloog-lib=/usr/local/lib/
Have you tried run “./contrib/download_prerequisites”? It fetches all those libs in tree and saves tons of time than installing them manually.
Thank you very much. I will try this method.