invitation: try compiling kdelibs using cmake

Winfried winfried_mb2 at casema.nl
Sat Jan 28 22:41:49 CET 2006


Ok, kdelibs compiled ok for me with cmake on Suse10.0 32bit.

The only change I had to make was adding the png library after getting the 
error below while compiling khtml.

kde4 at linux:~/kde4_trunk/kdelibs/khtml> svn diff CMakeLists.txt
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt      (revision 503040)
+++ CMakeLists.txt      (working copy)
@@ -2,6 +2,7 @@

 find_package(JPEG REQUIRED)
 find_package(GIF  REQUIRED)
+find_package(PNG  REQUIRED)

 # I should add include_directories(${JPEG_INCLUDE_DIRECTORY}) here, but 
recompiling takes too much time now, Alex

@@ -280,7 +281,7 @@

 kde4_add_library(khtml SHARED ${khtml_LIB_SRCS})

-target_link_libraries(khtml  ${QT_AND_KDECORE_LIBS} kparts kdeprint kutils 
kde3support kwalletclient kjs ${JPEG_LIBRARY} ${GIF_LIBRARY})
+target_link_libraries(khtml  ${QT_AND_KDECORE_LIBS} kparts kdeprint kutils 
kde3support kwalletclient kjs ${JPEG_LIBRARY} ${GIF_LIBRARY} ${PNG_LIBRARY})

 set_target_properties(khtml PROPERTIES VERSION 4.2.0 SOVERSION 4 )
 install_targets(/lib khtml )

Thanks for all your effort,
Winfried Dobbe





