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

Enable PowerPC #16

Merged
merged 54 commits into from
Jan 9, 2020
Merged

Enable PowerPC #16

merged 54 commits into from
Jan 9, 2020

Conversation

jaimergp
Copy link
Member

@jaimergp jaimergp commented Dec 19, 2019

Checklist

  • Used a fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@jaimergp jaimergp requested a review from simonbray as a code owner December 19, 2019 11:14
@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jaimergp
Copy link
Member Author

@conda-forge-admin, please rerender

recipe/meta.yaml Outdated Show resolved Hide resolved
@simonbray
Copy link
Member

simonbray commented Dec 19, 2019

Error: /bin/csh not found on your system! Install csh or tcsh and rerun configure.
I fixed this with the patch file included in the OSX PR.

@jaimergp
Copy link
Member Author

I managed to reproduce the NetCDF error locally. Attaching log here for reference.

netcdf_config.log

@jaimergp
Copy link
Member Author

Further local attempts have been frustrated by a problem during NetCDF compilation :/

config.log

@jaimergp
Copy link
Member Author

The netcdf-fortran folder contained a separate log (attached). All the relevant errors point to the same problem:

configure:5326: /home/conda/build_artifacts/ambertools_1576779864067/_build_env/bin/powerpc64le-conda_cos7-linux-gnu-gfortran -c -fPIC -fopenmp -mcpu=power8 -mtune=power8 -mpower8-fusion -mpower8-vector -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem /home/conda/build_artifacts/ambertools_1576779864067/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -fdebug-prefix-map=/home/conda/build_artifacts/ambertools_1576779864067/work=/usr/local/src/conda/ambertools-19.10 -fdebug-prefix-map=/home/conda/build_artifacts/ambertools_1576779864067/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place=/usr/local/src/conda-prefix -O3 -mtune=native -msse -mfpmath=sse -x f95 conftest.f90 >&5
f951: Error: unrecognized command line option '-msse'
f951: Error: unrecognized command line option '-mfpmath=sse'
configure:5326: $? = 1
configure: failed program was:
|       program main
|
|       end
configure:5335: result: unknown
configure:5338: error: Fortran could not compile .f90 files

It tries to use SSE in PowerPC, which is not available. It also overrides some flags already defined by the conda compilers (like mtune).

@simonbray
Copy link
Member

Maybe you could avoid compiling netcdf by including it as a dependency and using the --with-netcdf flag in the configure script?

@jaimergp
Copy link
Member Author

No ppc64le available for libnetcdf :( I'll have to submit a PR for that one too. Yay!

@jaimergp
Copy link
Member Author

Oh wait, defaults has it. Let me try! Thanks!

@jaimergp
Copy link
Member Author

Updates on my progress:

  • I had to patch AmberTools/src/configure2 to pass ppc64le manually to fftw-3.3 configuration. Some sse flag is still around and I couldn't find it, so for now, -nosse is being used - it shouldn't have an effect on ppc64le anyway
  • boost fails to build, resulting in two (unimportant?) programs not getting compiled

Ideally, we should patch AmberTools to use the external boost and fftw libraries (and maybe others?), but I am not familiar with their source and I don't even know where to begin.

@jaimergp
Copy link
Member Author

@conda-forge-admin, please restart ci

@simonbray
Copy link
Member

@conda-forge-admin, please restart ci

@jaimergp
Copy link
Member Author

I think that Travis error is unrelated to us. It might have to do with the domain? (.org vs .com)?

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-webservice.

I tried to re-render for you but ran into some issues, please ping conda-forge/core for further assistance. You can also try re-rendering locally.

@simonbray
Copy link
Member

Try merging this: jaimergp#1

MNT: Re-rendered with conda-build 3.18.11, conda-smithy 3.6.5, and co…
@jaimergp
Copy link
Member Author

jaimergp commented Jan 7, 2020

Thanks!

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

The MacOS error seems to be linked to ld (heh, see what I did there?), as commented in conda-forge/superlu_dist-feedstock#4 (comment) (see error). I'll follow their suggestion and pin ld in MacOS for now.

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

I think some configuration must be being ignored by the CMake system. I managed to get my OSX VM running again so I'll debug locally now. Thanks for the patience!

@simonbray
Copy link
Member

The OSX stuff can potentially be done in another PR if you prefer? You already did a lot more here than just PowerPC builds.

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

I'd be fine with that. Shall we merge into a different branch that uploads to a different label for now, or just straight to master?

@simonbray
Copy link
Member

I think straight to master is fine. What alternative label would you propose, if we did it that way?

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

testing_ambertools, probably. We used testing in openmm, but turns out other people had the same idea (ie, matplotlib), so if you use -c conda-forge/label/testing you will pull beta matplotlib packages too (accidentally, I presume). I wouldn't like to release a broken packages (imports and -h messages work ok, but we have no clue about the tests).

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

We can also wait and build locally for Linux to test the package, with no branches or labels involved. This might be even easier.

@simonbray
Copy link
Member

So far I just did a few tests locally. But I can see the advantage of testing a package that was built using the conda-forge infrastructure too. Either option is fine with me.

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

Did you use the Python script build-locally.py in Linux 64? That should be an exact reproduction of the CI environments thanks to the Docker images, so if you tested that, we should be good. If you used a different approach, maybe we should double check with the py script just in case.

@simonbray
Copy link
Member

Oh, to be clear, I was referring to the original recipe I wrote. I did not test this PR (yet - I can help a bit if you like).

@jaimergp
Copy link
Member Author

jaimergp commented Jan 8, 2020

In the meantime I keep testing OSX. I managed to reproduce the same error locally, and found other issue where they have the same (unsolved?) problem: AnacondaRecipes/aggregate#112

I tried setting the sysroot manually, but it has no effect. We need cc1 (available through gcc, but this is not compiled for osx)... might try with the old version?

@jaimergp
Copy link
Member Author

jaimergp commented Jan 9, 2020

I ran some tests locally for Linux 64 and seems to be ok. They are not exhaustive, but main components (cpptraj, antechamber, tleap) look ok! I say we can merge to master after disabling OSX here. I'll re-render in the next commit.

@simonbray simonbray merged commit 8506925 into conda-forge:master Jan 9, 2020
@simonbray
Copy link
Member

Thanks @jaimergp!

@jaimergp
Copy link
Member Author

jaimergp commented Jan 9, 2020

You are welcome!

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