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

only set wrapper args for cross compilation, keeping subset of LDFLAGS necessary for sysroot < 2.17 #159

Merged
merged 10 commits into from
Jun 13, 2024

Conversation

minrk
Copy link
Member

@minrk minrk commented Jun 8, 2024

defaults are not likely to be wrong for native compilation, don't mess with them, I think #158 went a bit too far.

and don't passthrough $LDFLAGS, etc. from compiler activation, set the actual correct values from the wrappers with the right prefix.

closes #163

defaults are not likely to be wrong for native compilation, don't mess with them

and don't passthrough $LDFLAGS, etc., set the actual correct values from the wrappers with the right prefix
@conda-forge-webservices
Copy link
Contributor

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.

@minrk

This comment was marked as outdated.

minrk added 4 commits June 8, 2024 19:31
updates c_stdlib reliably
appears to be required for proper sysroot linkage on linux

but these don't belong in the compiler wrappers themselves
fixes glibc lookup when building dependents with sysroot 2.12

avoids need for excessive flags in test env
@@ -23,6 +24,9 @@ fi
build_with_ucx=""
if [[ "$target_platform" == linux-* ]]; then
build_with_ucx="--with-ucx=$PREFIX"
# allow-shlib-undefined required for dependencies to link against older sysroot
# avoids undefined
wrapper_ldflags="${wrapper_ldflags} -Wl,--allow-shlib-undefined"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually the change needed to keep downstream packages from running into the glibc version, as verified by the fact that the tests still pass and still run with 3.12, and do not pass the conda-forge $LDFLAGS.

This change should actually fix #143

@minrk minrk changed the title only set wrapper args for cross compilation only set wrapper args for cross compilation, fix default LDFLAGS for sysroot < 2.17 Jun 10, 2024
@minrk
Copy link
Member Author

minrk commented Jun 12, 2024

I'd really like to land this to unbreak things caused by #158. If folks are still uncomfortable with including the link flag from $LDFLAGS, I can remove it and isolate that to its own PR.

@minrk minrk mentioned this pull request Jun 13, 2024
5 tasks
bash is the only shell that will take these steps,
but it won't be the only shell to process the file as a whole
@minrk
Copy link
Member Author

minrk commented Jun 13, 2024

I will merge this today unless there are objections, to prevent more conflicts like #162, since all questions raised so far have been addressed. To reiterate, this PR applies a strict subset of flags than the currently published build, it does not add any. It's just that one (the one that's necessary for building in conda-forge default environments) is now called out by name.

@minrk minrk changed the title only set wrapper args for cross compilation, fix default LDFLAGS for sysroot < 2.17 only set wrapper args for cross compilation, keeping subset of LDFLAGS necessary for sysroot < 2.17 Jun 13, 2024
@minrk minrk merged commit 7d9fb9d into conda-forge:main Jun 13, 2024
10 checks passed
@minrk minrk deleted the activate-flags branch June 13, 2024 19:45
rapids-bot bot pushed a commit to rapidsai/cugraph that referenced this pull request Jun 27, 2024
fixes #4474 

#4496 and related PRs introduced a ceiling on `openmpi`, a dependency that's only pulled in at test time, because `cugraph`'s builds were struggling to find it.

This proposes removing that pin, as the fixes in conda-forge/openmpi-feedstock#159 should allow the package to again be found by e.g. `find_package(MPI)` in CMake scripts.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Ray Douglass (https://github.com/raydouglass)

URL: #4496
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.

2 participants