Bug 152547

Summary: [CMake] webp/decode.h missing, make stops building
Product: WebKit Reporter: Jacek Rużyczka <stacheldraht>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Blocker CC: achristensen, bugs-noreply, mcatanzaro, mrobinson
Priority: P2    
Version: WebKit Local Build   
Hardware: PC   
OS: Linux   

Jacek Rużyczka
Reported 2015-12-24 05:51:39 PST
After several hours of building (cmake -DPORT=GTK, then make) at 62% progress I get this error message: In file included from /home/jacek/bin/webkitgtk-2.10.4/Source/WebCore/platform/image-decoders/ImageDecoder.cpp:32:0: /home/jacek/bin/webkitgtk-2.10.4/Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h:36:25: fatal error: webp/decode.h: Datei oder Verzeichnis nicht gefunden compilation terminated. Source/WebCore/CMakeFiles/WebCore.dir/build.make:60081: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/platform/image-decoders/ImageDecoder.cpp.o' failed make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/platform/image-decoders/ImageDecoder.cpp.o] Error 1 CMakeFiles/Makefile2:638: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/all' failed make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2 In fact, decode.h is missing in webp/. This bug has been already described at https://github.com/rs/SDWebImage/issues/544 (but not in conjunction with WebKitGtk). Where can I get the missing header file? Or can I build WebKitGtk without webp support (as it's for displaying intranet pages which don't contain any webp pics)? Thank you for any useful hints!
Attachments
Michael Catanzaro
Comment 1 2015-12-24 12:53:19 PST
Source/cmake/OptionsGTK.cmake has code to fail the build if libwebp is not installed, and Source/cmake/FindWebP.cmake is pretty simple, so I don't see what could have gone wrong here. If you want to help debug our build system, you could add message() statements in FindWebP.cmake to print out what it's doing. Somehow, WEBP_FOUND is being defined even though you are missing the header file. One (unlikely) possibility is that you somehow have libwebp.pc but not webp/decode.h. Can you please post the output of 'pkg-config --cflags --libs libwebp'? (In reply to comment #0) > Where can I get the missing header file? It's not optional, so you'll want to install libwebp: http://pkgs.org/search/libwebp
Jacek Rużyczka
Comment 2 2015-12-24 13:12:48 PST
jacek@veteran:~/bin/webkitgtk-2.10.4 $ pkg-config --cflags --libs libwebp -lwebp What I did in the meantime, was to install libpweb-devel from YaST, which solved the problem. However, the absence of the libwebp header files should have made the cmake process fail, but it only generated a warning. Apparently I did not have the .pc file on my system before as it came with libwebp-devel.
Michael Catanzaro
Comment 3 2015-12-25 18:59:34 PST
(In reply to comment #2) > jacek@veteran:~/bin/webkitgtk-2.10.4 $ pkg-config --cflags --libs libwebp > -lwebp > > What I did in the meantime, was to install libpweb-devel from YaST, which > solved the problem. However, the absence of the libwebp header files should > have made the cmake process fail, but it only generated a warning. Did you get a copy of the warning? I don't see how the build could proceed unless WEBP_FOUND is true.
Jacek Rużyczka
Comment 4 2015-12-26 06:13:16 PST
Im afraid I ain't got the messages from cmake any more, but I can remember I got the warning that WEBP was not found on my system (but I can't really remember the exact wording). What I can give you, is the file list of the libwebp-devel package I had to install (after which the make process went fine): jacek@veteran:~ $ rpm -ql libwebp-devel /usr/include/webp /usr/include/webp/decode.h /usr/include/webp/demux.h /usr/include/webp/encode.h /usr/include/webp/mux.h /usr/include/webp/mux_types.h /usr/include/webp/types.h /usr/lib64/libwebp.so /usr/lib64/libwebpdemux.so /usr/lib64/libwebpmux.so /usr/lib64/pkgconfig/libwebp.pc /usr/lib64/pkgconfig/libwebpdemux.pc /usr/lib64/pkgconfig/libwebpmux.pc
Jacek Rużyczka
Comment 5 2015-12-27 05:16:15 PST
I'm sorry that I don't have the original warning any more. It sounded somehow like "WEBP not found". Here is the output you wanted AFTER installing libwebp-devel: jacek@veteran:~ $ pkg-config --cflags --libs libwebp -lwebp And here the contents of the libwebkit-sharp package which solved my problem: jacek@veteran:~ $ rpm -ql libwebp-devel /usr/include/webp /usr/include/webp/decode.h /usr/include/webp/demux.h /usr/include/webp/encode.h /usr/include/webp/mux.h /usr/include/webp/mux_types.h /usr/include/webp/types.h /usr/lib64/libwebp.so /usr/lib64/libwebpdemux.so /usr/lib64/libwebpmux.so /usr/lib64/pkgconfig/libwebp.pc /usr/lib64/pkgconfig/libwebpdemux.pc /usr/lib64/pkgconfig/libwebpmux.pc
Michael Catanzaro
Comment 6 2015-12-27 08:13:15 PST
I don't know how to fix the find module. I think the call to find_package_standard_args is supposed to fail, but it's not happening.
Note You need to log in before you can comment on or make changes to this bug.