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

Makefile try to compile i3-config-wizard before i3-config-parser.stamp on many threads building #3670

Open
MarvelousBlack opened this Issue Mar 29, 2019 · 2 comments

Comments

Projects
None yet
3 participants
@MarvelousBlack
Copy link

commented Mar 29, 2019

I'm submitting a…

[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Current Behavior

A failure occurred in build

 GEN      man/i3-config-wizard.xml
  GEN      man/i3-migrate-config-to-v4.xml
  GEN      man/i3-sensible-editor.xml
  GEN      man/i3-sensible-pager.xml
  GEN      man/i3-sensible-terminal.xml
  GEN      man/i3-dump-log.xml
  GEN      man/i3-dmenu-desktop.1
  GEN      man/i3-save-tree.1
  GEN      docs/debugging.html
  GEN      docs/lib-i3test.html
  GEN      docs/lib-i3test-test.html
  GEN      docs/hacking-howto.html
  GEN      docs/userguide.html
../../i3/i3-config-wizard/main.c:109:10: fatal error: GENERATED_config_enums.h: No such file or directory
 #include "GENERATED_config_enums.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:2774: i3-config-wizard/i3_config_wizard-main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/i3-gaps-next-git/src/i3/build'
make: *** [Makefile:1332: all] Error 2
 

When building on many threads concurrently, the generated Makefile may try to compile i3-config-wizard before i3-config-parser.stamp and result an error where GCC cannot find the to-be-generated header file. This error happens at a low possibility

Expected Behavior

Successfully make without error.

Reproduction Instructions

autoreconf --force --install
../configure  --prefix=/usr  --sysconfdir=/etc  --disable-sanitizers 
make CPPFLAGS+="-U_FORTIFY_SOURCE" -j$(nproc)

In my environment $(nproc) is 24.

Environment

Output of i3 --moreversion 2>&-:

i3 version: Binary i3 version:  4.16.1-152-g767a6a52 (2019-03-28, branch "gaps-next") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.16.1-152-g767a6a52 (2019-03-28, branch "gaps-next") (pid 544)
Loaded i3 config: /home/marvelous/.config/i3/config (Last modified: Fri 29 Mar 2019 04:25:31 PM HKT, 8376 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3



Logfile URL:
- Linux Distribution & Version: Arch Linux
- Are you using a compositor (e.g., xcompmgr or compton):

@orestisf1993 orestisf1993 added technical and removed missing-log labels Mar 29, 2019

@i3 i3 deleted a comment from i3bot Mar 29, 2019

@orestisf1993

This comment has been minimized.

Copy link
Member

commented Mar 29, 2019

Can you please provide the full output of

autoreconf --force --install && mkdir -p build && cd build && ../configure  --prefix=/usr  --sysconfdir=/etc  --disable-sanitizers && make CPPFLAGS+="-U_FORTIFY_SOURCE" -j$(nproc) V=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.