-
Notifications
You must be signed in to change notification settings - Fork 3.6k
build script on clean install has compiler detection error #7260
Comments
This error also seems to prevent eosio_build.sh from working on 16.04 when no arguments are passed |
I noticed the same with my tests in #7263... Strange... I'm collecting failure logs for each distro so we can swarm on what's causing it. |
#7263 still has the faulty if statement I documented in this defect, that's why it too has problems edit: actually I guess it's technically a different if statement, but point being it's the same kind of error |
Regarding #7263: There is a bit of a chicken and egg problem here. You can't compile cmake without clang/gcc-c++ installed, so you can't compile clang8. That's why the user is prompted that their version will not work and -y will answer yes to installing our clang8. My script handles this by warning the user they've already installed eosio before they can proceed (and suggests using the new uninstall script I made). Unless they just downloaded a newer version, there shouldn't be a reason someone would run it twice. Also, I'm using a new path structure with the version pulled from the CMakeLists file. |
@spoonincode Still an issue? |
nah I think we should close this one |
When running the build script with no options on a fresh Ubuntu 18.04 install it builds the clang8 compiler. That is not expected without the -P option. The reason for this is due to a couple errors in the build script and ordering of detection.
The script has a couple logic defects that should probably be fixed like so:
But this doesn't fix the underlying problem: this compiler check happens before a compiler is possibly installed by the eosio_build_ubuntu.sh (or other platform) script. So by making this change above it will prompt users to install pinned compiler when a platform compiler would pass muster any other time.
But there's more: the eosio_build_ubuntu.sh script will end up installing gcc still. This means the next time the user runs the script with no options (as they probably would, since that's what they did the first time), the script will try doing a non-pinned build. And of course that won't work -- giving bizarre errors -- because you'd need to give a -f to switch between pinned vs nonpinned.
The text was updated successfully, but these errors were encountered: