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

Parallel build problem #766

Closed
AMDmi3 opened this issue Mar 29, 2020 · 7 comments
Closed

Parallel build problem #766

AMDmi3 opened this issue Mar 29, 2020 · 7 comments

Comments

@AMDmi3
Copy link
Contributor

AMDmi3 commented Mar 29, 2020

ISSUE TYPE

  • Bug Report

GEEQIE VERSION

1.5.1

OS / DISTRIBUTION

FreeBSD

SUMMARY

Parallel build failure was reported on FreeBSD. Couldn't reproduce it, but as always with parallel build issues it's dependent on a lot of things.

The cause seem to be in src/gq-marshal.{c,h} generation:

geeqie/src/Makefile.am

Lines 304 to 308 in 92b4e3e

gq-marshal.h: gq-marshal.list
$(GLIB_GENMARSHAL) --prefix=gq_marshal $(srcdir)/gq-marshal.list --header >$@
gq-marshal.c: gq-marshal.list gq-marshal.h
(echo "#include \"gq-marshal.h\"" ; $(GLIB_GENMARSHAL) --prefix=gq_marshal $(srcdir)/gq-marshal.list --body ) >$@

These files must be generated before compiling any sources which reference them, but it doesn't seem to be the case.

STEPS TO REPRODUCE

Try to build geeqie with certain (unknown) number of jobs.

@AMDmi3
Copy link
Contributor Author

AMDmi3 commented Mar 29, 2020

It has been confirmed that my mitigation of this problem, by building gq-marshal.c before the normal build, works.

@caclark
Copy link
Collaborator

caclark commented Apr 3, 2020

I am a bit confused... has this been solved elsewhere or is there something that needs doing here to fix this?

@AMDmi3
Copy link
Contributor Author

AMDmi3 commented Apr 3, 2020

It needs to be fixed here, I've just described a hack I've used to patch it in FreeBSD ports.

@caclark
Copy link
Collaborator

caclark commented Apr 5, 2020

@caclark caclark closed this as completed Apr 5, 2020
@AMDmi3
Copy link
Contributor Author

AMDmi3 commented Apr 5, 2020

Thanks, will ask original submitter to test since I cannot reproduce the problem. Btw, it could be more correct to depend on gq-marshal.h here.

@caclark
Copy link
Collaborator

caclark commented Apr 6, 2020

be more correct to depend on gq-marshal.h here.

Thanks.

Fixed in commit:
http://www.geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commit;h=55ed33bc10771ae7e2929d643cfcedaa8a7f7a27

@AMDmi3
Copy link
Contributor Author

AMDmi3 commented Apr 6, 2020

I've discovered a way to reproduce the problem by adding sleep 1 to gq-marshal.h and gq-marshal.c targets. Either of your changes fixes it, thanks again!

mowgli pushed a commit that referenced this issue May 28, 2020
mowgli pushed a commit that referenced this issue May 28, 2020
#766

Depend on .h not on .o
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

No branches or pull requests

2 participants