Closed DamienIrving closed 8 years ago
Could you try installing libgfortan
with conda and seeing if that helps? There was an issue similar to this for numpy some time back, but I thought that was fully resolved.
@pelson Thanks for the suggestion. I just installed libgfortran
using the following:
conda install -c https://conda.anaconda.org/openmdao libgfortran
but I still get the same error as before when trying to import windspharm.
The one provided by anaconda looks like v3 and the one on openmdao looks like v4.8 - you definitely need the v3 one (library not loaded ... libgfortran.3.dylib
).
@pelson Damn. A quick search on anaconda.org reveals that the anaconda channel has a package for libgfortran 3.0 but it is available for Linux only. The two packages that do work for osx are version 4.8.
If you have a working compiler, it might be worth getting hold of the conda recipe and building it yourself. I suspect it was built at the time of a problem with this gfortan library.
@ajdawson - interested in submitting the recipe to conda-forge?
This issue is related to difficulties in building portable binaries for osx from Fortran source code. It is incredibly difficult to convince gfortran to produce a statically linked object. However, I thought I had resolved this actually in build number 3. Can you let me know exactly which build you have installed?
I just downloaded build number 3 and tested this on OS X El Capitan and it works OK for me, the _spherepack.so file has no unexpected dynamic link dependencies (in particular it does not require libgfortran at all, only /usr/lib/libSystem.B.dylib which is normal).
We get the same error if we use conda install -c https://conda.anaconda.org/ioos windspharm to install it instead
This is an independent third party distribution which I have nothing to do with and can't support.
And to be clear, I'm referring to build number 3 of the pyspharm package, the package to which this issue actually refers.
@ajdawson - interested in submitting the recipe to conda-forge?
Not really right now. I don't want to create too many sources for binaries, it is already confusing with people going to the ioos channel for these and then reporting bugs in those builds directly to me. Eventually I might switch over, but perhaps coinciding with a new release so I can update the docs. Basically, I'd prefer one and only one official source.
@ajdawson I am shutting down the IOOS channel and submitting all the recipes to conda-forge. I already have them in the conda-forge "format." Would you mind if I submit them there adding you as a maintainer?
PS: @DamienIrving I know a workaround for the issue. Let me test it on conda-forge and I'll get back to you.
@ocefpaf - Can you tell me what the workaround is? I know that the major problem I had was statically linking libgcc, libgfortran, and most trickily libquadmath. Did you solve these in a better way than https://github.com/ajdawson/autobuild-conda-ajdawson? I could have sworn this shouldn't need a workaround as the latest builds should have fixed the issue, but if you know otherwise it'd be great to share so I can fix it in the ditribution I already maintain and people are actively using.
Can you tell me what the workaround is?
Using the default channel's gcc. That is untested with pyspharm
, but I it worked in another package that wrapped Fortran. See PR https://github.com/conda-forge/staged-recipes/pull/326.
@ajdawson How do I find out which build I have installed? If figured this page might tell me but it doesn't.
@DamienIrving he means the build number. That link is to a build service continuum offers to build the packages. I believe @ajdawson does not use that service. If you type:
> conda search --channel ajdawson windspharm
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ........
windspharm 1.3.1 np16py27_1 ajdawson
1.3.1 np17py27_1 ajdawson
1.3.1 np17py33_1 ajdawson
1.3.1 np18py27_1 ajdawson
1.3.1 np18py33_1 ajdawson
1.3.1 np18py34_1 ajdawson
1.3.1 np19py27_1 ajdawson
1.3.1 np19py33_1 ajdawson
1.3.1 np19py34_1 ajdawson
1.3.2 np16py27_1 ajdawson
1.3.2 np17py27_1 ajdawson
1.3.2 np17py33_1 ajdawson
1.3.2 np18py27_1 ajdawson
1.3.2 np18py33_1 ajdawson
1.3.2 np18py34_1 ajdawson
1.3.2 np19py27_1 ajdawson
1.3.2 np19py33_1 ajdawson
1.3.2 np19py34_1 ajdawson
1.4.0 py27_1 ajdawson
1.4.0 py33_1 ajdawson
1.4.0 py34_1 ajdawson
1.4.0 py35_1 ajdawson
you'll see the build in the third column. The last one, for example, is version 1.4.0 Python 35 build 1.
On closer inspection it seems that on my Mac the https://anaconda.org/ajdawson/windspharm package works fine (build 1.4.0 py27_1 ajdawson
), but the https://anaconda.org/ioos/windspharm package throws the error posted at the top of this issue (build 1.4.0 py27_0 ioos
).
@didiermonselesan gets the error for both the ajdawson and ioos packages, so we'll continue trying to figure out why we're getting this different behaviour (which is weird since we're both using El Capitan).
Can you try: conda install --channel conda-forge windspharm
I have tried conda install from the conda-forge repo, but I get the same error where the gfortran library referenced by spherepack.so points to a 4.9.1 compiled libgfortran.3.dylib with the wrong path rather than a 'compatible' 4.8.5 one with a right path. I could be naughty and try to fool 'spherepack.so', but I don't want to open a can of worm.
OK there is a lot of unnecessary confusion being added here. @DamienIrving @didiermonselesan - all I need you to do is issue the command conda list
in the environment where you are having the problems and paste the lines for pyspharm here. The problem is with the pyspharm package not windspharm.
Once I have this information we can begin to debug. I strongly suspect something is wrong with the installed pyspharm, as the latest version I shipped has no dependency on libgfortran. You could also try updating both windspharm and pyspharm to make sure you have the latest:
conda update -c ajdawson pyspharm windspharm
Please don't use the ioos channel for windspahrm+pyspharm, the packages are built for osx but many have never been tested. My ajdawson channel has been tested on all platforms and lots of work went into fixing the osx builds.
Can you try: conda install --channel conda-forge windspharm
I know you are trying to help @ocefpaf but doing this does not help us work out what the actual problem is and I'd like to sort this out for my own distribution channels instead of sending people back and forth in the hope of fixing something. Yet another source for packages is just adding to confusion which is why I didn't really want to have them on conda-forge in the first place.
Apologies for the unwanted attention here. I will no longer disturb this thread. Anyone interested in helping to sort out the conda-forge packaging please go to https://github.com/conda-forge/windspharm-feedstock/issues/1
Is this still a problem @didiermonselesan @DamienIrving?
@ajdawson Once we used your package as opposed to the IOOS one, the issue on my Mac was resolved. @didiermonselesan has a very complicated setup on his Mac, so we suspect that the error is highly unique to his situation. In the end I think he just switched to doing the analysis on the Linux machine.
@didiermonselesan Did you want to elaborate on what you think the problem was in the end, just in case someone contacts @ajdawson in future with a similar issue?
Andrew,
Andrew, I am still having a problem on one platform only (MacPro OS Yosemite), but it is probably because I had to install multiple versions of gcc for other packages (NCL, etc ...) , and these 'clash/interfere' with 'spherepack' so libraries at runtime. I have not had the time nor courage to sort it out yet on this particular platform.
Cheers, Didier From: Andrew Dawson notifications@github.com<mailto:notifications@github.com> Reply-To: ajdawson/windspharm reply@reply.github.com<mailto:reply@reply.github.com> Date: Wednesday, 27 April 2016 12:18 am To: ajdawson/windspharm windspharm@noreply.github.com<mailto:windspharm@noreply.github.com> Cc: Didier Monselesan Didier.Monselesan@csiro.au<mailto:Didier.Monselesan@csiro.au>, Mention mention@noreply.github.com<mailto:mention@noreply.github.com> Subject: Re: [ajdawson/windspharm] conda install broken on Mac (#66)
Is this still a problem @didiermonselesanhttps://github.com/didiermonselesan @DamienIrvinghttps://github.com/DamienIrving?
You are receiving this because you were mentioned. Reply to this email directly or view it on GitHubhttps://github.com/ajdawson/windspharm/issues/66#issuecomment-214760276
@ajdawson Both myself and @didiermonselesan get the following error after installing windspharm (via
conda install -c https://conda.anaconda.org/ajdawson windspharm
) on MacOS El Capitan:Any ideas?
(@didiermonselesan has no problem installing on Ubuntu 14.04 LTS) (We get the same error if we use
conda install -c https://conda.anaconda.org/ioos windspharm
to install it instead)