To help us debug your issue please explain:
Hi @lasote, we have encountered a similar problem that is described here: https://github.com/conan-io/conan/issues/223.
Short story:
We've built a library with 2.29 binutils version(created a package from it), then we tried to link it in an executable using 2.23 binutils(which comes by default with centos 7). We received an error at link time, just like this one from the referenced issue:
/1825751e274ec825270a47a80ec47dbf8278fa20/lib/libjpeg.a(jcmarker.o): unrecognized relocation (0x2a) in section `.text'
/usr/bin/ld: final link failed: Bad value
Is there a reason for why isn't the binutils version in the settings? This way you will be able to avoid these types of errors.
Thanks :smile:
Hi @chreniuc
Yes, there is a reason, and it is to avoid the explosions of binaries. As usual it is a trade-off.
If a binutils version is added, then every different binutils version would require generating a different binary, which is almost impossible, specially for the wider open source community.
In reality, not every minor binutils version generates incompatible code. Actually this issue could be handled in terms of glibc version or even distro versions.
So the current approach is:
conan config installThanks for your feedback, please tell me if the above clarifies the rationale of the current approach. Cheers!
@memsharded I forgot to say that you can close this issue(I only upvoted you comment).
Thanks for your time, I got everything I needed.
We only encountered this problem once, so we do not know if we will add it as a setting, like you said it will be an explosions of binaries. If we will encounter it frequently we might reconsider.
But again, thank you for your time :smiley:
Thanks very much @chreniuc for following up and closing the issue 馃槂
Most helpful comment
Hi @chreniuc
Yes, there is a reason, and it is to avoid the explosions of binaries. As usual it is a trade-off.
If a binutils version is added, then every different binutils version would require generating a different binary, which is almost impossible, specially for the wider open source community.
In reality, not every minor binutils version generates incompatible code. Actually this issue could be handled in terms of glibc version or even distro versions.
So the current approach is:
conan config installThanks for your feedback, please tell me if the above clarifies the rationale of the current approach. Cheers!