Skip to content

Fix Automake missing .Plo dependency error in efa-dp-direct fixes #1353 - #1356

Open
ryanhankins wants to merge 1 commit into
aws:masterfrom
ryanhankins:fix_aws_ofi_nccl_efa_build
Open

Fix Automake missing .Plo dependency error in efa-dp-direct fixes #1353#1356
ryanhankins wants to merge 1 commit into
aws:masterfrom
ryanhankins:fix_aws_ofi_nccl_efa_build

Conversation

@ryanhankins

@ryanhankins ryanhankins commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Use a relative path instead of the $(top_srcdir) variable for libefa_cuda_dp_la_SOURCES in src/Makefile.am.

When HAVE_GDAKI evaluates to false, Automake correctly skips building the libefa_cuda_dp.la library. However, due to a known Automake bug involving subdir-objects combined with $(top_srcdir), config.status fails to generate the dummy empty .deps/*.Plo dependency files for the skipped sources.

Because the generated Makefile still unconditionally includes these .Plo files, the missing file causes make to fail with a "No rule to make target 'libefa_cuda_dp_la-efa_cuda_dp.Plo'" error. Switching to a relative path bypasses this Automake bug, allowing config.status to calculate paths properly and generate the dummy dependency files, resolving the build error without breaking out-of-tree (VPATH) builds.

Issue #, if available:

#1353

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ryanhankins
ryanhankins requested a review from a team as a code owner August 14, 2026 20:33
@avivbenchorin

Copy link
Copy Markdown
Contributor

bot:aws:retest

Use a relative path (../) instead of the $(top_srcdir) variable for
libefa_cuda_dp_la_SOURCES in src/Makefile.am.

When HAVE_GDAKI evaluates to false, Automake correctly skips building
the libefa_cuda_dp.la library. However, due to a known Automake bug
involving subdir-objects combined with $(top_srcdir), config.status
fails to generate the dummy empty .deps/*.Plo dependency files for the
skipped sources.

Because the generated Makefile still unconditionally includes these .Plo
files, the missing file causes `make` to fail with a "No rule to make
target '.../libefa_cuda_dp_la-efa_cuda_dp.Plo'" error. Switching to a
relative path bypasses this Automake bug, allowing config.status to
calculate paths properly and generate the dummy dependency files,
resolving the build error without breaking out-of-tree (VPATH) builds.

Signed-off-by: Ryan Hankins <ryan.hankins@hpe.com>
@avivbenchorin
avivbenchorin force-pushed the fix_aws_ofi_nccl_efa_build branch from 26c9540 to 45edd15 Compare August 14, 2026 23:00
@ryanhankins

Copy link
Copy Markdown
Contributor Author

Thank you for looking at this. This will block 1.21.0 for us (in case that wasn't obvious).

@bwbarrett

Copy link
Copy Markdown
Contributor

Thank you for looking at this. This will block 1.21.0 for us (in case that wasn't obvious).

Why? The release tarballs should all be built with AM 1.16.5, which won't have the bug. We weren't intending to pull this into the 1.21.0 release, but perhaps we missed an impact issue.

@vidsouza

Copy link
Copy Markdown
Collaborator

bot:aws:retest

@ryanhankins

Copy link
Copy Markdown
Contributor Author

We are currently building off the --branch from a git clone. It probably would be wise to build from the released tarball instead. I'll check and see if that works.

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