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

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

Closed
assignUser opened this issue Jan 8, 2024 · 1 comment · Fixed by #39522
Closed

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

assignUser opened this issue Jan 8, 2024 · 1 comment · Fixed by #39522

Comments

@assignUser
Copy link
Member

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

@assignUser
Copy link
Member Author

We actually don't set -j for the jemalloc ep. We can do that for the Make generator though as the issues shown in #2779 seem to no longer apply (the warning is gone and the build works fine)

assignUser added a commit that referenced this issue Jan 9, 2024
…9522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: #39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
@assignUser assignUser added this to the 15.0.0 milestone Jan 9, 2024
raulcd pushed a commit that referenced this issue Jan 9, 2024
…9522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: #39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
assignUser added a commit that referenced this issue Jan 9, 2024
…9522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: #39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
clayburn pushed a commit to clayburn/arrow that referenced this issue Jan 23, 2024
…ct (apache#39522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: apache#39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
dgreiss pushed a commit to dgreiss/arrow that referenced this issue Feb 19, 2024
…ct (apache#39522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: apache#39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this issue Feb 28, 2024
…ct (apache#39522)

### Rationale for this change

With CMake > 3.28 the generated Makefile fails on the jemalloc_ep due to 'bad file descriptor'.

### What changes are included in this PR?

For a sequential build for jemalloc by setting -j1.

### Are these changes tested?

CI

### Are there any user-facing changes?

No.
* Closes: apache#39517

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant