[CMake] Fwd: [Bug 1199360] New: Parallel build of webkitgtk4 fails with cmake 3.2
Orion Poplawski
orion at cora.nwra.com
Thu Mar 5 22:40:02 EST 2015
If any cmakers out there could help take a look at this, I'd very much
appreciate it.
- Orion
-------- Forwarded Message --------
Subject: [Bug 1199360] New: Parallel build of webkitgtk4 fails with
cmake 3.2
Date: Fri, 06 Mar 2015 03:29:34 +0000
From: bugzilla at redhat.com
To: orion at cora.nwra.com
https://bugzilla.redhat.com/show_bug.cgi?id=1199360
Bug ID: 1199360
Summary: Parallel build of webkitgtk4 fails with cmake 3.2
Product: Fedora
Version: 22
Component: cmake
Severity: medium
Assignee: orion at cora.nwra.com
Reporter: mcatanzaro at gnome.org
QA Contact: extras-qa at fedoraproject.org
CC: helio at kde.org, jreznik at redhat.com, ltinkl at redhat.com,
orion at cora.nwra.com, pmachata at redhat.com,
rdieter at math.unl.edu
Description of problem: Parallel build of webkitgtk4 fails with cmake 3.2. I
wonder if it's a WebKit bug or a CMake bug.
Version-Release number of selected component (if applicable):
cmake-3.2.0-0.1.rc1.fc22
How reproducible: ...eh... always?
Steps to Reproduce:
1. Revert the latest commit to webkitgtk4 which disables parallel build
2. fedpkg build webkitgtk4
Actual results:
https://kojipkgs.fedoraproject.org//work/tasks/2915/9132915/build.log
The interesting part is this:
[ 15%] cd
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore
&& /usr/bin/perl
-I/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/bindings/scripts
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/makeprop.pl
--defines
" ENABLE_3D_RENDERING ENABLE_ACCELERATED_2D_CANVAS ENABLE_ACCESSIBILITY
ENABLE_CHANNEL_MESSAGING ENABLE_CONTEXT_MENUS
ENABLE_CSS_BOX_DECORATION_BREAK
ENABLE_CSS_IMAGE_SET ENABLE_CSS_REGIONS ENABLE_CSS_SELECTORS_LEVEL4
ENABLE_DETAILS_ELEMENT ENABLE_DRAG_SUPPORT ENABLE_FULLSCREEN_API
ENABLE_GEOLOCATION ENABLE_ICONDATABASE ENABLE_INPUT_TYPE_COLOR ENABLE_JIT
ENABLE_LEGACY_VENDOR_PREFIXES ENABLE_MATHML ENABLE_MEDIA_CONTROLS_SCRIPT
ENABLE_MEMORY_SAMPLER ENABLE_METER_ELEMENT ENABLE_MHTML
ENABLE_NAVIGATOR_HWCONCURRENCY ENABLE_NETSCAPE_PLUGIN_API
ENABLE_NETWORK_PROCESS ENABLE_NOTIFICATIONS ENABLE_PICTURE_SIZES
ENABLE_PROMISES ENABLE_REQUEST_ANIMATION_FRAME
ENABLE_SATURATED_LAYOUT_ARITHMETIC ENABLE_SPELLCHECK ENABLE_STREAMS_API
ENABLE_SVG_FONTS ENABLE_TEMPLATE_ELEMENT ENABLE_TOUCH_EVENTS
ENABLE_USERSELECT_ALL ENABLE_USER_MESSAGE_HANDLERS ENABLE_VIDEO
ENABLE_VIDEO_TRACK ENABLE_VIEW_MODE_CSS_MEDIA ENABLE_WEB_AUDIO
ENABLE_WEB_SOCKETS ENABLE_WEB_TIMING ENABLE_WEBGL ENABLE_XHR_TIMEOUT
ENABLE_XSLT ENABLE_PLUGIN_PROCESS_GTK2" --preprocessor "/usr/bin/c++ -E
-P -x
c++"
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
[ 15%] [ 15%] [ 15%] [ 15%] [ 15%] Generating
../../DerivedSources/WebCore/SelectorPseudoElementTypeMap.gperf,
../../DerivedSources/WebCore/SelectorPseudoElementTypeMap.cpp
[ 15%] CSSPropertyNames.gperf: The input file is empty!
calling gperf failed: 256 at
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/makeprop.pl line
1032.
Source/WebCore/CMakeFiles/WebCore.dir/build.make:155: recipe for target
'DerivedSources/WebCore/CSSPropertyNames.h' failed
make[2]: *** [DerivedSources/WebCore/CSSPropertyNames.h] Error 25
make[2]: *** Waiting for unfinished jobs...
Line 1032 of makeprop.pl:
system("\"$gperf\" --key-positions=\"*\" -D -n -s 2 CSSPropertyNames.gperf
--output-file=CSSPropertyNames.cpp") == 0 || die "calling gperf failed: $?";
So I guess CSSPropertyNames.gperf has not been built yet. Oh, but that
file is
built by makeprop.pl, beginning with line 113:
open GPERF, ">CSSPropertyNames.gperf" || die "Could not open
CSSPropertyNames.gperf for writing";
So it doesn't SEEM like a CMake dependency issue... but the script is a
mess to
read, and I can imagine it not working if CSSPropertyNames.in was not
properly
generated.
Now, in WebKit/Source/WebCore/CMakeLists.txt we have this:
# Generate CSS property names
add_custom_command(
OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in
${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h
${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp
${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf
${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp
${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.h
${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp
MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_PROPERTY_NAMES} >
${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts
${WEBCORE_DIR}/css/makeprop.pl --defines
"${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor
"${CODE_GENERATOR_PREPROCESSOR}"
VERBATIM)
list(APPEND WebCore_SOURCES
${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp)
list(APPEND WebCore_SOURCES
${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp
CSSValueKeywords.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp
CSSPropertyNames.h)
Simple, right? :p
And also:
set(WebCore_CSS_PROPERTY_NAMES
${WEBCORE_DIR}/css/CSSPropertyNames.in
)
...looks right? At least, I don't notice anything wrong there. But I do
notice
higher up in the build log:
[ 15%] [ 15%] [ 15%] Generating
../../DerivedSources/WebCore/CSSPropertyNames.in,
../../DerivedSources/WebCore/CSSPropertyNames.h,
../../DerivedSources/WebCore/CSSPropertyNames.cpp,
../../DerivedSources/WebCore/CSSPropertyNames.gperf,
../../DerivedSources/WebCore/StyleBuilder.cpp,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.h,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.cpp
cd
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore
&& /usr/bin/perl -ne print
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/CSSPropertyNames.in
>
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore/CSSPropertyNames.in
Generating ../../DerivedSources/WebCore/CSSPropertyNames.in,
../../DerivedSources/WebCore/CSSPropertyNames.h,
../../DerivedSources/WebCore/CSSPropertyNames.cpp,
../../DerivedSources/WebCore/CSSPropertyNames.gperf,
../../DerivedSources/WebCore/StyleBuilder.cpp,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.h,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.cpp
cd
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore
&& /usr/bin/perl -ne print
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/CSSPropertyNames.in
>
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore/CSSPropertyNames.in
Generating ../../DerivedSources/WebCore/CSSPropertyNames.in,
../../DerivedSources/WebCore/CSSPropertyNames.h,
../../DerivedSources/WebCore/CSSPropertyNames.cpp,
../../DerivedSources/WebCore/CSSPropertyNames.gperf,
../../DerivedSources/WebCore/StyleBuilder.cpp,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.h,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.cpp
cd
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore
&& /usr/bin/perl -ne print
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/CSSPropertyNames.in
>
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore/CSSPropertyNames.in
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
Generating ../../DerivedSources/WebCore/CSSPropertyNames.in,
../../DerivedSources/WebCore/CSSPropertyNames.h,
../../DerivedSources/WebCore/CSSPropertyNames.cpp,
../../DerivedSources/WebCore/CSSPropertyNames.gperf,
../../DerivedSources/WebCore/StyleBuilder.cpp,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.h,
../../DerivedSources/WebCore/StylePropertyShorthandFunctions.cpp
/usr/bin/cmake -E cmake_progress_report
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/CMakeFiles
cd
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore
&& /usr/bin/perl -ne print
/builddir/build/BUILD/webkitgtk-2.7.91/Source/WebCore/css/CSSPropertyNames.in
>
/builddir/build/BUILD/webkitgtk-2.7.91/x86_64-redhat-linux-gnu/DerivedSources/WebCore/CSSPropertyNames.in
Um, that command is run four times instead of once! And that is as far
as I've
gotten, but I guess that must be a CMake bug.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the CMake
mailing list