New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SR-23] Build fails on Ubuntu 14.04.1 -> error: opening ... 'SwiftShims': No such file #42646
Comments
Comment by Peter Kunze (JIRA) I have the same problem, but on a Gentoo system. Let me know, if I shall provide the complete build log. |
Comment by Massimiliano (JIRA) Same issue on OpenSUSE leap 42.1! Let me know |
manyoso (JIRA User) tolotos (JIRA User) alcester (JIRA User) Can you please provide the exact build-script invocation you used to build on your system? |
Comment by Peter Kunze (JIRA) David Farler As a start, I just entered I tried For the first case, I am going to attach the build log. |
Comment by Massimiliano (JIRA) I tried I tried So I tried make compilation instead ninja this way: swift/utils/build-script -m -R -t ..but no luck...still same error /home/VALUECUBE/fazzini/Programs/apple/swift/stdlib/public/core/ArrayBody.swift:18:8: error: opening import file for module 'SwiftShims': No such file or directory |
I'm working with someone that is having trouble with the ARM port I'm working on. They filed a potentially duplicate bug (SR-333). We've done some trouble shooting at github as well, here: #439 (comment) |
Comment by Massimiliano (JIRA) Hi, I tried to trace "swift" during compilation and i found that is looking for SwiftShims.swiftmodule and SwiftShims.swiftdoc in build/Ninja-ReleaseAssert/swift-linux-x86_64/./lib/swift/linux/x86_64 but these file are not present in this position. |
Comment by Darren Mo (JIRA) I have this problem when compiling on Ubuntu 12.04. Anybody find a workaround yet? Or any more info about the issue? |
Comment by Darren Mo (JIRA) Okay guys and gals… The culprit is an equality check between an Here is the relevant code:
As you can see, we are trying to load a module (this file deals with finding and loading However, on some systems, even if Well it turns out that libstdc+\.so.6.0.21 introduced ABI-breaking changes that are incompatible with GCC versions below 5.x. So for example, if you have GCC 4.9 and libstdc+.so.6.0.21, you will fail. More details here and here. Judging from the above links, it looks like this breaking behaviour isn’t going to change, so we just have to deal with it. Now… what do you guys think the best way to deal with this is? Should we just tell everyone to make sure they have compatible GCC and libstdc++ packages? Put a warning in the build script? This also impacts people who use the prebuilt binaries. If they have a libstdc++ binary that is incompatible with the GCC used to build the compiler, they are screwed. What do we do? |
Comment by Darren Mo (JIRA) Passing back to @bitjammer. |
cc @gribozavr. (BTW, great detective work, Darren.) |
Comment by Paulo Pinto (JIRA) Just found this issue while trying to find a solution for not being able to use Swift on Ubuntu. Is there a way for those unfortunate Ubuntu users like myself to get Swift compiler working? Not sure if downloading the source code and hacking the _findModule() _comparison is the way to go. |
Comment by Darren Mo (JIRA) pjmlp (JIRA User), if you are on 14.04 or 15.10 and have all the necessary dependencies, then you can just download the source and compile with clang+gcc5. This way, the compiler version matches your |
Comment by Paulo Pinto (JIRA) Darren Mo, my point was more into the direction of a solution that would help all LTS users, not just me. Currently I have my humble core duo going through an hourly long build of the whole Swift toolchain and will have to do it for every release I wish to update to, as well as any other LTS user with the same issue being discussed on this Jira issue. |
Comment by Darren Mo (JIRA) Oh I see, pjmlp (JIRA User). I wonder if we could include both gcc4-built binaries and gcc5-built binaries and have some sort of dynamic selection between the two based on the system’s |
Comment by Paulo Pinto (JIRA) I can at least offer my system to test a possible binary solution, I already had to interrupt the build a few times as core duo with 4GB doesn't seem good enough to compile Swift in a timely manner (each attempt was killed after > 2h build time). |
Comment by Darren Mo (JIRA) Are you building in debug or release mode? Release mode ( |
Comment by Tsuzuki Tsuchiya (JIRA) If I add the follonwing repository on Ubuntu 14.04, this error occurs.... |
Is this resolved, or no longer valid? If either, this should be closed. |
Attachment: Download
Environment
apple/swift (master)> uname -a
Linux atreat-thinkpad 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Following the instructions on README.md with new clones of all repos...
Additional Detail from JIRA
md5: e8eced68282d2665cd7e220f9f5f2b15
is duplicated by:
Issue Description:
apple/swift (master)> uname -a
Linux atreat-thinkpad 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Compiling /home/atreat/dev/personal/apple/build/Ninja-DebugAssert/swift-linux-x86_64/stdlib/public/core/linux/x86_64/Swift.o
...
/home/atreat/dev/personal/apple/swift/stdlib/public/core/ArrayBody.swift:18:8: error: opening import file for module 'SwiftShims': No such file or directory
import SwiftShims
^
ninja: build stopped: subcommand failed.
./utils/build-script: command terminated with a non-zero exit status 1, aborting
I've attached the full compile line and error
The text was updated successfully, but these errors were encountered: