Re: Crash during Build - invalid application of ‘sizeof’ to incomplete type ‘SPCurve’
Hi,
I can confirm that gcc 7 appears to be too old to compile a recent Inkscape, sorry.
Please use a newer compiler (gcc 9 (or later) works, or clang)
This might be fixable by adding
#include "display/curve.h"
to src/object/sp-use.cpp
Cheers, Thomas
On Fri, May 28, 2021 at 4:04 PM Marc Jeanmougin marc@jeanmougin.fr wrote:
Hi,
I can confirm that gcc 7 appears to be too old to compile a recent Inkscape, sorry.
Please use a newer compiler (gcc 9 (or later) works, or clang)
-- Marc
Le 28/05/2021 à 01:17, fi@igh.de a écrit :
Dear Marc,
On Fri, May 28, 2021 at 12:03:11AM +0200, Marc Jeanmougin wrote:
Hi and thanks for the report! What's your compiler and OS ?
the compilers are gcc-7 and g++-7 (version 7.5.0)
OS: OpenSuSE 15.2, Kernel 5.3.18
below is also the output from cmake
Thanks and best regards
Torsten
-- Creating build files in: /vol/pub/inkscape/linux/git/inkscape/build -- Found poppler: /usr/lib64/libpoppler.so -- Found poppler-glib: /usr/lib64/libpoppler-glib.so -- Found cairo-svg: /usr/lib64/libcairo.so -- Found poppler-cairo: /usr/lib64/libcairo.so -- Found Potrace: /usr/lib64/libpotrace.so -- Checking for modules 'gtkmm-3.0>=3.24;gdkmm-3.0>=3.24;gtk+-3.0>=3.24;gdk-3.0>=3.24' -- Found gtkmm-3.0, version 3.24.2 -- Found gdkmm-3.0, version 3.24.2 -- Found gtk+-3.0, version 3.24.20 -- Found gdk-3.0, version 3.24.20 -- Using gspell -- Found Boost: /usr/include (found suitable version "1.66.0", minimum required is "1.19.0") found components: filesystem system -- Checking for module 'readline' -- No package 'readline' found -- Did not find GNU Readline -- Checking for module 'ImageMagick++<=7' -- No package 'ImageMagick++' found -- Checking for module 'GraphicsMagick++' -- Found GraphicsMagick++, version 1.3.35 -- Found gettext + msgfmt to convert language files. Translation enabled -- Found xgettext. inkscape.pot will be re-created if missing. -- Creating build files in: /vol/pub/inkscape/linux/git/inkscape/build -- Generating header and sourcefiles from sp-marshal.list (Glib-Marshal) INFO: Reading /vol/pub/inkscape/linux/git/inkscape/src/helper/sp-marshal.list... INFO: Reading /vol/pub/inkscape/linux/git/inkscape/src/helper/sp-marshal.list... -- sp-marshal.h unchanged -- Found Boost: /usr/include (found suitable version "1.66.0", minimum required is "1.60") -- cython: FOUND -- Checking for module 'gtk+-3.0' -- Found gtk+-3.0, version 3.24.20 -- Ragel NOT found. Using stale svg-path-parser.cpp. INKSCAPE_DIST_PREFIX: inkscape-1.2-dev_2021-05-25_5448704355
Configuration Summary
PROJECT_NAME: inkscape INKSCAPE_VERSION: 1.2-dev INKSCAPE_DIST_PREFIX: inkscape-1.2-dev_2021-05-25_5448704355
CMAKE_BINARY_DIR: /vol/pub/inkscape/linux/git/inkscape/build CMAKE_INSTALL_PREFIX: /vol/opt/inkscape-5448704355e03a97d2838e1ba30272db335f0dbb CMAKE_INSTALL_LIBDIR: lib64 PACKAGE_LOCALE_DIR share/locale CMAKE_SYSTEM_NAME: Linux CMAKE_SYSTEM_VERSION: 5.3.18-lp152.75-default CMAKE_SYSTEM_PROCESSOR: x86_64 CMAKE_C_COMPILER: /usr/bin/cc CMAKE_CXX_COMPILER: /usr/bin/c++ CMAKE_BUILD_TYPE: Release
ENABLE_LCMS: ON ENABLE_POPPLER: ON ENABLE_POPPLER_CAIRO: ON WITH_GNU_READLINE: OFF WITH_DBUS: OFF WITH_GSPELL: ON WITH_IMAGE_MAGICK: OFF WITH_GRAPHICS_MAGICK: ON WITH_LIBCDR: ON WITH_LIBVISIO: ON WITH_LIBWPG: ON WITH_NLS: ON WITH_OPENMP: ON WITH_JEMALLOC: OFF WITH_INTERNAL_2GEOM: ON WITH_PROFILING: OFF BUILD_TESTING: ON
On 27/05/2021 19:37, fi@igh.de wrote:
Dear Maintainers,
after pulling revision 5448704355e03a97d2838e1ba30272db335f0dbb I try to build inkscape according to https://inkscape.org/develop/getting-started/ but I receive the following error:
In file included from /usr/include/c++/7/memory:80:0, from /vol/pub/inkscape/linux/git/inkscape/src/document.h:25, from /vol/pub/inkscape/linux/git/inkscape/src/object/sp-use.cpp:27: /usr/include/c++/7/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = SPCurve]’: /usr/include/c++/7/bits/unique_ptr.h:263:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = SPCurve; _Dp = std::default_delete<SPCurve>]’ /vol/pub/inkscape/linux/git/inkscape/src/object/sp-use-reference.h:45:50: required from here /usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of ‘sizeof’ to incomplete type ‘SPCurve’ static_assert(sizeof(_Tp)>0, ^ My questions:
- are there simple means to avoid that error?
- what information about my building environment is required?
BTW: I am trying to build Inkscape because the AppImage crashes.
Thanks and best regards
Torsten
Inkscape Devel mailing list -- inkscape-devel@lists.inkscape.org To unsubscribe send an email to inkscape-devel-leave@lists.inkscape.org
participants (2)
-
Marc Jeanmougin
-
Thomas Holder