inkscape-0.91 fails to compile

Bug #1548653 reported by John Frankish
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
High
Unassigned

Bug Description

Compiling with gcc-5.2.0, gtk+-3.16.7, gtkmm-3.16.0 on tinycorelinux.

Both inkscape-0.91 and bzr fail with:

CC="gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe" CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe -std=c++11" ./configure --prefix=/usr/local --disable-static --localstatedir=/var --enable-gtk3-experimental

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make
...
  CXXLD inkscape
2geom/solve-bezier.cpp:25:7: warning: type 'struct Bernsteins' violates one definition rule [-Wodr]
 class Bernsteins{
       ^
2geom/solve-bezier-one-d.cpp:28:0: note: a different type is defined in another translation unit
 class Bernsteins{
 ^
2geom/solve-bezier.cpp:28:26: note: the first difference of corresponding definitions is field 'solutions'
     std::vector<double> &solutions;
                          ^
2geom/solve-bezier-one-d.cpp:31:12: note: a field with different name is defined in another translation unit
     size_t degree, N;
            ^
/tmp/ccpr6WoG.ltrans19.ltrans.o: In function `int Gtk::TreeView::append_column<Glib::RefPtr<Gdk::Pixbuf> >(Glib::ustring const&, Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf> > const&) [clone .constprop.1242]':
<artificial>:(.text+0x3f9): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x435): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x450): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x461): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x469): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x471): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x4db): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x4ed): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x4ff): undefined reference to `VTT for Gtk::TreeViewColumn'
/tmp/ccpr6WoG.ltrans28.ltrans.o: In function `Gtk::TreeViewColumn::TreeViewColumn<int>(Glib::ustring const&, Gtk::TreeModelColumn<int> const&) [clone .lto_priv.9884]':
<artificial>:(.text+0x6325): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x6361): undefined reference to `VTT for Gtk::TreeViewColumn'
/tmp/ccpr6WoG.ltrans28.ltrans.o:<artificial>:(.text+0x637d): more undefined references to `VTT for Gtk::TreeViewColumn' follow
/tmp/ccpr6WoG.ltrans28.ltrans.o: In function `Gtk::TreeViewColumn::TreeViewColumn<int>(Glib::ustring const&, Gtk::TreeModelColumn<int> const&) [clone .lto_priv.9884]':
<artificial>:(.text+0x638d): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x6396): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x639f): undefined reference to `vtable for Gtk::TreeViewColumn'
<artificial>:(.text+0x63f4): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x6409): undefined reference to `VTT for Gtk::TreeViewColumn'
<artificial>:(.text+0x641e): undefined reference to `VTT for Gtk::TreeViewColumn'
collect2: error: ld returned 1 exit status
Makefile:7220: recipe for target 'inkscape' failed

Tags: build
jazzynico (jazzynico)
Changed in inkscape:
importance: Undecided → High
tags: added: build
Revision history for this message
John Frankish (john-frankish) wrote :

It looks like this is a gcc-5.2/lto bug:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69953

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Please can you confirm if this is still an issue in Inkscape 0.92?

Changed in inkscape:
status: New → Invalid
status: Invalid → Incomplete
Revision history for this message
John Frankish (john-frankish) wrote :
Download full text (14.6 KiB)

Now I get:

...
mv -f $depbase.Tpo $depbase.Po
depbase=`echo desktop-events.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe -std=c++11 -DHAVE_CONFIG_H -I. -I.. -I../cxxtest -I./extension/dbus -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/poppler -pthread -I/usr/local/include/poppler/glib -I/usr/local/include/poppler -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -DPOTRACE=\"potrace\" -pthread -I/usr/local/include/libgdl-3.0 -I/usr/local/include/libxml2 -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/pango-1.0 -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng16 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -pthread -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include -DG_DISABLE_DEPRECATED -DGLIBMM_DISABLE_DEPRECATED -DGDKMM_DISABLE_DEPRECATED -DWITH_MESH -DWITH_CSSBLEND -DWITH_CSSCOMPOSITE -DWITH_SVG2 -Werror=format-security -Wswitch -Werror=return-type -DGSEAL_ENABLE -DG_DISABLE_SINGLE_INCLUDES -Wall -Wformat -Wformat-security -W -D_FORTIFY_SOURCE=2 -pthread -I/usr/local/include/gtkmm-3.0 -I/usr/local/lib/gtkmm-3.0/include -I/usr/local/include/atkmm-1.6 -I/usr/local/include/gtk-3.0/unix-print -I/usr/local/include/gdkmm-3.0 -I/usr/local/lib/gdkmm-3.0/include -I/usr/local/include/giomm-2.4 -I/usr/local/lib/giomm-2.4/include -I/usr/local/include/pangomm-1.4 -I/usr/local/lib/pangomm-1.4/include -I/usr/local/include/glibmm-2.4 -I/usr/local/lib/glibmm-2.4/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I...

Revision history for this message
John Frankish (john-frankish) wrote :

Note that this also happens with gcc-6.2.0, gtk+-3.22.0, gtkmm-3.22.0

Revision history for this message
Qantas94Heavy (qantas94heavy) wrote :

This should be fixed upstream with GCC 6.4.

Changed in inkscape:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.