Installing on Mono 3.0.4 complains about 2.9 or higher not being installed #107

Closed
7sharp9 opened this Issue Feb 24, 2013 · 14 comments

Projects

None yet

5 participants

@7sharp9
Member
7sharp9 commented Feb 24, 2013

Trying to compile #fsharp on my Mac, have #Mono 3.0.4 installed but ./autogen.sh is saying I need 2.9 or higher.

I scraped this comment form Twitter but I also get that, I just comment out the if block but it needs fixing properly.

@knocte
Contributor
knocte commented Feb 24, 2013

weird! did they break their .pc files? you know if this happens with 3.0.3 too? (to determine if it's a mono regression)

@7sharp9
Member
7sharp9 commented Feb 24, 2013

Im pretty certain it does happen on 3.0.3. I think they modified the .pc file location recently. I think that was mentioned in the Xamarin Studio release notes. (This may not be related though...)

@knocte
Contributor
knocte commented Feb 24, 2013

I guess you mean "doesn't happen"?

@7sharp9
Member
7sharp9 commented Feb 24, 2013

I have commented out the version check from december onwards so that would coincide with the 3.0.3 release.

@knocte
Contributor
knocte commented Feb 24, 2013

Ok, I guess we need to file a bug in bugzilla.xamarin.com

@knocte
Contributor
knocte commented Feb 24, 2013

BTW I've read in IRC that it was Duncan who changed the .pc file.

@duncanmak, can you advice what to do here?

@knocte
Contributor
knocte commented Feb 24, 2013

@7sharp9 also, can you test this PR #91 ? I guess it doesn't help, but just in case...

Oh and the issue should be renamed from "2.9" to "2.9 or higher" at the end. It's not that F# wants you to install an older version, but that it just doesn't find any mono at all, and 2.9 is the minimum version required.

@7sharp9
Member
7sharp9 commented Feb 24, 2013

@knocte Im in the middle of merging the Xamarin binding changes into my local F# binding but once thats done Ill take a look. I have some install testing to do anyway because I have some commits for the MonoTouch Fsharp.Core build.

@quasilord
Contributor

I agree this has busted the F# compiler configuration script on Mac. The script:

pkg-config --variable=prefix mono

just doesn't return anything at all, and that's used in ./configure.ac. Is there any other way to find out where mono is installed, for example should we just use the output of 'which mono'?

@knocte
Contributor
knocte commented Feb 24, 2013

But 'which mono' doesn't give you any version information. And don't suggest to call "mono --version" and start parsing the returned string manually to find out, because this was the whole point of pkg-config existence!

@quasilord
Contributor

agreed about 'which mono'.

Let's wait to hear back from the mono guys about why they have removed the pkg-config. We don't exactly want to wait for them to put it back but it is painful that they did this.

In the meantime I used this:

./autogen.sh --with-gacdir=/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/gac --prefix=/Library/Frameworks/Mono.framework/Versions/3.0.4

@migueldeicaza
Member

Hey guys,

The problem is that we installed a pkg-config program in /usr/bin which only looked up at the Mono database of packages, as it was a symlink to the one in /Library/Frameworks/Mono.framework

This caused problem for people that either had their own, or were using popular Unix install systems like Homebrew or MacPorts.

The correct fix is to detect if /Library/Frameworks/Mono.framework/Versions/Current/bin/pkg-config exists, if it does, use that, instead use /usr/bin/pkg-config

@funnelweb
Contributor

Is there a simple AC replacement for
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)

or should we write some 'if test ... ' script?

@funnelweb
Contributor

Here is the fix: #109

@funnelweb funnelweb referenced this issue in xamarin/fsharpbinding Feb 24, 2013
Open

./configure doesn't work on OSX #2

@funnelweb funnelweb added a commit that closed this issue Feb 24, 2013
@funnelweb funnelweb Fix #107 - Installing on Mono 3.0.4
@migueldeicaza says "The problem is that we installed a pkg-config
program in /usr/bin which only looked up at the Mono database of
packages, as it was a symlink to the one in
/Library/Frameworks/Mono.framework This caused problem for people that
either had their own, or were using popular Unix install systems like
Homebrew or MacPorts. The correct fix is to detect if
/Library/Frameworks/Mono.framework/Versions/Current/bin/pkg-config
exists, if it does, use that, instead use /usr/bin/pkg-config"
19643d9
@funnelweb funnelweb closed this in 19643d9 Feb 24, 2013
@enricosada enricosada pushed a commit to enricosada/fsharp that referenced this issue Aug 26, 2014
@latkin latkin Cleanup and fixes for F# BigInteger to bring it closer to BCL BigInte…
…ger behavior. Addresses bugs #105, #106, #107, #108, #109, #111, and #112. (changeset 1304009)
31208c1
@dsyme dsyme pushed a commit to dsyme/fsharp that referenced this issue Feb 16, 2015
@latkin latkin Test fix: explicitly set culture when validating number formatting
fixes #107
 (changeset 1404356)
58981ec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment