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 ppc64le #9

Merged
merged 4 commits into from
Aug 2, 2024
Merged

Enable ppc64le #9

merged 4 commits into from
Aug 2, 2024

Conversation

xylar
Copy link
Contributor

@xylar xylar commented Jul 31, 2024

This should be possible now that support for ppc64le has been re-enabled for libgdal
conda-forge/gdal-feedstock#968

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • 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.

This should be possible now that support for ppc64le has been
re-enabled for libgdal
conda-forge/gdal-feedstock#968
@xylar xylar requested review from chambbj and hobu as code owners July 31, 2024 06:04
@conda-forge-webservices
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/meta.yaml) and found it was in an excellent condition.

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@conda-forge-admin, please rerender

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

Hmm, seeing:

-- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++
-- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ - broken
CMake Error at /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:73 (message):
  The C++ compiler

    "/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/bin/x86_64-conda-linux-gnu-c++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/work/native/CMakeFiles/CMakeScratch/TryCompile-sWZhBa'
    
    Run Build Command(s): /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/bin/ninja -v cmTC_fabad
    [1/2] /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/bin/x86_64-conda-linux-gnu-c++   -fvisibility-inlines-hidden -fmessage-length=0 -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/work=/usr/local/src/conda/libpdal-core-2.7.2 -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env=/usr/local/src/conda-prefix -D_LIBCPP_DISABLE_AVAILABILITY -o CMakeFiles/cmTC_fabad.dir/testCXXCompiler.cxx.o -c /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/work/native/CMakeFiles/CMakeScratch/TryCompile-sWZhBa/testCXXCompiler.cxx
    FAILED: CMakeFiles/cmTC_fabad.dir/testCXXCompiler.cxx.o 
    /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/bin/x86_64-conda-linux-gnu-c++   -fvisibility-inlines-hidden -fmessage-length=0 -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/work=/usr/local/src/conda/libpdal-core-2.7.2 -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/_build_env=/usr/local/src/conda-prefix -D_LIBCPP_DISABLE_AVAILABILITY -o CMakeFiles/cmTC_fabad.dir/testCXXCompiler.cxx.o -c /home/conda/feedstock_root/build_artifacts/libpdal-core_1722406127865/work/native/CMakeFiles/CMakeScratch/TryCompile-sWZhBa/testCXXCompiler.cxx
    cc1plus: error: bad value 'power8' for '-mtune=' switch
    cc1plus: note: valid arguments to '-mtune=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm intel x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 generic native
    ninja: build stopped: subcommand failed.
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:8 (project)

@hobu, do you recall if that is what you saw in conda-forge/pdal-feedstock#251, which led you to disable ppc64le or if it was an upstream dependency (libgdal, most likely)?

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@conda-forge-admin, please rerender

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

The easiest solution for now is probably not to cross-compile ppc64le. It seems a few other feedstocks are seeing this problem:
conda-forge/tensorstore-feedstock#34
conda-forge/qt-main-feedstock#76
conda-forge/cargo-c-feedstock#10

It's an issue with the wrong compiler being used (see comment conda-forge/cargo-c-feedstock#10 (comment)) but tracking down why is beyond my skills.

@h-vetinari
Copy link
Member

-- Check for working CXX compiler: $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++
                                                     ^^^^^^

this is the wrong compiler, which sounds like a configuration issue, but I cannot see what happened before the force push.

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@h-vetinari, the only thing that I took out in the force push was a previous rerender. The only change I have made since getting the error was the commit to switch to building natively rather than cross-compiling.

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

But understood, the link to the Azure build is gone and I don't see an easy way to find it.

@h-vetinari
Copy link
Member

But understood, the link to the Azure build is gone and I don't see an easy way to find it.

Yeah, this is annoying. They should be kept at least for a day or so, even for cancelled builds. In any case, if you manage to make things work with native emulated compilation (which is going to be ~5-6x slower), then go for it. Just saying that the cross-compilation issues can probably be fixed.

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@h-vetinari, if you're willing to have a look, I'll be happy to switch back.

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@conda-forge-admin, please rerender

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

@h-vetinari, awesome, thanks! 🤞🏻

recipe/build.sh Outdated Show resolved Hide resolved
@h-vetinari
Copy link
Member

This is currently running into conda/conda-build#5403 due to

conda_build:
error_overlinking: true

You can either wait for the imminent conda-build 24.7 to be released, or add something like

    build:
      # due to https://github.com/conda/conda-build/issues/5403
      overlinking_ignore_patterns:  # [ppc64le]
        - "**"                      # [ppc64le]

@xylar
Copy link
Contributor Author

xylar commented Jul 31, 2024

Thanks @h-vetinari! I'm not a maintainer here so I'll leave it up to @hobu and @chambbj what you want to do. Feel free to push updates to my branch.

@hobu
Copy link
Contributor

hobu commented Jul 31, 2024

wait for the imminent conda-build 24.7 to be released,

We can wait

@hobu
Copy link
Contributor

hobu commented Aug 2, 2024

It looks like conda build 24.7.1 has been released, but I wonder if there will be a lag before that is integrated into conda-forge infrastructure? Or are we clear to merge this now?

@xylar
Copy link
Contributor Author

xylar commented Aug 2, 2024

Conda-forge seems to already be using 24.7.1. See this log from earlier today as an example:
https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/993156/logs/10

@xylar
Copy link
Contributor Author

xylar commented Aug 2, 2024

CI passed so I think you're good to go!

@hobu hobu merged commit aa5ec89 into conda-forge:main Aug 2, 2024
8 checks passed
@xylar xylar deleted the enable-ppc64le branch August 2, 2024 13:43
@xylar
Copy link
Contributor Author

xylar commented Aug 2, 2024

Thanks @hobu!

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.

3 participants