reasonml / reason-cli

Globally installable Reason toolchain.
MIT License
291 stars 23 forks source link

README: Add install esy command #55

Closed InsidersByte closed 6 years ago

InsidersByte commented 6 years ago

The instructions to pack reason-cli are not complete as they are missing the install esy command.

jordwalke commented 6 years ago

Thanks! Curious, are you building releases? What's your use case?

InsidersByte commented 6 years ago

Yes, I am.

I need to install reason-cli on Centos7 and the post-install fails with lots of errors stating version GLIBCXX_3.4.21 not found (required by fastreplacestring.exe).

However, if I pack the release on the target box, the post install step completes successfully.

zploskey commented 6 years ago

If we build releases on the oldest supported CentOS/RHEL that can work we avoid problems like this, I think. Version 5.x is supported until 30 November 2020. This would inevitably involve some testing. It would be nice if at least the latest CentOS (7) was supported.

jordwalke commented 6 years ago

@InsidersByte I'm glad to hear that the pack mode actually is getting some use. Maybe we should release the prebuilt binaries on the oldest libc. Is there stable way to downgrade temporarily to a lower libc on Ubuntu just for the build?

zploskey commented 6 years ago

Maybe, but it's probably pretty complicated. Easiest to just build on the oldest platform you want to support that uses that glibc by default.

jordwalke commented 6 years ago

So you recommend a CentOS 5.0 VM?

zploskey commented 6 years ago

Any CentOS release in the same major version should be binary compatible and use the same glibc. Now that I'm looking into this, I think CentOS 5 is not supported anymore at all, but RHEL 5 is in a pay us extra money and we'll support it phase. Oldest supported CentOS is 6, of which 6.9 is the latest, and the series is EOL on 30 Nov 2020. If it were me I would do builds in a CentOS 6.9 docker container, possibly one preloaded with things you need for the build.

Binaries built on CentosOS 6.x which uses glibc 2.12 built statically except for glibc should work on any newer linux, since glibc maintains backwards compatibility.