Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
18 Views

How to tell icpc to use a different GCC toolchain?

Hello,

as a follow-up to my issues with using ICC with GCC 4.9, I now compiled GCC 4.8. How do I now tell ICC to use that? I've tried the -cxxlib=/path/to/gcc-48 switch. But what does it really expect the path to contain? Apparently a bin/g++, OK. But now I get this:

icpc: error #10001: could not find directory in which the set of libstdc++ include files resides

What does this mean? The last lines of output from a strace -f run is pasted below. Note how it finds e.g. /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include but then tries to access /usr/include/g++ - why?

[pid 31370] lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
[pid 31370] lstat("/home/milian/intel", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48/bin", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48/bin/g++", {st_mode=S_IFLNK|0777, st_size=16, ...}) = 0
[pid 31370] readlink("/home/milian/intel/gcc48/bin/g++", "/usr/bin/g++-4.8", 4095) = 16
[pid 31370] lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31370] lstat("/usr/bin", {st_mode=S_IFDIR|0755, st_size=126976, ...}) = 0
[pid 31370] lstat("/usr/bin/g++-4.8", {st_mode=S_IFLNK|0777, st_size=9, ...}) = 0
[pid 31370] readlink("/usr/bin/g++-4.8", "g++-4.8.2", 4095) = 9
[pid 31370] lstat("/usr/bin/g++-4.8.2", {st_mode=S_IFREG|0755, st_size=764552, ...}) = 0
[pid 31370] lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
[pid 31370] lstat("/home/milian/intel", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48/bin", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
[pid 31370] lstat("/home/milian/intel/gcc48/bin/g++", {st_mode=S_IFLNK|0777, st_size=16, ...}) = 0
[pid 31370] readlink("/home/milian/intel/gcc48/bin/g++", "/usr/bin/g++-4.8", 4095) = 16
[pid 31370] lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31370] lstat("/usr/bin", {st_mode=S_IFDIR|0755, st_size=126976, ...}) = 0
[pid 31370] lstat("/usr/bin/g++-4.8", {st_mode=S_IFLNK|0777, st_size=9, ...}) = 0
[pid 31370] readlink("/usr/bin/g++-4.8", "g++-4.8.2", 4095) = 9
[pid 31370] lstat("/usr/bin/g++-4.8.2", {st_mode=S_IFREG|0755, st_size=764552, ...}) = 0
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/", X_OK) = 0
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/", X_OK) = 0
[pid 31370] access("/ssd/milian/projects/compiled/kde4/lib/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/kde4/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/qt4/lib/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/qt4/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/kde4/lib/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/kde4/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/qt4/lib/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/ssd/milian/projects/compiled/qt4/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../x86_64-unknown-linux-gnu/lib/x86_64-unknown-linux-gnu/4.8.2/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../x86_64-unknown-linux-gnu/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/specs", R_OK) = -1 ENOENT (No such file or directory)
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/", X_OK) = 0
[pid 31370] stat("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper", {st_mode=S_IFREG|0755, st_size=558768, ...}) = 0
[pid 31370] access("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper", X_OK) = 0
[pid 31370] fstat(1, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
[pid 31370] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4469593000
[pid 31370] write(1, "install: /usr/lib/gcc/x86_64-unk"..., 1784) = 1784
[pid 31370] exit_group(0)               = ?
[pid 31370] +++ exited with 0 +++
[pid 31364] <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 31370
[pid 31364] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=31370, si_status=0, si_utime=0, si_stime=0} ---
[pid 31364] open("/tmp/icpcgnudirsvPO0ue", O_RDONLY) = 4
[pid 31364] fstat(4, {st_mode=S_IFREG|0600, st_size=1784, ...}) = 0
[pid 31364] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9513ca000
[pid 31364] read(4, "install: /usr/lib/gcc/x86_64-unk"..., 4096) = 1784
[pid 31364] read(4, "", 4096)           = 0
[pid 31364] close(4)                    = 0
[pid 31364] munmap(0x7fa9513ca000, 4096) = 0
[pid 31364] stat("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] stat("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] fstat(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 6), ...}) = 0
[pid 31364] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9513ca000
[pid 31364] write(2, "icpc: remark #10346: optimizatio"..., 119icpc: remark #10346: optimization reporting will be enabled at link time when performing interprocedural optimizations
) = 119
[pid 31364] open("/home/milian/intel/gcc48/bin/g++", O_RDONLY) = 4
[pid 31364] close(4)                    = 0
[pid 31364] readlink("/home/milian/intel/gcc48/bin/g++", "/usr/bin/g++-4.8", 4095) = 16
[pid 31364] readlink("/usr/bin/g++-4.8", "g++-4.8.2", 4095) = 9
[pid 31364] readlink("/g++-4.8.2", 0x7fff3da6b3e0, 4095) = -1 ENOENT (No such file or directory)
[pid 31364] open("/tmp/icpcdashvZB1Ynz", O_RDONLY) = 4
[pid 31364] fstat(4, {st_mode=S_IFREG|0600, st_size=2423, ...}) = 0
[pid 31364] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9513c9000
[pid 31364] read(4, "Using built-in specs.\nCOLLECT_GC"..., 4096) = 2423
[pid 31364] read(4, "", 4096)           = 0
[pid 31364] close(4)                    = 0
[pid 31364] munmap(0x7fa9513c9000, 4096) = 0
[pid 31364] stat("=/usr/local/include", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] stat("/usr/local/include", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] stat("=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] stat("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] stat("=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include-fixed", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] stat("/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include-fixed", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] stat("=/usr/include", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
[pid 31364] stat("/usr/include/c++/4.8.2", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] stat("/usr/x86_64-unknown-linux-gnu/include/c++/4.8.2", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] open("/home/milian/intel/gcc48/bin/g++", O_RDONLY) = 4
[pid 31364] close(4)                    = 0
[pid 31364] open("/tmp/icpcdashvZB1Ynz", O_RDONLY) = 4
[pid 31364] fstat(4, {st_mode=S_IFREG|0600, st_size=2423, ...}) = 0
[pid 31364] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9513c9000
[pid 31364] read(4, "Using built-in specs.\nCOLLECT_GC"..., 4096) = 2423
[pid 31364] read(4, "", 4096)           = 0
[pid 31364] close(4)                    = 0
[pid 31364] munmap(0x7fa9513c9000, 4096) = 0
[pid 31364] stat("/usr/include/g++", 0x7fff3da6c330) = -1 ENOENT (No such file or directory)
[pid 31364] write(2, "icpc: error #10001: could not fi"..., 97icpc: error #10001: could not find directory in which the set of libstdc++ include files resides
) = 97
[pid 31364] geteuid()                   = 1000
[pid 31364] stat("/home/milian/intel/ism/rm", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] stat("/home/milian/intel/ism/rm", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid 31364] semget(0x11613bf, 2, 0)     = 720896
[pid 31364] semctl(720896, 0, IPC_STAT, 0x7fff3da6c110) = 0
[pid 31364] semget(0x11613bf, 5, IPC_CREAT|IPC_EXCL|0600) = -1 EEXIST (File exists)
[pid 31364] semget(0x11613bf, 5, 0)     = 720896
[pid 31364] semop(720896, {{3, -1, SEM_UNDO|IPC_NOWAIT}}, 1) = -1 EAGAIN (Resource temporarily unavailable)
[pid 31364] geteuid()                   = 1000
[pid 31364] lstat("/tmp/data.VKSjGT", 0x7fff3da6c070) = -1 ENOENT (No such file or directory)
[pid 31364] open("/tmp/data.VKSjGT", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
[pid 31364] fstat(4, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
[pid 31364] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa9513c9000
[pid 31364] write(4, "\0\0\0\0\3\0\0\0\26\0\0\0ccompxe-15.0.0-intel"..., 79) = 79
[pid 31364] close(4)                    = 0
[pid 31364] munmap(0x7fa9513c9000, 4096) = 0
[pid 31364] mknod("/tmp/intelremotemonfifo.1000", S_IFIFO|0600) = -1 EEXIST (File exists)
[pid 31364] open("/tmp/intelremotemonfifo.1000", O_WRONLY|O_NONBLOCK) = 4
[pid 31364] write(4, "/tmp/data.VKSjGT\0", 17) = 17
[pid 31364] unlink("/tmp/icpcdummyiKTfZe.c") = 0
[pid 31364] unlink("/tmp/icpcdashvZB1Ynz") = 0
[pid 31364] unlink("/tmp/icpclibgccqRTyVT") = 0
[pid 31364] unlink("/tmp/icpcgnudirsvPO0ue") = 0
[pid 31364] exit_group(1)               = ?
[pid 31365] +++ exited with 1 +++
[pid 31364] +++ exited with 1 +++
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 31364
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=31364, si_status=1, si_utime=0, si_stime=0} ---
exit_group(1)                           = ?
+++ exited with 1 +++

 

0 Kudos
4 Replies
Highlighted
18 Views

There are lots of options for special toolchain usage, for example: -gcc-name, -gnu-prefix, -gxx-name, -cxx-lib.

-cxx-lib will just ask ICC to the gcc library you specified in the directory, it will not invoke the "gcc"/"g++" there, it will just invoke the command "gcc"/"g++" which is in PATH currently.

To fully switch to a version of GCC, you can easily do as below:

1. assume you have installed gcc in "/opt/gcc/gcc-4.9.0" when you build it from source.

2. create a file 'gccvar.sh' in 'bin' (or anywhere else) with below contents:

export NGCCDIR=/opt/gcc/gcc-4.9.0
export PATH=$NGCCDIR/bin:$PATH
export LD_LIBRARY_PATH=$NGCCDIR/lib:$NGCCDIR/lib64:$LD_LIBRARY_PATH
export MANPATH=$NGCCDIR/share/man:$MANPATH

3. run "source gccvar.sh" -> now, new gcc is applied (setup) in your environment, you can use it to build your code like "gcc xx.c..."

4. If you want to use ICC, just use as before (source /opt/intel/... ia32/intel64 and then run "icc xx.c..."). New version of GCC and its library will be picked up by ICC.

 

This is how I enable a specific version of ICC in my environment, you may take it as a reference and let me know whether it works for you.

Thanks,

Shenghong

 

Below is how I use gcc4.9.0 with ICC sp1 update 2:

$ source /opt/gcc/gcc-4.9.0/bin/gccvars.sh
$ source /opt/intel/composer_xe_2013_sp1.2.144/bin/compilervars.sh intel64
$ icc foo.c
$

 

0 Kudos
Highlighted
Beginner
18 Views

If I do as you describe, I get the same error output as before. I've created a folder where I put a symlink to my <code>g++-4.8</code> in and added it to my <code>PATH</code>. So that doesn't seem to be enough - where does ICPC expect the include path to be?

Also note this:

icpc -cxxlib=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2 -std=c++11 test.cpp
icpc: error #10282: file '/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/bin/g++' not found, generated based on '-cxxlib=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2'

So cxxlib alone does seem to have an affect on where icpc looks for g++.

$ ls /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2
cc1            include             libgcc_eh.a           libitm.so               libmudflapth.so.0.0.0  libstdc++.so.6.0.18-gdb.py
cc1plus        include-fixed       libgcov.a             libitm.so.1             libquadmath.a          libsupc++.a
collect2       install-tools       libgfortran.a         libitm.so.1.0.0         libquadmath.so         libtsan.a
crtbegin.o     libasan.a           libgfortranbegin.a    libitm.spec             libquadmath.so.0       libtsan.so
crtbeginS.o    libasan_preinit.o   libgfortran.so        liblto_plugin.so        libquadmath.so.0.0.0   libtsan.so.0
crtbeginT.o    libasan.so          libgfortran.so.3      liblto_plugin.so.0      libssp.a               libtsan.so.0.0.0
crtend.o       libasan.so.0        libgfortran.so.3.0.0  liblto_plugin.so.0.0.0  libssp_nonshared.a     lto1
crtendS.o      libasan.so.0.0.0    libgfortran.spec      libmudflap.a            libssp.so              lto-wrapper
crtfastmath.o  libatomic.a         libgomp.a             libmudflap.so           libssp.so.0            plugin
crtprec32.o    libatomic.so        libgomp.so            libmudflap.so.0         libssp.so.0.0.0
crtprec64.o    libatomic.so.1      libgomp.so.1          libmudflap.so.0.0.0     libstdc++.a
crtprec80.o    libatomic.so.1.0.0  libgomp.so.1.0.0      libmudflapth.a          libstdc++.so
f951           libcaf_single.a     libgomp.spec          libmudflapth.so         libstdc++.so.6
finclude       libgcc.a            libitm.a              libmudflapth.so.0       libstdc++.so.6.0.18

This is the folder where my system installed the older 4.8.2 GCC to. I have a similar folder for 4.9.0. The binaries are in /usr/bin/gcc-4.8 etc. Is icpc not interpreting the output of GCC's -E -v to find include paths? See e.g.:

$ /usr/bin/g++-4.8 -x c++ -fsyntax-only -E -v /dev/null
Using built-in specs.
COLLECT_GCC=/usr/bin/g++-4.8
Target: x86_64-unknown-linux-gnu
Configured with: /tmp/yaourt-tmp-milian/aur-gcc48/src/gcc-4.8.2/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --enable-gnu-unique-object --with-ppl --disable-multilib --disable-werror --enable-linker-build-id --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --program-suffix=-4.8.2 --enable-version-specific-runtime-libs --enable-checking=release
Thread model: posix
gcc version 4.8.2 (GCC) 
COLLECT_GCC_OPTIONS='-fsyntax-only' '-E' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/cc1plus -E -quiet -v -D_GNU_SOURCE /dev/null -mtune=generic -march=x86-64 -fsyntax-only
ignoring nonexistent directory "/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../x86_64-unknown-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include/c++
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include/c++/x86_64-unknown-linux-gnu
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include/c++/backward
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include
 /usr/local/include
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include-fixed
 /usr/include
End of search list.
# 1 "/dev/null"
# 1 ""
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "" 2
# 1 "/dev/null"
COMPILER_PATH=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/ssd/milian/projects/compiled/kde4/lib/../lib/:/ssd/milian/projects/compiled/qt4/lib/../lib/:/ssd/milian/projects/compiled/kde4/lib/../lib/:/ssd/milian/projects/compiled/qt4/lib/../lib/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/ssd/milian/projects/compiled/kde4/lib/:/ssd/milian/projects/compiled/qt4/lib/:/ssd/milian/projects/compiled/kde4/lib/:/ssd/milian/projects/compiled/qt4/lib/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-fsyntax-only' '-E' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64'

I'll now try the other command line switches you mentioned and see whether I have more luck there...

Thanks!

0 Kudos
Highlighted
Beginner
18 Views

OK, I finally figured it out. Apparently, ICPC expects the include files to reside in /usr/include/c++/4.8.2 for me. I found that via strace. Symlinking my /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include/c++ to that position makes it work for me. Thanks!
0 Kudos
Highlighted
18 Views

Hi Milian,

Thank you for the update. It looks like you build GCC and use default installation (install to system directories), and maybe gcc install some libs to that folder...The "/usr/lib/x86_64..." folder is kind of 'Ubuntu/Debian-specific' standard (as I known) to store some libraries.

 

Whatever, if you build GCC in future, I'd suggest you to install to a directory defined by yourself, something like "/opt/gcc4.9" (when you run 'configure' for GCC, add --prefix=/opt/gcc4.9"), in this case, you can be more easily to figure out where these libraries are stored, and my above scripts will works easily (when you use default installation options, GCC MAY install to multiple folders, such as /usr/lib, /usr/lib/x86_64...).

Thanks,

Shenghong

0 Kudos