Skip to content

[R][C++] CMake 3.28.1 -GMake causes jemalloc subbuild to fail #39517

@assignUser

Description

@assignUser

Describe the bug, including details regarding any error messages, version, and platform.

example: https://github.com/ursacomputing/crossbow/actions/runs/7453016603/job/20277503723

  Command failed: 2

   '/usr/bin/make'

  See also

    /tmp/Rtmpa4vfxA/file2b50116ca44a/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-build-*.log


CMake Error at /tmp/Rtmpa4vfxA/file2b50116ca44a/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-build-RELEASE.cmake:47 (message):
  Stopping after outputting logs.


-- stdout output is:

-- stderr output is:
make[3]: *** read jobs pipe: Bad file descriptor.  Stop.
make[3]: *** Waiting for unfinished jobs....

make[2]: *** [CMakeFiles/jemalloc_ep.dir/build.make:86: jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:957: CMakeFiles/jemalloc_ep.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

This doesn't happen with cmake < 3.28 and seems to be caused by make parallelism failing. I tried to reproduce in a reprex but wasn't able to, it seems the complexity/number of jobs in the arrow build system is necessary to trigger the job.
The jemalloc external project sets -j 1 so maybe the new cmake version overrides that with the project value? (running the super project with -j 1 works)

A workaround is using ninja.

Component(s)

C++, R

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions