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

LIBPATH is used as dylib's path environment variable on AIX #109526

Merged
merged 3 commits into from
Apr 3, 2023

Conversation

bzEq
Copy link
Contributor

@bzEq bzEq commented Mar 23, 2023

@rustbot
Copy link
Collaborator

rustbot commented Mar 23, 2023

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Mar 23, 2023
@bzEq bzEq requested a review from bjorn3 March 28, 2023 03:00
@rustbot rustbot added the A-testsuite Area: The testsuite used to check the correctness of rustc label Mar 29, 2023
@@ -741,6 +741,9 @@ def build_bootstrap(self, color, verbose_count):
env["LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \
(os.pathsep + env["LIBRARY_PATH"]) \
if "LIBRARY_PATH" in env else ""
env["LIBPATH"] = os.path.join(self.bin_root(), "lib") + \
(os.pathsep + env["LIBPATH"]) \
if "LIBPATH" in env else ""
Copy link
Member

Choose a reason for hiding this comment

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

Seems OK to me - src/tools/cargo/crates/cargo-util/src/paths.rs also may want a similar change.

@Mark-Simulacrum
Copy link
Member

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Apr 2, 2023

📌 Commit d3cc2f7 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 2, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Apr 2, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 3, 2023
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#109526 (LIBPATH is used as dylib's path environment variable on AIX)
 - rust-lang#109642 (check for missing codegen backeng config)
 - rust-lang#109722 (Implement read_buf for RustHermit)
 - rust-lang#109856 (fix(middle): emit error rather than delay bug when reaching limit)
 - rust-lang#109868 (Improve PR job names in Github Actions preview)
 - rust-lang#109871 (Include invocation start times)
 - rust-lang#109873 (Move some UI tests into subdirectories)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 7192ef3 into rust-lang:master Apr 3, 2023
@rustbot rustbot added this to the 1.70.0 milestone Apr 3, 2023
bors added a commit to rust-lang/cargo that referenced this pull request May 25, 2023
fix: AIX searches dynamic libraries in `LIBPATH`.

### What does this PR try to resolve?

On IBM AIX machines people have encountered issues in `compiletest` and rustc's bootstrap builder. They haven't encountered any in cargo. This PR is made for avoiding potential failures in the future in cargo.

It's documented in <https://www.ibm.com/support/pages/libpath-environment-variables-aix-platforms>:

> The `LIBPATH` environment variable tells AIX applications where to find shared libraries when located in a different directories than those specified in the header section of the executable.

See also the counterpart in <rust-lang/rust#109526>

### How to verify and test this in Cargo's CI?

This is indeed an issue. At IBM people are maintaining a buildbot since GitHub Action doesn't support AIX yet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants