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

community/crystal: upgrade to 0.27.2 #6305

Closed
wants to merge 3 commits into from

Conversation

carlhoerberg
Copy link

No description provided.

@carlhoerberg
Copy link
Author

A new prebuilt crystal is required, 0.27.1 or later.

@carlhoerberg
Copy link
Author

carlhoerberg commented Feb 11, 2019

Ok, now I'm kind of stuck:

/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: _main.o: in function `*Errno::new<String>:Errno':
main_module:(.text+0x3d24): undefined reference to `errno'

@carlhoerberg
Copy link
Author

I guess we need to build each version up to 0.27.2 and upload the snapshots of each version to: https://dev.alpinelinux.org/archive/crystal/

@carlhoerberg
Copy link
Author

Maybe @jirutka or @ncopa can help guide me?

@TBK
Copy link
Contributor

TBK commented Feb 12, 2019

Please rename the PR to community/crystal: upgrade to 0.27.2

@carlhoerberg carlhoerberg changed the title crystal 0.27.2 community/crystal: upgrade to 0.27.2 Feb 12, 2019
@carlhoerberg
Copy link
Author

related to crystal-lang/crystal#7196

@straight-shoota
Copy link
Contributor

The Linux builds provided via Github releases have x86_64-linux-gnu target baked in. For compiling simple programs, it would be enough to specify linker arguments, but unfortunately, you can't configure the target used for running macros. That's why the generic linux binary won't work with musl

One solution is to use the generic linux build to cross compile for x86_64-linux-musl from a gnu system and link it on Alpine. I suppose that's why the previous releases used custom binaries hosted on dev.alpinelinux.org instead of the official release binaries. Alternatively, you should be able to build 0.27.2 with the 0.27.0 compiler.

A quick and dirty patch would be to simply replace the string x86_64-linux-gnu with x86_64-linux-musl in the compiler binary. It occurs only once and can simply be switched out.

I hope we can resolve crystal-lang/crystal#7196 for 0.28.0 so that only one linux binary can target both gnu and musl.

@jirutka jirutka self-requested a review February 16, 2019 23:00
Copy link
Member

@jirutka jirutka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don’t use foreign blobs and keep aarch64 support.

@carlhoerberg carlhoerberg force-pushed the crystal_0.27.2 branch 2 times, most recently from e0e9bd0 to d3bf0f5 Compare February 17, 2019 15:16
@carlhoerberg
Copy link
Author

@jirutka prebuilds (snapshots of) crystal 0.27.0 for x64 and aarch64 needs to be uploaded to https://dev.alpinelinux.org/archive/crystal/ but I don't know how to go about that.

@carlhoerberg carlhoerberg deleted the crystal_0.27.2 branch March 11, 2019 08:46
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

Successfully merging this pull request may close these issues.

4 participants