LibreCAD / LibreCAD_3

LibreCAD 3 is a next generation 2D CAD application written to be modular, with a core independent from GUI toolkits. Scripting is possible with Lua.
http://librecad.org
Other
314 stars 103 forks source link

Failed to build CMakeFiles/luacmdinterface.dir/main.cpp.o: in function CairoStore::image_create #373

Open Moult opened 3 years ago

Moult commented 3 years ago

On Gentoo Linux:

Running:

mkdir build
cd build
cmake .. (for a release you would use cmake -DCMAKE_BUILD_TYPE=Release ..)
make -j 4
[ 44%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/font_book.cpp.o
[ 44%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/manager.cpp.o
[ 45%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/cacher.cpp.o
[ 45%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/renderer.cpp.o
[ 45%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/shader.cpp.o
[ 45%] Building CXX object lcviewernoqt/CMakeFiles/lcviewernoqt.dir/painters/opengl/resources/res.cpp.o
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/opengl/gl_font.cpp: In member function ‘bool lc::viewer::opengl::GL_Font::readyFont(const string&, std::string&, std::string&)’:
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/opengl/gl_font.cpp:116:46: warning: narrowing conversion of ‘face->FT_FaceRec_::glyph->FT_GlyphSlotRec_::bitmap.FT_Bitmap_::width’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  116 |                          face->glyph->bitmap.width,
      |                          ~~~~~~~~~~~~~~~~~~~~^~~~~
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/opengl/gl_font.cpp:117:46: warning: narrowing conversion of ‘face->FT_FaceRec_::glyph->FT_GlyphSlotRec_::bitmap.FT_Bitmap_::rows’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  117 |                          face->glyph->bitmap.rows,
      |                          ~~~~~~~~~~~~~~~~~~~~^~~~
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/opengl/gl_font.cpp:118:47: warning: narrowing conversion of ‘face->FT_FaceRec_::glyph->FT_GlyphSlotRec_::advance.FT_Vector_::x’ from ‘FT_Pos’ {aka ‘long int’} to ‘int’ [-Wnarrowin]
  118 |                          face->glyph->advance.x,
      |                          ~~~~~~~~~~~~~~~~~~~~~^
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/opengl/gl_font.cpp:119:47: warning: narrowing conversion of ‘face->FT_FaceRec_::glyph->FT_GlyphSlotRec_::advance.FT_Vector_::y’ from ‘FT_Pos’ {aka ‘long int’} to ‘int’ [-Wnarrowin]
  119 |                          face->glyph->advance.y
      |                          ~~~~~~~~~~~~~~~~~~~~~^
[ 45%] Linking CXX shared library liblcviewernoqt.so
[ 45%] Built target lcviewernoqt
[ 45%] Linking CXX shared library liblcluascript.so
[ 45%] Built target lcluascript
Scanning dependencies of target librecad_autogen
Scanning dependencies of target lcui_autogen
Scanning dependencies of target luacmdinterface
[ 46%] Automatic MOC for target lcui
[ 46%] Automatic MOC for target librecad
[ 46%] Building CXX object luacmdinterface/CMakeFiles/luacmdinterface.dir/main.cpp.o
In file included from /home/dion/drive/librecad/LibreCAD_3/luacmdinterface/main.cpp:9:
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/lccairopainter.tcc: In member function ‘lc::viewer::LcPainter* LcCairoPainter<T>::getCacherpainter()’:
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/lccairopainter.tcc:500:5: warning: no return statement in function returning non-void [-Wreturn-type]
  500 |     }
      |     ^
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/lccairopainter.tcc: In member function ‘bool LcCairoPainter<T>::isEntityCached(long unsigned int)’:
/home/dion/drive/librecad/LibreCAD_3/lcviewernoqt/painters/lccairopainter.tcc:503:5: warning: no return statement in function returning non-void [-Wreturn-type]
  503 |     }
      |     ^
[ 46%] Linking CXX executable ../bin/luacmdinterface
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/luacmdinterface.dir/main.cpp.o: in function `CairoStore::image_create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
main.cpp:(.text._ZN10CairoStore12image_createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN10CairoStore12image_createERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x1d3): undefined reference to `gdk_cairo_set_source_pixbuf'
collect2: error: ld returned 1 exit status
make[2]: *** [luacmdinterface/CMakeFiles/luacmdinterface.dir/build.make:160: bin/luacmdinterface] Error 1
make[1]: *** [CMakeFiles/Makefile2:912: luacmdinterface/CMakeFiles/luacmdinterface.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 46%] Built target librecad_autogen
[ 46%] Built target lcui_autogen
make: *** [Makefile:150: all] Error 2
jonadem commented 3 years ago

The first error is : "undefined reference to `gdk_cairo_set_source_pixbuf'"

Is libcairo2-dev installed (or something similar) ? Which version ?