Clang and LLVM 6.0

  1. https://community.amd.com/thread/226793

Forgive me for posting a similar thread, but I wanted to ask this community a different question. According to the above article, I need Clang and LLVM 6.0 in order to turn on true 3D graphics hardware acceleration for my ASUS ROG STRIX AMD Radeon RX Vega 64-O8G 8GB HBM2 GPU for OpenSuSE Tumbleweed 64 bit. I checked the OpenSuSE website and I see LLVM 6.0 available as a 1-Click Install via YAST2 and I did install it, but it still shows LLVM 5.0 (128 bits) and VMWare on my mid-2017 AVA Direct gaming desktop PC is installed. I am wondering when the OpenSuSE Tumbleweed team is going to add Clang and LLVM 6.0 to it and which specific software packages do I need to look out for in order to be sure that it is going to download and install on my gaming desktop PC in the near future. Do I need to add my wellywu account to the video group as well? Do I need to modify my X.Org configuration file? What do I need to know to make this work? Thank you.

llvm6 and clang6 is in the Repo:

zypper se -s llvm6 clang6

You have execute update-alternatives

I’m new to OpenSuSE Tumbleweed; how do I execute update alternatives?

can someone please help me to install libclc, clang6, and llvm6 on my desktop PC? I did a sudo zypper in libclc clang6 and llvm6 and restarted, but I am still using llvm 5.0 and VMWare.

Look people, if you want more users, then you have to be of useful help to others instead of ignoring new users that ask for help. This is why Linux isn’t growing. I am about to switch back to windows 10 pro if this keeps up.

wellywu@linux-vfxd:/usr/bin> sudo in mlocate
[sudo] password for root: 
Sorry, try again.
[sudo] password for root: 
sudo: in: command not found
wellywu@linux-vfxd:/usr/bin> sudo zypper in mlocate
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 2 NEW packages are going to be installed:
  mlocate mlocate-lang

The following recommended package was automatically selected:
  mlocate-lang

2 new packages to install.
Overall download size: 123.6 KiB. Already cached: 0 B. After the operation, additional 389.3 KiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package mlocate-0.26-24.2.x86_64                                              (1/2),  68.7 KiB (143.3 KiB unpacked)
Retrieving: mlocate-0.26-24.2.x86_64.rpm ...............................................................................[done]
Retrieving package mlocate-lang-0.26-24.2.noarch                                         (2/2),  54.8 KiB (246.0 KiB unpacked)
Retrieving: mlocate-lang-0.26-24.2.noarch.rpm ..........................................................................[done]
Checking for file conflicts: ...........................................................................................[done]
(1/2) Installing: mlocate-0.26-24.2.x86_64 .............................................................................[done]
Additional rpm output:
Updating /etc/sysconfig/locate ...                                                                                            


(2/2) Installing: mlocate-lang-0.26-24.2.noarch ........................................................................[done]
wellywu@linux-vfxd:/usr/bin> sudo updatedb
wellywu@linux-vfxd:/usr/bin> locate llvm
/etc/alternatives/llvm-ar
/etc/alternatives/llvm-ar.1.gz
/etc/alternatives/llvm-as
/etc/alternatives/llvm-as.1.gz
/etc/alternatives/llvm-bcanalyzer
/etc/alternatives/llvm-bcanalyzer.1.gz
/etc/alternatives/llvm-build.1.gz
/etc/alternatives/llvm-c-test
/etc/alternatives/llvm-cat
/etc/alternatives/llvm-cfi-verify
/etc/alternatives/llvm-cov
/etc/alternatives/llvm-cov.1.gz
/etc/alternatives/llvm-cvtres
/etc/alternatives/llvm-cxxdump
/etc/alternatives/llvm-cxxfilt
/etc/alternatives/llvm-diff
/etc/alternatives/llvm-diff.1.gz
/etc/alternatives/llvm-dis
/etc/alternatives/llvm-dis.1.gz
/etc/alternatives/llvm-dlltool
/etc/alternatives/llvm-dsymutil
/etc/alternatives/llvm-dwarfdump
/etc/alternatives/llvm-dwarfdump.1.gz
/etc/alternatives/llvm-dwp
/etc/alternatives/llvm-extract
/etc/alternatives/llvm-extract.1.gz
/etc/alternatives/llvm-lib
/etc/alternatives/llvm-lib.1.gz
/etc/alternatives/llvm-link
/etc/alternatives/llvm-link.1.gz
/etc/alternatives/llvm-lto
/etc/alternatives/llvm-lto2
/etc/alternatives/llvm-mc
/etc/alternatives/llvm-mcmarkup
/etc/alternatives/llvm-modextract
/etc/alternatives/llvm-mt
/etc/alternatives/llvm-nm
/etc/alternatives/llvm-nm.1.gz
/etc/alternatives/llvm-objcopy
/etc/alternatives/llvm-objdump
/etc/alternatives/llvm-opt-report
/etc/alternatives/llvm-pdbutil
/etc/alternatives/llvm-pdbutil.1.gz
/etc/alternatives/llvm-profdata
/etc/alternatives/llvm-profdata.1.gz
/etc/alternatives/llvm-ranlib
/etc/alternatives/llvm-rc
/etc/alternatives/llvm-readelf
/etc/alternatives/llvm-readobj
/etc/alternatives/llvm-readobj.1.gz
/etc/alternatives/llvm-rtdyld
/etc/alternatives/llvm-size
/etc/alternatives/llvm-split
/etc/alternatives/llvm-stress
/etc/alternatives/llvm-stress.1.gz
/etc/alternatives/llvm-strings
/etc/alternatives/llvm-symbolizer
/etc/alternatives/llvm-symbolizer.1.gz
/etc/alternatives/llvm-tblgen
/etc/alternatives/llvm-xray
/usr/bin/llvm-ar
/usr/bin/llvm-ar-5.0.1
/usr/bin/llvm-ar-6.0.0
/usr/bin/llvm-as
/usr/bin/llvm-as-5.0.1
/usr/bin/llvm-as-6.0.0
/usr/bin/llvm-bcanalyzer
/usr/bin/llvm-bcanalyzer-5.0.1
/usr/bin/llvm-bcanalyzer-6.0.0
/usr/bin/llvm-c-test
/usr/bin/llvm-c-test-5.0.1
/usr/bin/llvm-c-test-6.0.0
/usr/bin/llvm-cat
/usr/bin/llvm-cat-5.0.1
/usr/bin/llvm-cat-6.0.0
/usr/bin/llvm-cfi-verify
/usr/bin/llvm-cfi-verify-6.0.0
/usr/bin/llvm-cov
/usr/bin/llvm-cov-5.0.1
/usr/bin/llvm-cov-6.0.0
/usr/bin/llvm-cvtres
/usr/bin/llvm-cvtres-5.0.1
/usr/bin/llvm-cvtres-6.0.0
/usr/bin/llvm-cxxdump
/usr/bin/llvm-cxxdump-5.0.1
/usr/bin/llvm-cxxdump-6.0.0
/usr/bin/llvm-cxxfilt
/usr/bin/llvm-cxxfilt-5.0.1
/usr/bin/llvm-cxxfilt-6.0.0
/usr/bin/llvm-diff
/usr/bin/llvm-diff-5.0.1
/usr/bin/llvm-diff-6.0.0
/usr/bin/llvm-dis
/usr/bin/llvm-dis-5.0.1
/usr/bin/llvm-dis-6.0.0
/usr/bin/llvm-dlltool
/usr/bin/llvm-dlltool-5.0.1
/usr/bin/llvm-dlltool-6.0.0
/usr/bin/llvm-dsymutil
/usr/bin/llvm-dsymutil-5.0.1
/usr/bin/llvm-dsymutil-6.0.0
/usr/bin/llvm-dwarfdump
/usr/bin/llvm-dwarfdump-5.0.1
/usr/bin/llvm-dwarfdump-6.0.0
/usr/bin/llvm-dwp
/usr/bin/llvm-dwp-5.0.1
/usr/bin/llvm-dwp-6.0.0
/usr/bin/llvm-extract
/usr/bin/llvm-extract-5.0.1
/usr/bin/llvm-extract-6.0.0
/usr/bin/llvm-lib
/usr/bin/llvm-lib-5.0.1
/usr/bin/llvm-lib-6.0.0
/usr/bin/llvm-link
/usr/bin/llvm-link-5.0.1
/usr/bin/llvm-link-6.0.0
/usr/bin/llvm-lto
/usr/bin/llvm-lto-5.0.1
/usr/bin/llvm-lto-6.0.0
/usr/bin/llvm-lto2
/usr/bin/llvm-lto2-5.0.1
/usr/bin/llvm-lto2-6.0.0
/usr/bin/llvm-mc
/usr/bin/llvm-mc-5.0.1
/usr/bin/llvm-mc-6.0.0
/usr/bin/llvm-mcmarkup
/usr/bin/llvm-mcmarkup-5.0.1
/usr/bin/llvm-mcmarkup-6.0.0
/usr/bin/llvm-modextract
/usr/bin/llvm-modextract-5.0.1
/usr/bin/llvm-modextract-6.0.0
/usr/bin/llvm-mt
/usr/bin/llvm-mt-5.0.1
/usr/bin/llvm-mt-6.0.0
/usr/bin/llvm-nm
/usr/bin/llvm-nm-5.0.1
/usr/bin/llvm-nm-6.0.0
/usr/bin/llvm-objcopy
/usr/bin/llvm-objcopy-6.0.0
/usr/bin/llvm-objdump
/usr/bin/llvm-objdump-5.0.1
/usr/bin/llvm-objdump-6.0.0
/usr/bin/llvm-opt-report
/usr/bin/llvm-opt-report-5.0.1
/usr/bin/llvm-opt-report-6.0.0
/usr/bin/llvm-pdbutil
/usr/bin/llvm-pdbutil-5.0.1
/usr/bin/llvm-pdbutil-6.0.0
/usr/bin/llvm-profdata
/usr/bin/llvm-profdata-5.0.1
/usr/bin/llvm-profdata-6.0.0
/usr/bin/llvm-ranlib
/usr/bin/llvm-ranlib-5.0.1
/usr/bin/llvm-ranlib-6.0.0
/usr/bin/llvm-rc
/usr/bin/llvm-rc-6.0.0
/usr/bin/llvm-readelf
/usr/bin/llvm-readelf-5.0.1
/usr/bin/llvm-readelf-6.0.0
/usr/bin/llvm-readobj
/usr/bin/llvm-readobj-5.0.1
/usr/bin/llvm-readobj-6.0.0
/usr/bin/llvm-rtdyld
/usr/bin/llvm-rtdyld-5.0.1
/usr/bin/llvm-rtdyld-6.0.0
/usr/bin/llvm-size
/usr/bin/llvm-size-5.0.1
/usr/bin/llvm-size-6.0.0
/usr/bin/llvm-split
/usr/bin/llvm-split-5.0.1
/usr/bin/llvm-split-6.0.0
/usr/bin/llvm-stress
/usr/bin/llvm-stress-5.0.1
/usr/bin/llvm-stress-6.0.0
/usr/bin/llvm-strings
/usr/bin/llvm-strings-5.0.1
/usr/bin/llvm-strings-6.0.0
/usr/bin/llvm-symbolizer
/usr/bin/llvm-symbolizer-5.0.1
/usr/bin/llvm-symbolizer-6.0.0
/usr/bin/llvm-tblgen
/usr/bin/llvm-tblgen-5.0.1
/usr/bin/llvm-tblgen-6.0.0
/usr/bin/llvm-xray
/usr/bin/llvm-xray-5.0.1
/usr/bin/llvm-xray-6.0.0
/usr/share/doc/packages/llvm
/usr/share/doc/packages/llvm5
/usr/share/doc/packages/llvm6
/usr/share/doc/packages/llvm/README
/usr/share/doc/packages/llvm5/CREDITS.TXT
/usr/share/doc/packages/llvm5/LICENSE.TXT
/usr/share/doc/packages/llvm6/CREDITS.TXT
/usr/share/doc/packages/llvm6/LICENSE.TXT
/usr/share/man/man1/llvm-ar-5.0.1.1.gz
/usr/share/man/man1/llvm-ar-6.0.0.1.gz
/usr/share/man/man1/llvm-ar.1.gz
/usr/share/man/man1/llvm-as-5.0.1.1.gz
/usr/share/man/man1/llvm-as-6.0.0.1.gz
/usr/share/man/man1/llvm-as.1.gz
/usr/share/man/man1/llvm-bcanalyzer-5.0.1.1.gz
/usr/share/man/man1/llvm-bcanalyzer-6.0.0.1.gz
/usr/share/man/man1/llvm-bcanalyzer.1.gz
/usr/share/man/man1/llvm-build-5.0.1.1.gz
/usr/share/man/man1/llvm-build-6.0.0.1.gz
/usr/share/man/man1/llvm-build.1.gz
/usr/share/man/man1/llvm-cov-5.0.1.1.gz
/usr/share/man/man1/llvm-cov-6.0.0.1.gz
/usr/share/man/man1/llvm-cov.1.gz
/usr/share/man/man1/llvm-diff-5.0.1.1.gz
/usr/share/man/man1/llvm-diff-6.0.0.1.gz
/usr/share/man/man1/llvm-diff.1.gz
/usr/share/man/man1/llvm-dis-5.0.1.1.gz
/usr/share/man/man1/llvm-dis-6.0.0.1.gz
/usr/share/man/man1/llvm-dis.1.gz
/usr/share/man/man1/llvm-dwarfdump-5.0.1.1.gz
/usr/share/man/man1/llvm-dwarfdump-6.0.0.1.gz
/usr/share/man/man1/llvm-dwarfdump.1.gz
/usr/share/man/man1/llvm-extract-5.0.1.1.gz
/usr/share/man/man1/llvm-extract-6.0.0.1.gz
/usr/share/man/man1/llvm-extract.1.gz
/usr/share/man/man1/llvm-lib-5.0.1.1.gz
/usr/share/man/man1/llvm-lib-6.0.0.1.gz
/usr/share/man/man1/llvm-lib.1.gz
/usr/share/man/man1/llvm-link-5.0.1.1.gz
/usr/share/man/man1/llvm-link-6.0.0.1.gz
/usr/share/man/man1/llvm-link.1.gz
/usr/share/man/man1/llvm-nm-5.0.1.1.gz
/usr/share/man/man1/llvm-nm-6.0.0.1.gz
/usr/share/man/man1/llvm-nm.1.gz
/usr/share/man/man1/llvm-pdbutil-6.0.0.1.gz
/usr/share/man/man1/llvm-pdbutil.1.gz
/usr/share/man/man1/llvm-profdata-5.0.1.1.gz
/usr/share/man/man1/llvm-profdata-6.0.0.1.gz
/usr/share/man/man1/llvm-profdata.1.gz
/usr/share/man/man1/llvm-readobj-5.0.1.1.gz
/usr/share/man/man1/llvm-readobj-6.0.0.1.gz
/usr/share/man/man1/llvm-readobj.1.gz
/usr/share/man/man1/llvm-stress-5.0.1.1.gz
/usr/share/man/man1/llvm-stress-6.0.0.1.gz
/usr/share/man/man1/llvm-stress.1.gz
/usr/share/man/man1/llvm-symbolizer-5.0.1.1.gz
/usr/share/man/man1/llvm-symbolizer-6.0.0.1.gz
/usr/share/man/man1/llvm-symbolizer.1.gz
/var/lib/alternatives/llvm-ar
wellywu@linux-vfxd:/usr/bin> 


So, I installed mlocate and updated the database
I did a locate llvm. Which one do I pick and how do I use the update alternatives to use it?

Why is this so hard compared to windows?

Google works in Linux as well :wink:

Use this as a guide:

https://en.opensuse.org/User:Tsu2/gcc_update-alternatives

I already looked at that article. Now, I need to know which specific llvm6.0.0 file to select using update-alternatives so I don’t mess up my OpenSuSE Tumbleweed desktop operating system upon restarting my gaming desktop PC.

Please try to be more specific in helping me. I’m making progress, but I need a specific question to be answered based on the code dump that I provided earlier in this thread.

wellywu@linux-vfxd:/usr/bin> sudo /usr/sbin/update-alternatives --list clang
[sudo] password for root: 
/usr/bin/clang-6.0.0
wellywu@linux-vfxd:/usr/bin> sudo /usr/sbin/update-alternatives --list llvm
update-alternatives: error: no alternatives for llvm
wellywu@linux-vfxd:/usr/bin> 

According to this information, clang 6.0.0 is selected, but llvm is not selected. So, how do I select llvm 6.0.0?

wellywu@linux-vfxd:/usr/bin> glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: VMware, Inc. (0xffffffff)
    Device: llvmpipe (LLVM 5.0, 128 bits) (0xffffffff)
    Version: 18.0.0
    Accelerated: no
    Video memory: 32156MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 5.0, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.0
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 18.0.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

wellywu@linux-vfxd:/usr/bin> 


As you can see for yourself, LLVM 5.0 is still selected with VMWare. How do I get this to select LLVM 6.0.0?

Can someone explain this article to me in plain English: https://stackoverflow.com/questions/14962192/how-to-choose-the-llvm-version-clang-is-using?

https://kwangyulseo.com/2014/02/05/using-multiple-llvm-versions-on-ubuntu/

So, the key seems to be to use update-alternatives, but I still need help setting my prefix and selecting the right llvm 6.0.0 files. Please help soon.

wellywu@linux-vfxd:/usr/bin> clang --version
clang version 6.0.0 (tags/RELEASE_600/final 326550)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
wellywu@linux-vfxd:/usr/bin>

It seems that I have clang version 6.0.0 installed, but why is llvm 6.0.0 not selected?

If you only need to use the ‘6’ version than you can just uninstall the ‘5’ version. However, update-alternatives allows you to keep both installed and then select which one to use; but it needs to be set up.

From the link provided, you need to do:


update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20

replacing ‘gcc’ with ‘llvm’ and again with ‘clang’, plus get the version numbers correct (check the /usr/bin folder to get these right).

After that you would use


update-alternatives --config clang
update-alternatives --config llvm

I don’t use either of these packages so I’m not going to bother testing this, but it should work.

wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
[sudo] password for root: 
update-alternatives: error: alternative path /usr/bin/gcc-6 doesn't exist
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20
update-alternatives: error: alternative path /usr/bin/gcc-5 doesn't exist
wellywu@linux-vfxd:/usr/bin> 

Now what do I need to do? GCC 5 and 6 don’t exist. Do I need to install GCC 6?

wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
[sudo] password for root: 
update-alternatives: error: alternative path /usr/bin/gcc-6 doesn't exist
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20
update-alternatives: error: alternative path /usr/bin/gcc-5 doesn't exist
wellywu@linux-vfxd:/usr/bin> 

Is this the next step to install gcc 6?

wellywu@linux-vfxd:/usr/bin> locate gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_amd64
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_amd64.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libgcc1_5.4.0-7steamrt1+srt1_amd64
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libgcc1_5.4.0-7steamrt1+srt1_amd64.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/README.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/README.Debian.amd64.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/TODO.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/changelog.Debian.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/printers.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/xmethods.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/lintian/overrides/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_i386
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_i386.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libgcc1_5.4.0-7steamrt1+srt1_i386
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libgcc1_5.4.0-7steamrt1+srt1_i386.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/README.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/README.Debian.i386.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/TODO.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/changelog.Debian.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/printers.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/xmethods.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/lintian/overrides/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/lib/i386-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc/i686-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc/i686-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.mozilla/firefox/nbgbtk0b.default/gmp/Linux_x86_64-gcc3
/home/wellywu/.thunderbird/kpbmzets.default/gmp/Linux_x86_64-gcc3
/home/wellywu/.thunderbird/kpbmzets.default/pepmda/lib/libgcc_s.so.1
/lib/libgcc_s.so.1
/lib64/libgcc_s.so.1
/opt/SpiderOakONE/lib/libgcc_s.so.1
/usr/include/arch-ia64/asm/gcc_intrin.h
/usr/lib64/gcc
/usr/lib64/gcc/x86_64-suse-linux
/usr/lib64/gcc/x86_64-suse-linux/7
/usr/lib64/gcc/x86_64-suse-linux/7/cc1
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.a
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.so
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++fs.a
/usr/lib64/gcc/x86_64-suse-linux/7/libsupc++.a
/usr/lib64/libreoffice/program/libgcc3_uno.so
/usr/lib64/libreoffice/program/libuno_cppuhelpergcc3.so.3
/usr/lib64/libreoffice/program/libuno_purpenvhelpergcc3.so.3
/usr/lib64/libreoffice/program/libuno_salhelpergcc3.so.3
/usr/share/gcc-7
/usr/share/bash-completion/completions/gcc
/usr/share/doc/packages/python2-pycparser/examples/using_gcc_E_libc.py
/usr/share/gcc-7/python
/usr/share/gcc-7/python/libstdcxx
/usr/share/gcc-7/python/libstdcxx/__init__.py
/usr/share/gcc-7/python/libstdcxx/v6
/usr/share/gcc-7/python/libstdcxx/v6/__init__.py
/usr/share/gcc-7/python/libstdcxx/v6/printers.py
/usr/share/gcc-7/python/libstdcxx/v6/xmethods.py
/usr/share/poppler/cMap/Adobe-CNS1/HKgccs-B5-H
/usr/share/poppler/cMap/Adobe-CNS1/HKgccs-B5-V
/usr/share/vim/vim80/compiler/gcc.vim
wellywu@linux-vfxd:/usr/bin>

Looks like I’m missing the binary executable for gcc. So, I need to install it, right?

No, read this part again

replacing ‘gcc’ with ‘llvm’ and again with ‘clang’, plus get the version numbers correct (check the /usr/bin folder to get these right)

  1. We’re all regular users here.
  2. I don’t know where you got the idea that we actively looking for users. If someone likes linux, then use linux. Else use something else. Quite simple, really.
  3. And what world are you living in that makes you think linux isn’t growing?
  4. If you think that Win10 is the best fit for you, why are you trying linux?
  5. We’re not on “your” timeline.
wellywu@linux-vfxd:/usr/bin> sudo zypper in gcc
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 12 NEW packages are going to be installed:
  binutils gcc gcc7 libasan4 libatomic1 libcilkrts5 libitm1 liblsan0 libmpx2 libmpxwrappers2 libtsan0 libubsan0

12 new packages to install.
Overall download size: 26.8 MiB. Already cached: 0 B. After the operation, additional 120.7 MiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package binutils-2.30-3.1.x86_64                                             (1/12),   5.6 MiB ( 43.4 MiB unpacked)
Retrieving: binutils-2.30-3.1.x86_64.rpm .................................................................[done (771.8 KiB/s)]
Retrieving package libasan4-7.3.1+r258313-1.3.x86_64                                    (2/12), 353.0 KiB (  1.3 MiB unpacked)
Retrieving: libasan4-7.3.1+r258313-1.3.x86_64.rpm ......................................................................[done]
Retrieving package libatomic1-8.0.1+r258445-1.5.x86_64                                  (3/12),  18.2 KiB ( 26.1 KiB unpacked)
Retrieving: libatomic1-8.0.1+r258445-1.5.x86_64.rpm ....................................................................[done]
Retrieving package libcilkrts5-7.3.1+r258313-1.3.x86_64                                 (4/12),  56.6 KiB (120.1 KiB unpacked)
Retrieving: libcilkrts5-7.3.1+r258313-1.3.x86_64.rpm .......................................................[done (3.6 KiB/s)]
Retrieving package libitm1-8.0.1+r258445-1.5.x86_64                                     (5/12),  36.5 KiB (110.4 KiB unpacked)
Retrieving: libitm1-8.0.1+r258445-1.5.x86_64.rpm .......................................................................[done]
Retrieving package liblsan0-8.0.1+r258445-1.5.x86_64                                    (6/12), 136.6 KiB (333.1 KiB unpacked)
Retrieving: liblsan0-8.0.1+r258445-1.5.x86_64.rpm ......................................................................[done]
Retrieving package libmpx2-8.0.1+r258445-1.5.x86_64                                     (7/12),  16.8 KiB ( 18.3 KiB unpacked)
Retrieving: libmpx2-8.0.1+r258445-1.5.x86_64.rpm .......................................................................[done]
Retrieving package libmpxwrappers2-8.0.1+r258445-1.5.x86_64                             (8/12),  15.5 KiB ( 14.2 KiB unpacked)
Retrieving: libmpxwrappers2-8.0.1+r258445-1.5.x86_64.rpm ...............................................................[done]
Retrieving package libtsan0-8.0.1+r258445-1.5.x86_64                                    (9/12), 282.9 KiB (929.2 KiB unpacked)
Retrieving: libtsan0-8.0.1+r258445-1.5.x86_64.rpm ......................................................................[done]
Retrieving package libubsan0-7.3.1+r258313-1.3.x86_64                                  (10/12), 130.0 KiB (305.3 KiB unpacked)
Retrieving: libubsan0-7.3.1+r258313-1.3.x86_64.rpm .........................................................[done (8.0 KiB/s)]
Retrieving package gcc7-7.3.1+r258313-1.3.x86_64                                       (11/12),  20.2 MiB ( 74.2 MiB unpacked)
Retrieving: gcc7-7.3.1+r258313-1.3.x86_64.rpm ..............................................................[done (8.2 MiB/s)]
Retrieving package gcc-7-2.9.x86_64                                                    (12/12),  11.6 KiB (    0   B unpacked)
Retrieving: gcc-7-2.9.x86_64.rpm .......................................................................................[done]
Checking for file conflicts: ...........................................................................................[done]
( 1/12) Installing: binutils-2.30-3.1.x86_64 ...........................................................................[done]
Additional rpm output:
update-alternatives: using /usr/bin/ld.bfd to provide /usr/bin/ld (ld) in auto mode                                           


