Skip to content
This repository was archived by the owner on Jan 3, 2023. It is now read-only.

Fix mono 4.0 installation. - #388

Merged
dsyme merged 1 commit into
fsharp:masterfrom
kumpera:fix_mono_4_0_build
Mar 21, 2015
Merged

Fix mono 4.0 installation.#388
dsyme merged 1 commit into
fsharp:masterfrom
kumpera:fix_mono_4_0_build

Conversation

@kumpera

@kumpera kumpera commented Feb 25, 2015

Copy link
Copy Markdown
Contributor

Mono 4.0 no longer ships a functioning 4.0 profile. $install/lib/mono/4.0 only has reference assemblies with no IL.

Which means we cannot have fsc.exe there as mono will try to use the mscorlib on that directory and fail.

The solution is to change the build to default to install things on 4.5 and symlink the libraries on 4.0.

Mono 4.0 no longer ships a functioning 4.0 profile. $install/lib/mono/4.0 only has reference assemblies with no IL.

Which means we cannot have fsc.exe there as mono will try to use the mscorlib on that directory and fail.

The solution is to change the build to default to install things on 4.5 and symlink the libraries on 4.0.
@knocte

knocte commented Feb 25, 2015

Copy link
Copy Markdown
Contributor

But this would break F# installation in mono < 4.0 right?

alexischr added a commit to mono/bockbuild that referenced this pull request Feb 25, 2015
alexischr added a commit to mono/bockbuild that referenced this pull request Feb 25, 2015
@kumpera

kumpera commented Feb 25, 2015

Copy link
Copy Markdown
Contributor Author

Yes, maybe the solution is to detect mono 4.0+ and only flip things in that case.

There's a competing PR for the same issue, btw: #389

@knocte

knocte commented Feb 25, 2015

Copy link
Copy Markdown
Contributor

Yes

Then this PR should change the configure.ac file to require Mono 4.0 or higher.

maybe the solution is to detect mono 4.0+ and only flip things in that case.

That would be preferable, I guess.

@alexischr

Copy link
Copy Markdown
Contributor

alexischr@01908e8 should also fix the related issue with referencing the MSBuild .targets files for the 4.0 profile (by also symlinking them from 4.5)

This also doesn't check Mono versions and is used as a patch in bockbuild for now.

@dsyme

dsyme commented Mar 21, 2015

Copy link
Copy Markdown
Contributor

I'm inclined that we should accept this and alexischr@ 01908e8 and then work out the pre-4.5 experience next (and also work out how we can CI a pre-4.5 build). There are too many people hitting this issue in some form or another, and pre-4.5 profile builds are becoming rarer.

dsyme added a commit that referenced this pull request Mar 21, 2015
@dsyme
dsyme merged commit 735646a into fsharp:master Mar 21, 2015
knocte added a commit to knocte/fsharp that referenced this pull request Mar 21, 2015
Since the build change [1] was committed, fsharp repository cannot
be built with mono versions previous to 4.0, so it's better to
fail fast at configure time than to give obscure error messages
at build time.

Strictly speaking, this change should have been part of this PR [2].

[1]: fsharp@735646a
[2]: fsharp#388
@knocte

knocte commented Mar 21, 2015

Copy link
Copy Markdown
Contributor

Merged.

Given this decision, FYI I've proposed #394 .

dsyme added a commit that referenced this pull request Jul 7, 2015
adjust #388 to keep targets at canonical locations
dsyme added a commit to 7sharp9/fsharp that referenced this pull request Jul 31, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants