WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 195251
[GTK] No rule to make target 'JavaScriptCore-4.0.gir'
https://bugs.webkit.org/show_bug.cgi?id=195251
Summary
[GTK] No rule to make target 'JavaScriptCore-4.0.gir'
Alberto Garcia
Reported
2019-03-02 15:54:55 PST
This error happens if you try to build WebKitGTK with make -j1 (I'm using plain cmake, without ninja): make -f Source/WebKit/CMakeFiles/WebKit2WebExtension-4-gir.dir/build.make Source/WebKit/CMakeFiles/WebKit2WebExtension-4-gir.dir/build make[3]: Entering directory '/tmp/webkit2gtk-2.22.7/obj-x86_64-linux-gnu' make[3]: *** No rule to make target 'JavaScriptCore-4.0.gir', needed by 'WebKit2-4.0.gir'. Stop. make[3]: Leaving directory '/tmp/webkit2gtk-2.22.7/obj-x86_64-linux-gnu' make[2]: *** [CMakeFiles/Makefile2:1605: Source/WebKit/CMakeFiles/WebKit2WebExtension-4-gir.dir/all] Error 2 make[2]: Leaving directory '/tmp/webkit2gtk-2.22.7/obj-x86_64-linux-gnu' make[1]: *** [CMakeFiles/Makefile2:203: Source/CMakeFiles/gir.dir/rule] Error 2 make[1]: Leaving directory '/tmp/webkit2gtk-2.22.7/obj-x86_64-linux-gnu' make: *** [Makefile:215: gir] Error 2 There's indeed to no rule to generate JavaScriptCore-4.0.gir directly, but you can do 'make JavaScriptCore-4-gir', so I guess there's a wrong/missing rule on the CMake files?
Attachments
Patch
(1.45 KB, patch)
2019-03-02 16:28 PST
,
Alberto Garcia
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Alberto Garcia
Comment 1
2019-03-02 16:28:18 PST
Created
attachment 363436
[details]
Patch
Alberto Garcia
Comment 2
2019-03-02 16:33:07 PST
Comment on
attachment 363436
[details]
Patch Sorry for the noise, this patch doesn't fix the build
Alberto Garcia
Comment 3
2019-03-08 03:04:28 PST
This is maybe pure chance, but this reportedly doesn't happen when using cmake with ninja (although the failure with make was reproduced with 2.22.7 and the success with ninja with 2.23.92, so it can also be due to changes in the cmake files themselves).
Дилян Палаузов
Comment 4
2019-06-06 02:50:02 PDT
The workaround is to go in $(top_builddir)/Source/JavaScriptCore and type `make`. Then go back to $(top_builddir) and type there `make` to complete the build. This was a problem also with 2.24.1. I use cmake 3.13.2. Ninja might get it rigth, if the total order is by chance different. It looks to me that JavaScriptCore-4.0.gir is a side-product of building something different, e.g. JavaScriptCore, but it cannot be build on its own as target. I do not understand cmake to help with patches. Note, that JavaScriptCore-4.0 JavaScriptCore-4.0 and WebKit2WebExtension-4.0 gir and typelib are in $(top_builddir) and not in subdirectories.
Alberto Garcia
Comment 5
2019-06-06 03:01:04 PDT
(In reply to Дилян Палаузов from
comment #4
)
> It looks to me that JavaScriptCore-4.0.gir is a side-product of > building something different
That is correct, and that's why everything works most of the time.
> e.g. JavaScriptCore, but it cannot be build on its own as target.
There is the JavaScriptCore-4-gir target which creates that file, but I think there's a dependency missing (or with the wrong name) somewhere. With the patch on
comment #1
I tried a quick fix by giving the target the same name as the file, but that did not fix the build. I haven't investigated it properly in order to find the exact solution and my knowledge of CMake is very basic.
Michael Catanzaro
Comment 6
2019-06-06 07:32:01 PDT
There's no spelling error. Source/JavaScriptCore/PlatformGTK.cmake creates ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir and Source/WebKit/PlatformGTK.cmake depends on ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir, which is identical. LGTM.
Дилян Палаузов
Comment 7
2019-06-06 07:43:20 PDT
Afrer `rm $(top_builddir)/JavaScriptCore-4.0.gir`, `make -C $(top_builddir)/JavaScriptCore-4.0.gir` fails with “make: *** No rule to make target 'JavaScriptCore-4.0.gir'. Stop.”
Дилян Палаузов
Comment 8
2019-06-06 12:03:42 PDT
`make JavaScriptCore-4-gir` does generate JavaScriptCore-4.0.gir.
Cédric Bellegarde
Comment 9
2020-02-15 07:15:51 PST
Happening here with last WebKitGTK release in a LXC container.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug