Skip to content
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

BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size #8323

Closed
orangeSi opened this issue Oct 14, 2019 · 7 comments

Comments

@orangeSi
Copy link
Contributor

orangeSi commented Oct 14, 2019

I download crystal-0.31.1-1-linux-x86_64.tar.gz then tar xjf crystal-0.31.1-1-linux-x86_64.tar.gz, run crystal-0.31.1-1/bin/crystal eval 'puts "dd"' will got error:

/usr/bin/ld: BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size

/usr/bin/ld: Please report this bug.

collect2: ld returned 1 exit status

$crystal -v
Crystal 0.31.1 [0e2e1d067] (2019-09-30)

LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu

$cat /etc/centos-release 
CentOS release 6.9 (Final)

EDIT (@straight-shoota): Removed leftover boilerplate from issue template.

@straight-shoota
Copy link
Member

Thanks for reporting! This seems to be a bug in ld, not Crystal. The reported version 2.20 is 9 years old and there are similar errors described on the internet. So you'll simply need to upgrade binutils to a newer, bug-fixed version.

@orangeSi
Copy link
Contributor Author

Thanks for reporting! This seems to be a bug in ld, not Crystal. The reported version 2.20 is 9 years old and there are similar errors described on the internet. So you'll simply need to upgrade binutils to a newer, bug-fixed version.

I need update my ld ?
and when I download crystal 0.30.1, the bug disappear ~

@refi64
Copy link
Contributor

refi64 commented Oct 15, 2019 via email

@straight-shoota
Copy link
Member

I need update my ld ?
and when I download crystal 0.30.1, the bug disappear ~

Yes, update ld should fix this. The upgrade to LLVM 8 (between 0.30 and 0.31) probably produces different codegen which causes the bug in ld to appear.

@ysbaddaden
Copy link
Contributor

ysbaddaden commented Oct 15, 2019

We can't ask a centos user to update a core package like binutils, thats the exact opposite of the centos goal (keep long stable packages not the latest shiny).

A better solution would be centos specific packages that someone must maintain —we won't do that ourselves. If Crystal 0.30.1 is working you could compile crystal 0.31.x with it, but you'll lack a recent enough LLVM version —I can only find LLVM 3.0 which isn't, and 3.4 which I dont think we support anymore. I believe we only support LLVM 3.8+ for the time being.

Upgrading to centos 7 if possible would probably be a better choice. Packages would probably work out of the box, and if not LLVM 5 and 7 are available for it.

@ysbaddaden
Copy link
Contributor

Closing, because there is nothing we can do. RPM and DEB packages are built for recent linux distributions, using recent LLVM releases. Significantly older distributions need specific packages and dedicated maintainers.

@orangeSi
Copy link
Contributor Author

I need update my ld ?
and when I download crystal 0.30.1, the bug disappear ~

Yes, update ld should fix this. The upgrade to LLVM 8 (between 0.30 and 0.31) probably produces different codegen which causes the bug in ld to appear.

thanks~ I update binutil to 2.31.1 by conda, Crystal 0.31.1 does works~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants