Inkscape won't compile against libsigc++ >= 2.5.1 due to missing "-std=c++11".
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
High
|
Krzysztof Kosinski | ||
Gentoo Linux |
Fix Released
|
Medium
|
Bug Description
The recent libsigc++-2.5.1 refuses to compile without -std=c++11 and it affects inkscape too:
shlomif@telaviv1:~$ g++ `pkg-config --cflags sigc++-2.0` sigcpp_test.cpp
In file included from /usr/include/
/usr/include/
static int check(X_functor* obj, decltype(
/usr/include/
static int check(X_functor* obj, decltype(
/usr/include/
/usr/include/
/usr/include/
= sizeof(
/usr/include/
typedef typename functor_
/usr/include/
typedef typename functor_
/usr/include/
ypename functor_
shlomif@telaviv1:~$ g++ -std=c++11 `pkg-config --cflags sigc++-2.0` sigcpp_test.cpp
shlomif@telaviv1:~$ cat sigcpp_test.cpp
/*
* Building this using:
g++ `pkg-config --cflags sigc++-2.0` sigcpp_test.cpp
Results in an error.
* */
#include <stddef.h>
#include <string>
#if 0
#include <sigc++/sigc++.h>
#else
#include <sigc++/signal.h>
#endif
int main()
{
return 0;
}
=======
The attached tentative patch fixes this problem.
tags: | added: build cmake |
Changed in inkscape: | |
importance: | Undecided → High |
Changed in inkscape: | |
milestone: | none → 0.92 |
tags: | added: blocker |
summary: |
- Inkscape won't compile against libsigc++-2.5.1 due to missing + Inkscape won't compile against libsigc++ >= 2.5.1 due to missing "-std=c++11". |
Changed in gentoo: | |
importance: | Unknown → Medium |
Changed in gentoo: | |
status: | Unknown → Fix Released |
Changed in inkscape: | |
assignee: | nobody → Krzysztof Kosinski (tweenk) |
tags: | removed: blocker |
Changed in inkscape: | |
milestone: | 0.91.1 → 0.92 |
status: | Fix Committed → Fix Released |
Wow... this is actually a much bigger issue, because we deliberately haven't yet used any C++11 features directly in Inkscape.
We could, as you suggest, only enforce C++11 builds for people with new versions of libsigc++, but it makes me pretty nervous having to support two different C++ standards.
A proper fix would enforce C++11 builds for everyone, but this is problematic, because AFAIK older OS X releases don't provide compiler support for C++11.
I think this needs further discussion! :/