-
Notifications
You must be signed in to change notification settings - Fork 3.7k
v1.8.0-rc2 build script cannot find C++ libraries on a fresh host #7364
Comments
another test server where it compiled has Boost libraries 1.67 in |
it's probably related to #7352 |
this workaround worked. Took about an hour to complete:
|
Probably #7260 |
no, in my case it compiled well up to the linkling stage |
@cc32d9 Can you provide the full log output from the build.sh script? |
This is ultimately a dupe of #7260. What happens is that NO_CPP17 gets set true, then PIN_COMPILER check fails, then BUILD_CLANG8 is set to true. This causes deps to be built with clang8+libstdcxx but since PIN_COMPILER is not set eosio is built with clang8+stdlibc++. Mismatched stdc++s cause linker failure. |
sorry but it's not an empty server any more. But you can easily reproduce it on a fresh VM |
After installing debian package for rc2, I get this, compared to what I built from sources:
My concern is that this long CLang string would not be the same in future releases. How can we avoid unnecessary replays? |
Indeed, it is unfortunate that a particular revision was picked like that but since it is manually pinned to a specific git hash in the build script it won't change without explicitly doing so. We do have some CI tests that will detect when such a change occurs so even if someone manually moves the pinned hash it will fail tests |
it compiled successfully with
why aren't these options set by default? They make sense to be the default |
That the script doesn't work with just The script was originally written with the intent that it would only build deps that the distribution/host could not fulfill. i.e. if the distro provided a sufficiently new cmake we would use that instead of building our own; if the distro provided llvm 4.0 we would use that instead of building our own, etc. In the case of 18.04 we don't need to build llvm 4.0; we don't need to build our own c++ compiler; etc The Whether or not |
Not really certain if this is entirely related, but I had the same issue. Upon running |
Building on a fresh 18.04 install is confirmed working with the recent script changes, going to close this |
I tried to compile v1.8.0-rc2 on a fresh ubuntu-18.04 machine, so there are no artifacts or pre-installed libraries from past eosio versions. The linker fails to find the libraries for standard C++ functions. See attachment.
Previous installs were setting up Boost from deb packages, and that probably pulled in dependencies that are not present now.
eos_86485d_build_error.log
The text was updated successfully, but these errors were encountered: