Look, I want to apologize for the bad attitude that I showed here on the forum. I wanted to thank everybody for helping me thus far. I got more code dumps to show. It seems like I am making progress here. Future posts coming.
Sorry, but I don’t understand why you did not read what another person said about it (@doscott) ?
“Replace gcc with llvm and clang.”
So instead of
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50
will be
update-alternatives --install …
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
[sudo] password for root:
Sorry, try again.
[sudo] password for root:
Sorry, try again.
[sudo] password for root:
update-alternatives: using /usr/bin/gcc-7 to provide /usr/bin/gcc (gcc) in auto mode
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --config clang
There is only one alternative in link group clang (providing /usr/bin/clang): /usr/bin/clang-6.0.0
Nothing to configure.
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --config llvm
update-alternatives: error: no alternatives for llvm
I finally figured out how to select gcc 7 in auto mode.
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0 50
update-alternatives: using /usr/bin/llvm-ar-5.0.1 to provide /usr/bin/llvm-ar (llvm-ar) in auto mode
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0 20
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0 20
update-alternatives: error: alternative llvm-as can't be master: it is a slave of llvm-ar
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0 50
update-alternatives: error: alternative llvm-as can't be master: it is a slave of llvm-ar
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
wellywu@linux-vfxd:/usr/bin>
Is this correct? Do I have to do this for llvm-config, llvm-as, llvm-dis, lli, llc and opt as well? How do I do that? What is this thing with priority?
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --help
[sudo] password for root:
Usage: update-alternatives <option> ...] <command>
Commands:
--install <link> <name> <path> <priority>
--slave <link> <name> <path>] ...
add a group of alternatives to the system.
--remove <name> <path> remove <path> from the <name> group alternative.
--remove-all <name> remove <name> group from the alternatives system.
--auto <name> switch the master link <name> to automatic mode.
--display <name> display information about the <name> group.
--query <name> machine parseable version of --display <name>.
--list <name> display all targets of the <name> group.
--get-selections list master alternative names and their status.
--set-selections read alternative status from standard input.
--config <name> show alternatives for the <name> group and ask the
user to select which one to use.
--set <name> <path> set <path> as alternative for <name>.
--all call --config on all alternatives.
<link> is the symlink pointing to /etc/alternatives/<name>.
(e.g. /usr/bin/pager)
<name> is the master name for this link group.
(e.g. pager)
<path> is the location of one of the alternative target files.
(e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority in
automatic mode.
Options:
--altdir <directory> change the alternatives directory.
--admindir <directory> change the administrative directory.
--log <file> change the log file.
--force allow replacing files with alternative links.
--skip-auto skip prompt for alternatives correctly configured
in automatic mode (relevant for --config only)
--verbose verbose operation, more output.
--quiet quiet operation, minimal output.
--help show this help message.
--version show the version.
wellywu@linux-vfxd:/usr/bin>
So, this is the man page for update-alternatives.
I’m reposting my code dump again to ask more specific questions:
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0 50
update-alternatives: using /usr/bin/llvm-ar-5.0.1 to provide /usr/bin/llvm-ar (llvm-ar) in auto mode
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-6.0.0 20
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0 20
update-alternatives: error: alternative llvm-as can't be master: it is a slave of llvm-ar
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0 50
update-alternatives: error: alternative llvm-as can't be master: it is a slave of llvm-ar
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-6.0.0
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
Is setting llvm-ar-6.0.0 to priority 20 correct or why can’t it be set to priority 50? What about the other files? How do I know which priority to give to each file?
Priority - higher priority, this package will be default package in auto mode.
Do not give different priority to the same package.
Can you post the output from
ls /usr/bin/llvm*
ls /usr/bin/clang*
What I really need is someone to hold my hands and tell me what to type in for update-alternatives for clang, llvm, and other necessary files. I still have no idea what I am doing here as it is clearly evident. I just want LLVM 6.0.0 to be selected so that I can turn on 3D graphics hardware acceleration for my RX Vega 64 GPU.
I’m a bit confused here about the priorities because I don’t really understand which specific number to assign to each llvm 6.0.0 file right now. Which files do I need to add to update-alternatives and what specific priorities do I need to give to each file? What other files need to be included with update-alternatives and each of their priorities?
It’s not that I can’t read and understand what others have posted. I’m just really green and wet behind the ears with regards to OpenSuSE Tumbleweed. We all got to start somewhere. Anyway, my knowledge and experience is with Ubuntu 64 bit LTS, but I wanted to give OpenSuSE Tumbleweed a try.
Please be patient with my noobiness and continue helping. I’m just trying to understand what I’m doing with update-alternatives, which specific files to target, and their priorities. I need more help. Thank you.
wellywu@linux-vfxd:/usr/bin> ls /usr/bin/llvm*
+ _ls /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-cat /usr/bin/llvm-cat-5.0.1 /usr/bin/llvm-cat-6.0.0 /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-c-test /usr/bin/llvm-c-test-5.0.1 /usr/bin/llvm-c-test-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-lto2 /usr/bin/llvm-lto2-5.0.1 /usr/bin/llvm-lto2-6.0.0 /usr/bin/llvm-lto-5.0.1 /usr/bin/llvm-lto-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-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-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
+ local 'IFS= '
+ command ls -N --color=tty -T 0 /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-cat /usr/bin/llvm-cat-5.0.1 /usr/bin/llvm-cat-6.0.0 /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-c-test /usr/bin/llvm-c-test-5.0.1 /usr/bin/llvm-c-test-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-lto2 /usr/bin/llvm-lto2-5.0.1 /usr/bin/llvm-lto2-6.0.0 /usr/bin/llvm-lto-5.0.1 /usr/bin/llvm-lto-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-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-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
+ ls -N --color=tty -T 0 /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-cat /usr/bin/llvm-cat-5.0.1 /usr/bin/llvm-cat-6.0.0 /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-c-test /usr/bin/llvm-c-test-5.0.1 /usr/bin/llvm-c-test-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-lto2 /usr/bin/llvm-lto2-5.0.1 /usr/bin/llvm-lto2-6.0.0 /usr/bin/llvm-lto-5.0.1 /usr/bin/llvm-lto-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-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-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/bin/llvm-ar /usr/bin/llvm-dis /usr/bin/llvm-mc-5.0.1 /usr/bin/llvm-readelf
/usr/bin/llvm-ar-5.0.1 /usr/bin/llvm-dis-5.0.1 /usr/bin/llvm-mc-6.0.0 /usr/bin/llvm-readelf-5.0.1
/usr/bin/llvm-ar-6.0.0 /usr/bin/llvm-dis-6.0.0 /usr/bin/llvm-mcmarkup /usr/bin/llvm-readelf-6.0.0
/usr/bin/llvm-as /usr/bin/llvm-dlltool /usr/bin/llvm-mcmarkup-5.0.1 /usr/bin/llvm-readobj
/usr/bin/llvm-as-5.0.1 /usr/bin/llvm-dlltool-5.0.1 /usr/bin/llvm-mcmarkup-6.0.0 /usr/bin/llvm-readobj-5.0.1
/usr/bin/llvm-as-6.0.0 /usr/bin/llvm-dlltool-6.0.0 /usr/bin/llvm-modextract /usr/bin/llvm-readobj-6.0.0
/usr/bin/llvm-bcanalyzer /usr/bin/llvm-dsymutil /usr/bin/llvm-modextract-5.0.1 /usr/bin/llvm-rtdyld
/usr/bin/llvm-bcanalyzer-5.0.1 /usr/bin/llvm-dsymutil-5.0.1 /usr/bin/llvm-modextract-6.0.0 /usr/bin/llvm-rtdyld-5.0.1
/usr/bin/llvm-bcanalyzer-6.0.0 /usr/bin/llvm-dsymutil-6.0.0 /usr/bin/llvm-mt /usr/bin/llvm-rtdyld-6.0.0
/usr/bin/llvm-cat /usr/bin/llvm-dwarfdump /usr/bin/llvm-mt-5.0.1 /usr/bin/llvm-size
/usr/bin/llvm-cat-5.0.1 /usr/bin/llvm-dwarfdump-5.0.1 /usr/bin/llvm-mt-6.0.0 /usr/bin/llvm-size-5.0.1
/usr/bin/llvm-cat-6.0.0 /usr/bin/llvm-dwarfdump-6.0.0 /usr/bin/llvm-nm /usr/bin/llvm-size-6.0.0
/usr/bin/llvm-cfi-verify-6.0.0 /usr/bin/llvm-dwp /usr/bin/llvm-nm-5.0.1 /usr/bin/llvm-split
/usr/bin/llvm-cov /usr/bin/llvm-dwp-5.0.1 /usr/bin/llvm-nm-6.0.0 /usr/bin/llvm-split-5.0.1
/usr/bin/llvm-cov-5.0.1 /usr/bin/llvm-dwp-6.0.0 /usr/bin/llvm-objcopy-6.0.0 /usr/bin/llvm-split-6.0.0
/usr/bin/llvm-cov-6.0.0 /usr/bin/llvm-extract /usr/bin/llvm-objdump /usr/bin/llvm-stress
/usr/bin/llvm-c-test /usr/bin/llvm-extract-5.0.1 /usr/bin/llvm-objdump-5.0.1 /usr/bin/llvm-stress-5.0.1
/usr/bin/llvm-c-test-5.0.1 /usr/bin/llvm-extract-6.0.0 /usr/bin/llvm-objdump-6.0.0 /usr/bin/llvm-stress-6.0.0
/usr/bin/llvm-c-test-6.0.0 /usr/bin/llvm-lib /usr/bin/llvm-opt-report /usr/bin/llvm-strings
/usr/bin/llvm-cvtres /usr/bin/llvm-lib-5.0.1 /usr/bin/llvm-opt-report-5.0.1 /usr/bin/llvm-strings-5.0.1
/usr/bin/llvm-cvtres-5.0.1 /usr/bin/llvm-lib-6.0.0 /usr/bin/llvm-opt-report-6.0.0 /usr/bin/llvm-strings-6.0.0
/usr/bin/llvm-cvtres-6.0.0 /usr/bin/llvm-link /usr/bin/llvm-pdbutil /usr/bin/llvm-symbolizer
/usr/bin/llvm-cxxdump /usr/bin/llvm-link-5.0.1 /usr/bin/llvm-pdbutil-5.0.1 /usr/bin/llvm-symbolizer-5.0.1
/usr/bin/llvm-cxxdump-5.0.1 /usr/bin/llvm-link-6.0.0 /usr/bin/llvm-pdbutil-6.0.0 /usr/bin/llvm-symbolizer-6.0.0
/usr/bin/llvm-cxxdump-6.0.0 /usr/bin/llvm-lto /usr/bin/llvm-profdata /usr/bin/llvm-tblgen
/usr/bin/llvm-cxxfilt /usr/bin/llvm-lto2 /usr/bin/llvm-profdata-5.0.1 /usr/bin/llvm-tblgen-5.0.1
/usr/bin/llvm-cxxfilt-5.0.1 /usr/bin/llvm-lto2-5.0.1 /usr/bin/llvm-profdata-6.0.0 /usr/bin/llvm-tblgen-6.0.0
/usr/bin/llvm-cxxfilt-6.0.0 /usr/bin/llvm-lto2-6.0.0 /usr/bin/llvm-ranlib /usr/bin/llvm-xray
/usr/bin/llvm-diff /usr/bin/llvm-lto-5.0.1 /usr/bin/llvm-ranlib-5.0.1 /usr/bin/llvm-xray-5.0.1
/usr/bin/llvm-diff-5.0.1 /usr/bin/llvm-lto-6.0.0 /usr/bin/llvm-ranlib-6.0.0 /usr/bin/llvm-xray-6.0.0
/usr/bin/llvm-diff-6.0.0 /usr/bin/llvm-mc /usr/bin/llvm-rc-6.0.0
++ ppwd
++ true
wellywu@linux-vfxd:/usr/bin>
wellywu@linux-vfxd:/usr/bin> ls /usr/bin/clang*
+ _ls /usr/bin/clang /usr/bin/clang++ /usr/bin/clang-6.0 /usr/bin/clang++-6.0 /usr/bin/clang-6.0.0 /usr/bin/clang++-6.0.0 /usr/bin/clang-apply-replacements /usr/bin/clang-apply-replacements-6.0.0 /usr/bin/clang-change-namespace /usr/bin/clang-change-namespace-6.0.0 /usr/bin/clang-check /usr/bin/clang-check-6.0.0 /usr/bin/clang-cl /usr/bin/clang-cl-6.0.0 /usr/bin/clang-cpp /usr/bin/clangd /usr/bin/clangd-6.0.0 /usr/bin/clang-format /usr/bin/clang-format-6.0.0 /usr/bin/clang-format-diff /usr/bin/clang-format-diff-6.0.0 /usr/bin/clang-func-mapping /usr/bin/clang-func-mapping-6.0.0 /usr/bin/clang-import-test /usr/bin/clang-import-test-6.0.0 /usr/bin/clang-include-fixer /usr/bin/clang-include-fixer-6.0.0 /usr/bin/clang-offload-bundler /usr/bin/clang-offload-bundler-6.0.0 /usr/bin/clang-query /usr/bin/clang-query-6.0.0 /usr/bin/clang-refactor /usr/bin/clang-refactor-6.0.0 /usr/bin/clang-rename /usr/bin/clang-rename-6.0.0 /usr/bin/clang-reorder-fields /usr/bin/clang-reorder-fields-6.0.0 /usr/bin/clang-tidy /usr/bin/clang-tidy-6.0.0 /usr/bin/clang-tidy-diff /usr/bin/clang-tidy-diff-6.0.0
+ local 'IFS= '
+ command ls -N --color=tty -T 0 /usr/bin/clang /usr/bin/clang++ /usr/bin/clang-6.0 /usr/bin/clang++-6.0 /usr/bin/clang-6.0.0 /usr/bin/clang++-6.0.0 /usr/bin/clang-apply-replacements /usr/bin/clang-apply-replacements-6.0.0 /usr/bin/clang-change-namespace /usr/bin/clang-change-namespace-6.0.0 /usr/bin/clang-check /usr/bin/clang-check-6.0.0 /usr/bin/clang-cl /usr/bin/clang-cl-6.0.0 /usr/bin/clang-cpp /usr/bin/clangd /usr/bin/clangd-6.0.0 /usr/bin/clang-format /usr/bin/clang-format-6.0.0 /usr/bin/clang-format-diff /usr/bin/clang-format-diff-6.0.0 /usr/bin/clang-func-mapping /usr/bin/clang-func-mapping-6.0.0 /usr/bin/clang-import-test /usr/bin/clang-import-test-6.0.0 /usr/bin/clang-include-fixer /usr/bin/clang-include-fixer-6.0.0 /usr/bin/clang-offload-bundler /usr/bin/clang-offload-bundler-6.0.0 /usr/bin/clang-query /usr/bin/clang-query-6.0.0 /usr/bin/clang-refactor /usr/bin/clang-refactor-6.0.0 /usr/bin/clang-rename /usr/bin/clang-rename-6.0.0 /usr/bin/clang-reorder-fields /usr/bin/clang-reorder-fields-6.0.0 /usr/bin/clang-tidy /usr/bin/clang-tidy-6.0.0 /usr/bin/clang-tidy-diff /usr/bin/clang-tidy-diff-6.0.0
+ ls -N --color=tty -T 0 /usr/bin/clang /usr/bin/clang++ /usr/bin/clang-6.0 /usr/bin/clang++-6.0 /usr/bin/clang-6.0.0 /usr/bin/clang++-6.0.0 /usr/bin/clang-apply-replacements /usr/bin/clang-apply-replacements-6.0.0 /usr/bin/clang-change-namespace /usr/bin/clang-change-namespace-6.0.0 /usr/bin/clang-check /usr/bin/clang-check-6.0.0 /usr/bin/clang-cl /usr/bin/clang-cl-6.0.0 /usr/bin/clang-cpp /usr/bin/clangd /usr/bin/clangd-6.0.0 /usr/bin/clang-format /usr/bin/clang-format-6.0.0 /usr/bin/clang-format-diff /usr/bin/clang-format-diff-6.0.0 /usr/bin/clang-func-mapping /usr/bin/clang-func-mapping-6.0.0 /usr/bin/clang-import-test /usr/bin/clang-import-test-6.0.0 /usr/bin/clang-include-fixer /usr/bin/clang-include-fixer-6.0.0 /usr/bin/clang-offload-bundler /usr/bin/clang-offload-bundler-6.0.0 /usr/bin/clang-query /usr/bin/clang-query-6.0.0 /usr/bin/clang-refactor /usr/bin/clang-refactor-6.0.0 /usr/bin/clang-rename /usr/bin/clang-rename-6.0.0 /usr/bin/clang-reorder-fields /usr/bin/clang-reorder-fields-6.0.0 /usr/bin/clang-tidy /usr/bin/clang-tidy-6.0.0 /usr/bin/clang-tidy-diff /usr/bin/clang-tidy-diff-6.0.0
/usr/bin/clang /usr/bin/clang-cpp /usr/bin/clang-offload-bundler-6.0.0
/usr/bin/clang++ /usr/bin/clangd /usr/bin/clang-query
/usr/bin/clang-6.0 /usr/bin/clangd-6.0.0 /usr/bin/clang-query-6.0.0
/usr/bin/clang++-6.0 /usr/bin/clang-format /usr/bin/clang-refactor
/usr/bin/clang-6.0.0 /usr/bin/clang-format-6.0.0 /usr/bin/clang-refactor-6.0.0
/usr/bin/clang++-6.0.0 /usr/bin/clang-format-diff /usr/bin/clang-rename
/usr/bin/clang-apply-replacements /usr/bin/clang-format-diff-6.0.0 /usr/bin/clang-rename-6.0.0
/usr/bin/clang-apply-replacements-6.0.0 /usr/bin/clang-func-mapping /usr/bin/clang-reorder-fields
/usr/bin/clang-change-namespace /usr/bin/clang-func-mapping-6.0.0 /usr/bin/clang-reorder-fields-6.0.0
/usr/bin/clang-change-namespace-6.0.0 /usr/bin/clang-import-test /usr/bin/clang-tidy
/usr/bin/clang-check /usr/bin/clang-import-test-6.0.0 /usr/bin/clang-tidy-6.0.0
/usr/bin/clang-check-6.0.0 /usr/bin/clang-include-fixer /usr/bin/clang-tidy-diff
/usr/bin/clang-cl /usr/bin/clang-include-fixer-6.0.0 /usr/bin/clang-tidy-diff-6.0.0
/usr/bin/clang-cl-6.0.0 /usr/bin/clang-offload-bundler
++ ppwd
++ true
wellywu@linux-vfxd:/usr/bin>
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --config clang
+ sudo update-alternatives --config clang
[sudo] password for root:
There is only one alternative in link group clang (providing /usr/bin/clang): /usr/bin/clang-6.0.0
Nothing to configure.
++ ppwd
++ true
wellywu@linux-vfxd:/usr/bin> clang --version
+ clang --version
clang version 6.0.0 (tags/RELEASE_600/final 326550)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
++ ppwd
++ true
wellywu@linux-vfxd:/usr/bin>
I posted this beforehand, but it looks like clang version 6.0.0 is installed and it is currently selected. So, do I focus on LLVM and get it to 6.0.0 now? Anything else that I need to select?
Again, I apologize for my noobiness, but with Ubuntu, I probably wouldn’t have to ask as many newbie questions. OpenSuSE Tumbleweed works just fine for my mid-2016 Acer Predator 17X (GX-791) and mid-2017 ASUS ROG STRIX GL702ZC gaming notebook PCs. 3D graphics hardware acceleration is enabled on both gaming notebook PCs. It’s just that AMD RX Vega 64 is relatively new and not a lot of Microsoft or GNU/Linux customers own such a high-end GPU at this time due to high pricing and low availability thanks to cryptocurrency mining.
Thank you doscott for your continued patience and help thus far. You are doing me a favor and I am grateful.
It looks like I have to focus on llvm with update-alternatives and setting the priorities correctly. I don’t understand the difference between master and slave relationship among llvm files and priorities yet. Can someone tell me what I need to type in when using update-alternatives and llvm to get it to select 6.0.0 automatically?
wellywu@linux-vfxd:/usr/bin> llvm-config --prefix --version
+ llvm-config --prefix --version
+ export TEXTDOMAINDIR=/usr/share/locale
+ TEXTDOMAINDIR=/usr/share/locale
+ export TEXTDOMAIN=command-not-found
+ TEXTDOMAIN=command-not-found
+ local cmd state rest
+ local -i pid ppid pgrp session tty_nr tpgid
+ test -n '' -o '!' -t 1
+ read pid cmd state ppid pgrp session tty_nr tpgid rest
+ test 10666 -eq 10845
+ test -x /usr/sbin/llvm-config -o -x /sbin/llvm-config
+ test -n ''
+ echo -e 'If '\''llvm-config'\'' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf llvm-config'
If 'llvm-config' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf llvm-config
+ return 127
wellywu@linux-vfxd:/usr/bin>
What does this command output mean right now?
Try downloading the script from
https://gist.github.com/RaymondKroon/da6650bc72630b963a44
Use a simple name like update.sh. Then edit it to have right version numbers.
then do a
sudo chmod +x update.sh
then run it:
./update.sh
i don’t use these packages so I don’t know if any files have been added or dropped since the script was written.
https://askubuntu.com/questions/907873/how-to-set-clang-3-9-as-the-default-in-zesty
I found this Ubuntu article and I am starting to understand how to use update-alternatives. How do I take this information and use update-alternatives with the master slave priorities for llvm 6.0.0?
#!/usr/bin/env sh
sudo update-alternatives --install \
/usr/bin/llvm-config llvm-config /usr/bin/llvm-config-3.6 200 \
--slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-3.6 \
--slave /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-3.6 \
--slave /usr/bin/llvm-bcanalyzer llvm-bcanalyzer /usr/bin/llvm-bcanalyzer-3.6 \
--slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-3.6 \
--slave /usr/bin/llvm-diff llvm-diff /usr/bin/llvm-diff-3.6 \
--slave /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-3.6 \
--slave /usr/bin/llvm-dwarfdump llvm-dwarfdump /usr/bin/llvm-dwarfdump-3.6 \
--slave /usr/bin/llvm-extract llvm-extract /usr/bin/llvm-extract-3.6 \
--slave /usr/bin/llvm-link llvm-link /usr/bin/llvm-link-3.6 \
--slave /usr/bin/llvm-mc llvm-mc /usr/bin/llvm-mc-3.6 \
--slave /usr/bin/llvm-mcmarkup llvm-mcmarkup /usr/bin/llvm-mcmarkup-3.6 \
--slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-3.6 \
--slave /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-3.6 \
--slave /usr/bin/llvm-ranlib llvm-ranlib /usr/bin/llvm-ranlib-3.6 \
--slave /usr/bin/llvm-readobj llvm-readobj /usr/bin/llvm-readobj-3.6 \
--slave /usr/bin/llvm-rtdyld llvm-rtdyld /usr/bin/llvm-rtdyld-3.6 \
--slave /usr/bin/llvm-size llvm-size /usr/bin/llvm-size-3.6 \
--slave /usr/bin/llvm-stress llvm-stress /usr/bin/llvm-stress-3.6 \
--slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-3.6 \
--slave /usr/bin/llvm-tblgen llvm-tblgen /usr/bin/llvm-tblgen-3.6
sudo update-alternatives --install \
/usr/bin/llvm-config llvm-config /usr/bin/llvm-config-3.8 200 \
--slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-3.8 \
--slave /usr/bin/llvm-as llvm-as /usr/bin/llvm-as-3.8 \
--slave /usr/bin/llvm-bcanalyzer llvm-bcanalyzer /usr/bin/llvm-bcanalyzer-3.8 \
--slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-3.8 \
--slave /usr/bin/llvm-diff llvm-diff /usr/bin/llvm-diff-3.8 \
--slave /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-3.8 \
--slave /usr/bin/llvm-dwarfdump llvm-dwarfdump /usr/bin/llvm-dwarfdump-3.8 \
--slave /usr/bin/llvm-extract llvm-extract /usr/bin/llvm-extract-3.8 \
--slave /usr/bin/llvm-link llvm-link /usr/bin/llvm-link-3.8 \
--slave /usr/bin/llvm-mc llvm-mc /usr/bin/llvm-mc-3.8 \
--slave /usr/bin/llvm-mcmarkup llvm-mcmarkup /usr/bin/llvm-mcmarkup-3.8 \
--slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-3.8 \
--slave /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-3.8 \
--slave /usr/bin/llvm-ranlib llvm-ranlib /usr/bin/llvm-ranlib-3.8 \
--slave /usr/bin/llvm-readobj llvm-readobj /usr/bin/llvm-readobj-3.8 \
--slave /usr/bin/llvm-rtdyld llvm-rtdyld /usr/bin/llvm-rtdyld-3.8 \
--slave /usr/bin/llvm-size llvm-size /usr/bin/llvm-size-3.8 \
--slave /usr/bin/llvm-stress llvm-stress /usr/bin/llvm-stress-3.8 \
--slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-3.8 \
--slave /usr/bin/llvm-tblgen llvm-tblgen /usr/bin/llvm-tblgen-3.8
sudo update-alternatives \
--install /usr/bin/clang clang /usr/bin/clang-3.8 50 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/lldb lldb /usr/bin/lldb-3.8 \
--slave /usr/bin/lldb-server lldb-server /usr/bin/lldb-server-3.8
sudo update-alternatives \
--install /usr/bin/clang clang /usr/bin/clang-3.6 50 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 \
--slave /usr/bin/lldb lldb /usr/bin/lldb-3.6 \
--slave /usr/bin/lldb-server lldb-server /usr/bin/lldb-server-3.6
The update.sh file is missing from this .ZIP archive. Should I proceed to hand type this in?
Obviously, I would substitute it with LLVM 6.0.0 files, correct?
wellywu@linux-vfxd:~/Downloads> ls
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d llvm-update-alternatives
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d.zip temp
wellywu@linux-vfxd:~/Downloads> sudo chmod +x update.sh
[sudo] password for root:
chmod: cannot access 'update.sh': No such file or directory
wellywu@linux-vfxd:~/Downloads> sudo ./update.sh
sudo: ./update.sh: command not found
wellywu@linux-vfxd:~/Downloads> ls
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d llvm-update-alternatives
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d.zip temp
wellywu@linux-vfxd:~/Downloads> sudo chmod +x llvm-update-alternatives
wellywu@linux-vfxd:~/Downloads> ls
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d llvm-update-alternatives
da6650bc72630b963a44-8aaf6bf705266155b426694e7367fcfe7ebcea8d.zip temp
wellywu@linux-vfxd:~/Downloads> sudo ./llvm-update-alternatives
update-alternatives: error: alternative path /usr/bin/llvm-config-3.6 doesn't exist
update-alternatives: error: alternative path /usr/bin/llvm-config-3.8 doesn't exist
update-alternatives: error: alternative path /usr/bin/clang-3.8 doesn't exist
update-alternatives: error: alternative path /usr/bin/clang-3.6 doesn't exist
wellywu@linux-vfxd:~/Downloads> clear
wellywu@linux-vfxd:~/Downloads> sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-6.0.0 200
[sudo] password for root:
update-alternatives: error: alternative path /usr/bin/llvm-config-6.0.0 doesn't exist
wellywu@linux-vfxd:~/Downloads> ls llvm*
llvm-update-alternatives
wellywu@linux-vfxd:~/Downloads> cd /usr/bin
wellywu@linux-vfxd:/usr/bin> ls llvm*
llvm-ar llvm-cxxfilt llvm-lib-5.0.1 llvm-nm-6.0.0 llvm-rtdyld-5.0.1
llvm-ar-5.0.1 llvm-cxxfilt-5.0.1 llvm-lib-6.0.0 llvm-objcopy-6.0.0 llvm-rtdyld-6.0.0
llvm-ar-6.0.0 llvm-cxxfilt-6.0.0 llvm-link llvm-objdump llvm-size
llvm-as llvm-diff llvm-link-5.0.1 llvm-objdump-5.0.1 llvm-size-5.0.1
llvm-as-5.0.1 llvm-diff-5.0.1 llvm-link-6.0.0 llvm-objdump-6.0.0 llvm-size-6.0.0
llvm-as-6.0.0 llvm-diff-6.0.0 llvm-lto llvm-opt-report llvm-split
llvm-bcanalyzer llvm-dis llvm-lto2 llvm-opt-report-5.0.1 llvm-split-5.0.1
llvm-bcanalyzer-5.0.1 llvm-dis-5.0.1 llvm-lto2-5.0.1 llvm-opt-report-6.0.0 llvm-split-6.0.0
llvm-bcanalyzer-6.0.0 llvm-dis-6.0.0 llvm-lto2-6.0.0 llvm-pdbutil llvm-stress
llvm-cat llvm-dlltool llvm-lto-5.0.1 llvm-pdbutil-5.0.1 llvm-stress-5.0.1
llvm-cat-5.0.1 llvm-dlltool-5.0.1 llvm-lto-6.0.0 llvm-pdbutil-6.0.0 llvm-stress-6.0.0
llvm-cat-6.0.0 llvm-dlltool-6.0.0 llvm-mc llvm-profdata llvm-strings
llvm-cfi-verify-6.0.0 llvm-dsymutil llvm-mc-5.0.1 llvm-profdata-5.0.1 llvm-strings-5.0.1
llvm-cov llvm-dsymutil-5.0.1 llvm-mc-6.0.0 llvm-profdata-6.0.0 llvm-strings-6.0.0
llvm-cov-5.0.1 llvm-dsymutil-6.0.0 llvm-mcmarkup llvm-ranlib llvm-symbolizer
llvm-cov-6.0.0 llvm-dwarfdump llvm-mcmarkup-5.0.1 llvm-ranlib-5.0.1 llvm-symbolizer-5.0.1
llvm-c-test llvm-dwarfdump-5.0.1 llvm-mcmarkup-6.0.0 llvm-ranlib-6.0.0 llvm-symbolizer-6.0.0
llvm-c-test-5.0.1 llvm-dwarfdump-6.0.0 llvm-modextract llvm-rc-6.0.0 llvm-tblgen
llvm-c-test-6.0.0 llvm-dwp llvm-modextract-5.0.1 llvm-readelf llvm-tblgen-5.0.1
llvm-cvtres llvm-dwp-5.0.1 llvm-modextract-6.0.0 llvm-readelf-5.0.1 llvm-tblgen-6.0.0
llvm-cvtres-5.0.1 llvm-dwp-6.0.0 llvm-mt llvm-readelf-6.0.0 llvm-xray
llvm-cvtres-6.0.0 llvm-extract llvm-mt-5.0.1 llvm-readobj llvm-xray-5.0.1
llvm-cxxdump llvm-extract-5.0.1 llvm-mt-6.0.0 llvm-readobj-5.0.1 llvm-xray-6.0.0
llvm-cxxdump-5.0.1 llvm-extract-6.0.0 llvm-nm llvm-readobj-6.0.0
llvm-cxxdump-6.0.0 llvm-lib llvm-nm-5.0.1 llvm-rtdyld
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-6.0.0 200
update-alternatives: error: alternative path /usr/bin/llvm-config-6.0.0 doesn't exist
wellywu@linux-vfxd:/usr/bin> sudo update-alternatives --install --slave /usr/bin/llvm-ar llvmar /usr/bin/llvm-ar-6.0.0
update-alternatives: priority must be an integer
Use 'update-alternatives --help' for program usage information.
wellywu@linux-vfxd:/usr/bin>
llvm-config-x.y does not exist in /usr/bin. I tried to continue after that error and I wound up with another error.
Should I give up the ghost and switch back to Microsoft Windows 10 Pro 64 bit on my gaming desktop PC or is there another way to use update-alternatives to select LLVM 6.0.0?
At this point I think you should:
sudo zypper rm llvm5 clang5
That will leave you withe the llvm6 and clang6 packages.
Another option could be to use update-alternatives.
#!/bin/bash -ex
DIR=/opt/clang+llvm-[VERSION]/bin
sudo update-alternatives \
--install /usr/bin/clang clang "$DIR/clang" 100 \
--slave /usr/bin/clang++ clang++ "$DIR/clang++"
Then use this command if more then 1 version is installed.
sudo update-alternatives --config clang
Check if the system is correctly configured.
llvm-config --prefix --version
clang --version
This looks interesting, but would it be applicable to OpenSuSE Tumbleweed as well since I found it for Ubuntu? By setting a DIR and path to the Clang and LLVM 6.0.0 version in /bin, could I just follow the sudo update-alternatives for clang and clang++ and then check the llvm-config prefix and version to see if it shows up as 6.0.0?
Am I getting closer here?
wellywu@linux-vfxd:/usr/bin> sudo zypper rm llvm5 clang5
[sudo] password for root:
Loading repository data...
Reading installed packages...
'clang5' not found in package names. Trying capabilities.
No provider of 'clang5' found.
Resolving package dependencies...
The following 2 packages are going to be REMOVED:
llvm llvm5
2 packages to remove.
After the operation, 7.6 MiB will be freed.
Continue? [y/n/...? shows all options] (y): y
(1/2) Removing llvm-5.0.1-3.1.x86_64 ...................................................................................[done]
(2/2) Removing llvm5-5.0.1-5.1.x86_64 ..................................................................................[done]
Additional rpm output:
update-alternatives: warning: alternative /usr/bin/llvm-ar-5.0.1 (part of link group llvm-ar) doesn't exist; removing from list of alternatives
update-alternatives: warning: /etc/alternatives/llvm-ar is dangling; it will be updated with best choice
update-alternatives: using /usr/bin/llvm-ar-6.0.0 to provide /usr/bin/llvm-ar (llvm-ar) in auto mode
Installation has completed with error.
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> llvm-config --prefix --version
If 'llvm-config' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf llvm-config
wellywu@linux-vfxd:/usr/bin> sudo zypper in llvm-config
Loading repository data...
Reading installed packages...
Package 'llvm-config' not found.
Resolving package dependencies...
Nothing to do.
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>
I removed llvm5, but clang5 was not found. I posted another code dump. Now what? How do I check llvm version without llvm-config? I tried to install llvm-config, but it’s not found in the software repositories. Should I consider restarting my gaming desktop PC and crossing my fingers? Is there something else that I should do prior to a restart? Hopefully, my desktop operating system will be stable, right?
I thought earlier in the thread you had 5 and 6 installed. But now you should only have 6 installed for each, correct?
In any case it won’t hurt to
sudo zypper in llvm6 clang6
and you should be good to go.