-
Notifications
You must be signed in to change notification settings - Fork 4
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
--no-warn-mismatch linker option clashes with --linker=lld #102
Comments
One question here is whether it is still appropriate for the snap package to define its own |
The requirement for w.r.t whether we can drop defining our own ldc2.conf, the issue here (which I'd forgotten until retrying it just now) is that the snap build process results in incorrect paths in the resulting file. So for example with the 1.18.0 package the autogenerated file is:
... where it should be clear that the However, we should update the |
Having dived into this a little deeper, it looks like 1.20's solution has been to separate out the 32-bit requirements into a separate
However, this approach seems to be predicated on the assumption that the package will only ever run on 64-bit systems. The snap package is (for now at least) maintaining i386 builds as well as x86_64. So, I wonder if this is really the right approach for the snap package, or, assuming that it is, maybe it would be preferable to have both i386 and x86_64 specialized sections. @kinke @JohanEngelen any thoughts/advice? Finally: is this approach also possible for earlier compiler versions (e.g. 1.18, 1.19) or is it only possible for 1.20+? |
Yes, and rightfully so, as it features 64-bit executables only. You could add a section for the native target too (not using |
Quite so. The point is that the snap package's situation is different (one build contains 64-bit exes, the other 32-bit), so it may need different solutions. I see two different options here:
The second is possibly more natural/intuitive for a basic setup that's designed to support builds for multiple different architectures, not all 64-bit, but it may run into the missing-defaults concerns you cite (I don't know what the effect of empty, rather than missing, defaults would be?). I am open to the possibility of just dropping support for the 32-bit snap packages, but it's caught LDC bugs in the past, so I would prefer not to if possible.
If I say But when setting up |
I haven't tested a 32-bit multilib build, but the installed conf for v1.20 should handle that gracefully too - default section is for 32-bit, and the multilib is the 64-bit one ( So if you switched to the default installed .conf with v1.20 and replaced |
The current
ldc2.conf
uses the--no-warn-mismatch
linker flag. This matches what is found in the current 1.18.0 upstream binary package, but has been dropped in more recent releases.Unfortunately this clashes with the use of
lld
as linker, since it does not support that flag.The text was updated successfully, but these errors were encountered: