Bug 245267

Summary: 2.37.91: build fails
Product: WebKit Reporter: Tomasz Kłoczko <kloczko.tomasz>
Component: Web Template FrameworkAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   

Description Tomasz Kłoczko 2022-09-16 00:28:43 PDT
Looks like in cmake there is no checking for pkgconfig(systend) and by this build fails with

[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ make
/usr/bin/cmake -P /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/CMakeFiles/VerifyGlobs.cmake
/usr/bin/cmake -S/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91 -B/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/CMakeFiles /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make  -f Source/WTF/wtf/CMakeFiles/WTF.dir/build.make Source/WTF/wtf/CMakeFiles/WTF.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91 /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/Source/WTF/wtf /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/Source/WTF/wtf/CMakeFiles/WTF.dir/DependInfo.cmake --color=
Consolidate compiler generated dependencies of target WTF
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make  -f Source/WTF/wtf/CMakeFiles/WTF.dir/build.make Source/WTF/wtf/CMakeFiles/WTF.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
[  0%] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/ASCIICType.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/Source/WTF/wtf && /usr/bin/g++ -DBUILDING_GTK__=1 -DBUILDING_WITH_CMAKE=1 -DBUILDING_WTF -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKit2GTK-5.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DPAS_BMALLOC=1 -DUSER_AGENT_BRANDING=\"G2V\" -DWEBKITGTK_API_VERSION_STRING=\"5.0\" -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/WTF/DerivedSources -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/dtoa -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/persistence -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/text -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/text/icu -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/threads -I/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/unicode -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/ICU/Headers -Wextra -Wall -pipe -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fno-exceptions -fno-strict-aliasing -fno-exceptions -fno-rtti -DNDEBUG -fPIC -fvisibility=hidden -std=c++20 -MD -MT Source/WTF/wtf/CMakeFiles/WTF.dir/ASCIICType.cpp.o -MF CMakeFiles/WTF.dir/ASCIICType.cpp.o.d -o CMakeFiles/WTF.dir/ASCIICType.cpp.o -c /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/ASCIICType.cpp
In file included from /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/StdLibExtras.h:33,
                 from /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/FastMalloc.h:26,
                 from /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/config.h:31,
                 from /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/ASCIICType.cpp:25:
/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/WTF/wtf/Assertions.h:56:10: fatal error: systemd/sd-journal.h: No such file or directory
   56 | #include <systemd/sd-journal.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Source/WTF/wtf/CMakeFiles/WTF.dir/build.make:79: Source/WTF/wtf/CMakeFiles/WTF.dir/ASCIICType.cpp.o] Error 1
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:443: Source/WTF/wtf/CMakeFiles/WTF.dir/all] Error 2
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
Comment 1 Tomasz Kłoczko 2022-09-16 00:44:04 PDT
Correction: issue is with icu

[ 10%] Built target Bytecodes
make  -f Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/build.make Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91 /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/Source/JavaScriptCore /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/Source/JavaScriptCore /home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu/Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make  -f Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/build.make Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make[2]: *** No rule to make target 'ICU_DATA_LIBRARY-NOTFOUND', needed by 'bin/LLIntSettingsExtractor'.  Stop.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:576: Source/JavaScriptCore/CMakeFiles/LLIntSettingsExtractor.dir/all] Error 2
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu'


[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ cmake -L | grep ICU
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


CMake Error: The source directory "/home/tkloczko/rpmbuild/BUILD/webkitgtk-2.37.91/x86_64-redhat-linux-gnu" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
ICU_DATA_LIBRARY:FILEPATH=ICU_DATA_LIBRARY-NOTFOUND
ICU_I18N_LIBRARY:FILEPATH=ICU_I18N_LIBRARY-NOTFOUND
ICU_UC_LIBRARY:FILEPATH=ICU_UC_LIBRARY-NOTFOUND
USE_APPLE_ICU:BOOL=ON
[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ rpm -q libicu-devel
libicu-devel-71.1-2.g2v.x86_64

[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ rpm -ql libicu-devel | grep /lib.*.so$
/usr/lib64/libicudata.so
/usr/lib64/libicui18n.so
/usr/lib64/libicuio.so
/usr/lib64/libicutest.so
/usr/lib64/libicutu.so
/usr/lib64/libicuuc.so
[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ rpm -ql libicu-devel | grep /lib.*pkgconfig
/usr/lib64/pkgconfig/icu-i18n.pc
/usr/lib64/pkgconfig/icu-io.pc
/usr/lib64/pkgconfig/icu-uc.pc
Comment 2 Tomasz Kłoczko 2022-09-16 01:14:01 PDT
After swithicng to USE_APPLE_ICU=OFF it looks like it builds however if it is pure Mac option this should be checked only under Mac.

Looks like logic of that option changed because I've reused rpm spec file from 2.36.5.
Comment 3 Radar WebKit Bug Importer 2022-09-23 00:29:17 PDT
<rdar://problem/100312957>