Description
In #72 I had a problem getting dotnet to work after installing dotnet-install.sh because dependencies were missing. After discussion the decision was to stop attempting to check for dependencies and instead include a URL in the console output.
Unfortunately, even I myself 1 year on hit this again and did not notice the URL. Here's the output
[2021/09/08 03:52:48][INFO] $ /root/git/performance/tools/dotnet/x64/dotnet-install.sh -InstallDir /root/git/performance/tools/dotnet/x64 -Architecture x64 -Channel 6.0 -Quality daily
[2021/09/08 03:52:48][INFO] dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
[2021/09/08 03:52:48][INFO] dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
[2021/09/08 03:52:48][INFO] dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
[2021/09/08 03:52:48][INFO] dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.
[2021/09/08 03:52:48][INFO]
[2021/09/08 03:52:49][INFO] dotnet-install: .NET Core SDK version 6.0.100-rc.1.21417.19 is already installed.
[2021/09/08 03:52:49][INFO] dotnet-install: Adding to current process PATH: `/root/git/performance/tools/dotnet/x64`. Note: This change will be visible only when sourcing script.
[2021/09/08 03:52:49][INFO] dotnet-install: Note that the script does not resolve dependencies during installation.
[2021/09/08 03:52:49][INFO] dotnet-install: To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section.
[2021/09/08 03:52:49][INFO] dotnet-install: Installation finished successfully.
I didn't read this -- am I typical? Eg., I don't read all the output from "apt-get".
Then got stuck puzzling out why dotnet didn't work, because in my mind, the script is "make_dotnet_work_anywhere.sh"
[2021/09/08 03:52:49][INFO] $ dotnet --info
[2021/09/08 03:52:49][INFO] Error loading shared library libstdc++.so.6: No such file or directory (needed by /root/git/performance/tools/dotnet/x64/dotnet)
[2021/09/08 03:52:49][INFO] Error loading shared library libgcc_s.so.1: No such file or directory (needed by /root/git/performance/tools/dotnet/x64/dotnet)
[2021/09/08 03:52:49][INFO] Error relocating /root/git/performance/tools/dotnet/x64/dotnet: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm: symbol not found
[2021/09/08 03:52:49][INFO] Error relocating /root/git/performance/tools/dotnet/x64/dotnet: _ZNKSt5ctypeIcE13_M_widen_initEv: symbol not found
<100's more lines>
The fix for this was apk add libstdc++
and apk add libgcc
. Of course there are several other dependencies, listed at the URL above.
@ericstj's suggestion is to somehow maintain a list of dependencies where the install script can read them from. @leecow I wonder whether that would make sense. It's a super unfriendly experience for someone wanting to get started.