Linking CXX shared library ../lib/libkhtml.so
cd /home/kde4/kde4_trunk/kdelibs/khtml && /usr/local/bin/cmake -E remove 
-f ../lib/libkhtml.a ../lib/libkhtml.so.4.2.0 ../lib/libkhtml.so.4 ../lib/libkhtml.so
cd /home/kde4/kde4_trunk/kdelibs/khtml && /usr/bin/c++  -fPIC 
-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc -shared 
-Wl,-soname,libkhtml.so.4 -o ../lib/libkhtml.so.4.2.0 
"CMakeFiles/khtml.dir/khtmlview.o" "CMakeFiles/khtml.dir/khtml_part.o" 
"CMakeFiles/khtml.dir/khtml_run.o" "CMakeFiles/khtml.dir/khtml_factory.o" 
"CMakeFiles/khtml.dir/khtml_settings.o" "CMakeFiles/khtml.dir/khtml_events.o" 
"CMakeFiles/khtml.dir/khtml_ext.o" "CMakeFiles/khtml.dir/khtml_pagecache.o" 
"CMakeFiles/khtml.dir/khtml_iface.o" 
"CMakeFiles/khtml.dir/khtml_printsettings.o" 
"CMakeFiles/khtml.dir/khtmlimage.o" "CMakeFiles/khtml.dir/dom_docimpl.o" 
"CMakeFiles/khtml.dir/dom_nodeimpl.o" "CMakeFiles/khtml.dir/dom_textimpl.o" 
"CMakeFiles/khtml.dir/dom_elementimpl.o" 
"CMakeFiles/khtml.dir/dom_stringimpl.o" 
"CMakeFiles/khtml.dir/dom2_rangeimpl.o" 
"CMakeFiles/khtml.dir/dom2_traversalimpl.o" 
"CMakeFiles/khtml.dir/xml_tokenizer.o" "CMakeFiles/khtml.dir/dom_xmlimpl.o" 
"CMakeFiles/khtml.dir/dom2_eventsimpl.o" 
"CMakeFiles/khtml.dir/dom2_viewsimpl.o" "CMakeFiles/khtml.dir/htmlparser.o" 
"CMakeFiles/khtml.dir/htmltokenizer.o" "CMakeFiles/khtml.dir/dtd.o" 
"CMakeFiles/khtml.dir/html_headimpl.o" 
"CMakeFiles/khtml.dir/html_blockimpl.o" 
"CMakeFiles/khtml.dir/html_elementimpl.o" 
"CMakeFiles/khtml.dir/html_inlineimpl.o" 
"CMakeFiles/khtml.dir/html_documentimpl.o" 
"CMakeFiles/khtml.dir/html_baseimpl.o" 
"CMakeFiles/khtml.dir/html_imageimpl.o" 
"CMakeFiles/khtml.dir/html_listimpl.o" "CMakeFiles/khtml.dir/html_miscimpl.o" 
"CMakeFiles/khtml.dir/html_formimpl.o" 
"CMakeFiles/khtml.dir/html_objectimpl.o" 
"CMakeFiles/khtml.dir/html_tableimpl.o" 
"CMakeFiles/khtml.dir/html_canvasimpl.o" "CMakeFiles/khtml.dir/bidi.o" 
"CMakeFiles/khtml.dir/break_lines.o" "CMakeFiles/khtml.dir/render_block.o" 
"CMakeFiles/khtml.dir/render_inline.o" "CMakeFiles/khtml.dir/render_style.o" 
"CMakeFiles/khtml.dir/render_object.o" 
"CMakeFiles/khtml.dir/render_container.o" "CMakeFiles/khtml.dir/render_box.o" 
"CMakeFiles/khtml.dir/render_flow.o" "CMakeFiles/khtml.dir/render_text.o" 
"CMakeFiles/khtml.dir/render_arena.o" "CMakeFiles/khtml.dir/render_layer.o" 
"CMakeFiles/khtml.dir/render_image.o" "CMakeFiles/khtml.dir/render_table.o" 
"CMakeFiles/khtml.dir/table_layout.o" 
"CMakeFiles/khtml.dir/render_replaced.o" "CMakeFiles/khtml.dir/render_form.o" 
"CMakeFiles/khtml.dir/render_list.o" "CMakeFiles/khtml.dir/render_canvas.o" 
"CMakeFiles/khtml.dir/render_frames.o" "CMakeFiles/khtml.dir/render_br.o" 
"CMakeFiles/khtml.dir/render_body.o" "CMakeFiles/khtml.dir/font.o" 
"CMakeFiles/khtml.dir/render_line.o" 
"CMakeFiles/khtml.dir/render_generated.o" "CMakeFiles/khtml.dir/enumerate.o" 
"CMakeFiles/khtml.dir/counter_tree.o" 
"CMakeFiles/khtml.dir/render_canvasimage.o" 
"CMakeFiles/khtml.dir/css_stylesheetimpl.o" 
"CMakeFiles/khtml.dir/css_ruleimpl.o" "CMakeFiles/khtml.dir/css_valueimpl.o" 
"CMakeFiles/khtml.dir/css_base.o" "CMakeFiles/khtml.dir/cssparser.o" 
"CMakeFiles/khtml.dir/cssstyleselector.o" "CMakeFiles/khtml.dir/csshelper.o" 
"CMakeFiles/khtml.dir/parser.o" 
"CMakeFiles/khtml.dir/css_renderstyledeclarationimpl.o" 
"CMakeFiles/khtml.dir/decoder.o" "CMakeFiles/khtml.dir/loader.o" 
"CMakeFiles/khtml.dir/guess_ja.o" "CMakeFiles/khtml.dir/htmlhashes.o" 
"CMakeFiles/khtml.dir/helper.o" "CMakeFiles/khtml.dir/arena.o" 
"CMakeFiles/khtml.dir/stringit.o" "CMakeFiles/khtml.dir/kjs_binding.o" 
"CMakeFiles/khtml.dir/kjs_dom.o" "CMakeFiles/khtml.dir/kjs_html.o" 
"CMakeFiles/khtml.dir/kjs_window.o" "CMakeFiles/khtml.dir/kjs_navigator.o" 
"CMakeFiles/khtml.dir/kjs_proxy.o" "CMakeFiles/khtml.dir/kjs_css.o" 
"CMakeFiles/khtml.dir/kjs_range.o" "CMakeFiles/khtml.dir/kjs_traversal.o" 
"CMakeFiles/khtml.dir/kjs_events.o" "CMakeFiles/khtml.dir/kjs_views.o" 
"CMakeFiles/khtml.dir/kjs_debugwin.o" "CMakeFiles/khtml.dir/kjs_mozilla.o" 
"CMakeFiles/khtml.dir/xmlhttprequest.o" 
"CMakeFiles/khtml.dir/xmlserializer.o" "CMakeFiles/khtml.dir/domparser.o" 
"CMakeFiles/khtml.dir/kjs_context2d.o" "CMakeFiles/khtml.dir/dom_misc.o" 
"CMakeFiles/khtml.dir/html_block.o" "CMakeFiles/khtml.dir/html_inline.o" 
"CMakeFiles/khtml.dir/css_rule.o" "CMakeFiles/khtml.dir/dom_node.o" 
"CMakeFiles/khtml.dir/html_document.o" "CMakeFiles/khtml.dir/html_list.o" 
"CMakeFiles/khtml.dir/css_stylesheet.o" "CMakeFiles/khtml.dir/dom_string.o" 
"CMakeFiles/khtml.dir/html_element.o" "CMakeFiles/khtml.dir/html_misc.o" 
"CMakeFiles/khtml.dir/css_value.o" "CMakeFiles/khtml.dir/dom_text.o" 
"CMakeFiles/khtml.dir/html_object.o" "CMakeFiles/khtml.dir/dom_doc.o" 
"CMakeFiles/khtml.dir/dom_xml.o" "CMakeFiles/khtml.dir/html_head.o" 
"CMakeFiles/khtml.dir/dom_element.o" "CMakeFiles/khtml.dir/html_base.o" 
"CMakeFiles/khtml.dir/html_image.o" "CMakeFiles/khtml.dir/html_form.o" 
"CMakeFiles/khtml.dir/dom2_range.o" "CMakeFiles/khtml.dir/html_table.o" 
"CMakeFiles/khtml.dir/dom2_traversal.o" "CMakeFiles/khtml.dir/dom2_events.o" 
"CMakeFiles/khtml.dir/dom2_views.o" "CMakeFiles/khtml.dir/imageplane.o" 
"CMakeFiles/khtml.dir/rawimageplane.o" 
"CMakeFiles/khtml.dir/scaledimageplane.o" 
"CMakeFiles/khtml.dir/pixmapplane.o" "CMakeFiles/khtml.dir/animprovider.o" 
"CMakeFiles/khtml.dir/imagepainter.o" "CMakeFiles/khtml.dir/updater.o" 
"CMakeFiles/khtml.dir/image.o" "CMakeFiles/khtml.dir/imagemanager.o" 
"CMakeFiles/khtml.dir/animtimer.o" "CMakeFiles/khtml.dir/jpegloader.o" 
"CMakeFiles/khtml.dir/pngloader.o" "CMakeFiles/khtml.dir/gifloader.o" 
"CMakeFiles/khtml.dir/kjserrordlg.o" "CMakeFiles/khtml.dir/kjserrordlg.moc.o" 
"CMakeFiles/khtml.dir/htmlpageinfo.o" 
"CMakeFiles/khtml.dir/htmlpageinfo.moc.o" 
"CMakeFiles/khtml.dir/khtml_iface_skel.o"  
-L/home/kde4/kde4_trunk/kdelibs/lib -L/home/kde4/qt4/lib -L/usr/X11R6/lib 
-L/usr/local/lib -lQtCore -lpthread -lkdecore -lkparts -lkdeprint -lkutils 
-lkde3support -lkwalletclient -lkjs -ljpeg -lungif -lkutils -lkparts -lkio 
-lkdeui -lQtXml -lkdefx -lkdesu -lkwalletclient -lfam -lkxmlcore -lkdecore 
-lQt3Support -lQtGui -lz -lSM -lICE -lSM -lICE -lX11 -lXext -lX11 -lXext 
-lutil -lDCOP -lQtCore -lpthread -lidn -lbz2 -lpthread -lpcre -lpcreposix 
-Wl,-rpath,/home/kde4/kde4_trunk/kdelibs/lib:/home/kde4/qt4/lib:/usr/X11R6/lib:/usr/local/lib
CMakeFiles/khtml.dir/pngloader.o: In function `PNGLoader':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:209: 
undefined reference to `png_create_read_struct'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:211: 
undefined reference to `png_create_info_struct'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:214: 
undefined reference to `png_set_progressive_read_fn'
CMakeFiles/khtml.dir/pngloader.o: In function 
`khtmlImLoad::PNGLoader::processData(unsigned char*, int)':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:246: 
undefined reference to `png_process_data'
CMakeFiles/khtml.dir/pngloader.o: In function `haveRow':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:186: 
undefined reference to `png_progressive_combine_row'
CMakeFiles/khtml.dir/pngloader.o: In function `~PNGLoader':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:221: 
undefined reference to `png_destroy_read_struct'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:221: 
undefined reference to `png_destroy_read_struct'
CMakeFiles/khtml.dir/pngloader.o: In function `haveInfo':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:86: 
undefined reference to `png_get_IHDR'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:99: 
undefined reference to `png_get_valid'
CMakeFiles/khtml.dir/pngloader.o: In function `.L146':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:101: 
undefined reference to `png_set_tRNS_to_alpha'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:93: 
undefined reference to `png_set_strip_16'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:90: 
undefined reference to `png_set_gray_1_2_4_to_8'
CMakeFiles/khtml.dir/pngloader.o: In function `.L151':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:171: 
undefined reference to `png_set_interlace_handling'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:177: 
undefined reference to `png_read_update_info'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:178: 
undefined reference to `png_start_read_image'
CMakeFiles/khtml.dir/pngloader.o: In function `.L150':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:118: 
undefined reference to `png_set_gray_to_rgb'
CMakeFiles/khtml.dir/pngloader.o: In function `.L149':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:126: 
undefined reference to `png_set_palette_to_rgb'
CMakeFiles/khtml.dir/pngloader.o: In function `.L147':
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:150: 
undefined reference to `png_set_filler'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:151: 
undefined reference to `png_set_bgr'
/home/kde4/kde4_trunk/kdelibs/khtml/imload/decoders/pngloader.cpp:159: 
undefined reference to `png_set_bgr'
collect2: ld returned 1 exit status
make[2]: *** [lib/libkhtml.so.4.2.0] Error 1
make[2]: Leaving directory `/home/kde4/kde4_trunk/kdelibs'
make[1]: *** [khtml/CMakeFiles/khtml.dir/all] Error 2
make[1]: Leaving directory `/home/kde4/kde4_trunk/kdelibs'
make: *** [all] Error 2


More information about the Kde-buildsystem mailing list