On Thu, 2015-11-26 at 17:23 -0800, Krzysztof KosiĆski wrote:
If anyone has a distribution that requires C++11 to compile against gtkmm, please test this fix:
https://code.launchpad.net/~tweenk/inkscape/cpp11-configure-fix
Thanks for working on this.
Tested on Fedora 23 (which requires C++11):
./configure fails with error:
checking which C++ version is required for gtkmm... configure: error: Neither C++11 nor C++98 work with gtkmm
If I manually try to compile the code (putting the code in a file and then compiling it with the relevant flags from CXXFLAGS, I get undefined reference errors (see below). If I add all the libraries via -l then it compiles.
Tav
/tmp/ccwN2Riq.o: In function `sigc::internal::slot_rep::slot_rep(void* (*)(void*), void* (*)(void*), void* (*)(void*))': /usr/include/sigc++-2.0/sigc++/functors/slot_base.h:92: undefined reference to `sigc::trackable::trackable()' /tmp/ccwN2Riq.o: In function `sigc::internal::temp_slot_list::temp_slot_list(std::__cxx11::list<sigc ::slot_base, std::allocatorsigc::slot_base >&)': /usr/include/sigc++-2.0/sigc++/signal_base.h:206: undefined reference to `sigc::slot_base::slot_base()' /tmp/ccwN2Riq.o: In function `std::_List_nodesigc::slot_base::_List_nodesigc::slot_base(sigc::sl ot_base&&)': /usr/include/c++/5.1.1/bits/stl_list.h:114: undefined reference to `sigc::slot_base::slot_base(sigc::slot_base&&)' /tmp/ccwN2Riq.o: In function `sigc::internal::temp_slot_list::temp_slot_list(std::__cxx11::list<sigc ::slot_base, std::allocatorsigc::slot_base >&)': /usr/include/sigc++-2.0/sigc++/signal_base.h:206: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `std::_List_nodesigc::slot_base::~_List_node()': /usr/include/c++/5.1.1/bits/stl_list.h:106: undefined reference to `sigc::slot_base::~slot_base()' /usr/include/c++/5.1.1/bits/stl_list.h:106: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `sigc::internal::signal_impl::unreference_exec()': /usr/include/sigc++-2.0/sigc++/signal_base.h:87: undefined reference to `sigc::internal::signal_impl::sweep()' /tmp/ccwN2Riq.o: In function `std::_List_nodesigc::slot_base::~_List_node()': /usr/include/c++/5.1.1/bits/stl_list.h:106: undefined reference to `sigc::slot_base::~slot_base()' /usr/include/c++/5.1.1/bits/stl_list.h:106: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `sigc::internal::temp_slot_list::temp_slot_list(std::__cxx11::list<sigc ::slot_base, std::allocatorsigc::slot_base >&)': /usr/include/sigc++-2.0/sigc++/signal_base.h:206: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `sigc::internal::signal_impl::unreference_exec()': /usr/include/sigc++-2.0/sigc++/signal_base.h:87: undefined reference to `sigc::internal::signal_impl::sweep()' /tmp/ccwN2Riq.o: In function `sigc::signal1<void, int, sigc::nil>::signal1()': /usr/include/sigc++-2.0/sigc++/signal.h:2844: undefined reference to `sigc::signal_base::signal_base()' /tmp/ccwN2Riq.o: In function `sigc::internal::slot_rep::slot_rep(void* (*)(void*), void* (*)(void*), void* (*)(void*))': /usr/include/sigc++-2.0/sigc++/functors/slot_base.h:92: undefined reference to `sigc::trackable::trackable()' /tmp/ccwN2Riq.o: In function `sigc::slot1<void, int>::slot1<sigc::pointer_functor1<int, void>
(sigc::pointer_functor1<int, void> const&)':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:581: undefined reference to `sigc::slot_base::slot_base(sigc::internal::slot_rep*)' /tmp/ccwN2Riq.o: In function `sigc::signal1<void, int, sigc::nil>::connect(sigc::slot<void, int, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&)': /usr/include/sigc++-2.0/sigc++/signal.h:2797: undefined reference to `sigc::signal_base::connect(sigc::slot_base const&)' /tmp/ccwN2Riq.o: In function `sigc::slot1<void, int>::~slot1()': /usr/include/sigc++-2.0/sigc++/functors/slot.h:548: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `sigc::signal1<void, int, sigc::nil>::~signal1()': /usr/include/sigc++-2.0/sigc++/signal.h:2762: undefined reference to `sigc::signal_base::~signal_base()' /usr/include/sigc++-2.0/sigc++/signal.h:2762: undefined reference to `sigc::signal_base::~signal_base()' /tmp/ccwN2Riq.o: In function `sigc::slot1<void, int>::~slot1()': /usr/include/sigc++-2.0/sigc++/functors/slot.h:548: undefined reference to `sigc::slot_base::~slot_base()' /tmp/ccwN2Riq.o: In function `__static_initialization_and_destruction_0': /usr/include/gtkmm-2.4/gtkmm/papersize.h:41: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:41: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:42: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:42: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:43: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:43: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:44: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:44: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:45: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:45: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:46: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:46: undefined reference to `Glib::ustring::~ustring()' /usr/include/gtkmm-2.4/gtkmm/papersize.h:47: undefined reference to `Glib::ustring::ustring(char const*)' /usr/include/gtkmm-2.4/gtkmm/papersize.h:47: undefined reference to `Glib::ustring::~ustring()' collect2: error: ld returned 1 exit status