( 2/12) Installing: libasan4-7.3.1+r258313-1.3.x86_64 ..................................................................[done]
( 3/12) Installing: libatomic1-8.0.1+r258445-1.5.x86_64 ................................................................[done]
( 4/12) Installing: libcilkrts5-7.3.1+r258313-1.3.x86_64 ...............................................................[done]
( 5/12) Installing: libitm1-8.0.1+r258445-1.5.x86_64 ...................................................................[done]
( 6/12) Installing: liblsan0-8.0.1+r258445-1.5.x86_64 ..................................................................[done]
( 7/12) Installing: libmpx2-8.0.1+r258445-1.5.x86_64 ...................................................................[done]
( 8/12) Installing: libmpxwrappers2-8.0.1+r258445-1.5.x86_64 ...........................................................[done]
( 9/12) Installing: libtsan0-8.0.1+r258445-1.5.x86_64 ..................................................................[done]
(10/12) Installing: libubsan0-7.3.1+r258313-1.3.x86_64 .................................................................[done]
(11/12) Installing: gcc7-7.3.1+r258313-1.3.x86_64 ......................................................................[done]
(12/12) Installing: gcc-7-2.9.x86_64 ...................................................................................[done]
wellywu@linux-vfxd:/usr/bin> locate gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_amd64
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_amd64.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libgcc1_5.4.0-7steamrt1+srt1_amd64
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed/libgcc1_5.4.0-7steamrt1+srt1_amd64.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/gcc/x86_64-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/README.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/README.Debian.amd64.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/TODO.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/changelog.Debian.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/printers.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/gcc-5/python/libstdcxx/v6/xmethods.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/share/lintian/overrides/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_i386
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/gcc-4.6-base_4.6.3-1ubuntu5+srt5_i386.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libgcc1_5.4.0-7steamrt1+srt1_i386
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/installed/libgcc1_5.4.0-7steamrt1+srt1_i386.md5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/gcc/i686-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/README.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/README.Debian.i386.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/TODO.Debian
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/changelog.Debian.gz
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/__init__.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/printers.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/gcc-5/python/libstdcxx/v6/xmethods.py
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/share/lintian/overrides/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/lib/i386-linux-gnu/libgcc_s.so.1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc/i686-linux-gnu
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/lib/gcc/i686-linux-gnu/4.6.3
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/gcc-4.6-base
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/libgcc1
/home/wellywu/.local/share/Steam/ubuntu12_32/steam-runtime.old/i386/usr/share/doc/gcc-4.6-base/copyright
/home/wellywu/.mozilla/firefox/nbgbtk0b.default/gmp/Linux_x86_64-gcc3
/home/wellywu/.thunderbird/kpbmzets.default/gmp/Linux_x86_64-gcc3
/home/wellywu/.thunderbird/kpbmzets.default/pepmda/lib/libgcc_s.so.1
/lib/libgcc_s.so.1
/lib64/libgcc_s.so.1
/opt/SpiderOakONE/lib/libgcc_s.so.1
/usr/include/arch-ia64/asm/gcc_intrin.h
/usr/lib64/gcc
/usr/lib64/gcc/x86_64-suse-linux
/usr/lib64/gcc/x86_64-suse-linux/7
/usr/lib64/gcc/x86_64-suse-linux/7/cc1
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.a
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.so
/usr/lib64/gcc/x86_64-suse-linux/7/libstdc++fs.a
/usr/lib64/gcc/x86_64-suse-linux/7/libsupc++.a
/usr/lib64/libreoffice/program/libgcc3_uno.so
/usr/lib64/libreoffice/program/libuno_cppuhelpergcc3.so.3
/usr/lib64/libreoffice/program/libuno_purpenvhelpergcc3.so.3
/usr/lib64/libreoffice/program/libuno_salhelpergcc3.so.3
/usr/share/gcc-7
/usr/share/bash-completion/completions/gcc
/usr/share/doc/packages/python2-pycparser/examples/using_gcc_E_libc.py
/usr/share/gcc-7/python
/usr/share/gcc-7/python/libstdcxx
/usr/share/gcc-7/python/libstdcxx/__init__.py
/usr/share/gcc-7/python/libstdcxx/v6
/usr/share/gcc-7/python/libstdcxx/v6/__init__.py
/usr/share/gcc-7/python/libstdcxx/v6/printers.py
/usr/share/gcc-7/python/libstdcxx/v6/xmethods.py
/usr/share/poppler/cMap/Adobe-CNS1/HKgccs-B5-H
/usr/share/poppler/cMap/Adobe-CNS1/HKgccs-B5-V
/usr/share/vim/vim80/compiler/gcc.vim
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
update-alternatives: error: alternative path /usr/bin/gcc-6 doesn't exist
wellywu@linux-vfxd:/usr/bin>

I installed gcc and it looks like it installed gcc 7, but when I tried your terminal commands, I get the same results. No /usr/bin/gcc-6 exists.

You installed gcc 7. Next you ran

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

which is attempting to add gcc-6 to the alternatives.

On my computer, based on:

dos@DOS1:~> ls /usr/bin/gcc*
/usr/bin/gcc    /usr/bin/gcc-ar    /usr/bin/gccmakedep  /usr/bin/gcc-nm-7    /usr/bin/gcc-ranlib-7
/usr/bin/gcc-7  /usr/bin/gcc-ar-7  /usr/bin/gcc-nm      /usr/bin/gcc-ranlib

I would have ran

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50