libsigc++-2.0.11 required

Hello, since we could not find a workaround for the compile problem with libsigc++-2.0.10 + gcc-4.0.2, and 2.0.11 is over a year old, I have bumped up the requirements for compiling inkscape in configure to libsigc++ >= 2.0.11 and will update documents on the Web accordingly.
ralf

On Tue, May 16, 2006 at 04:50:52PM +0200, Ralf Stephan wrote:
Hello, since we could not find a workaround for the compile problem with libsigc++-2.0.10 + gcc-4.0.2, and 2.0.11 is over a year old, I have bumped up the requirements for compiling inkscape in configure to libsigc++ >= 2.0.11 and will update documents on the Web accordingly.
Thanks for giving this visibility. Sounds like good rationale for upping the version, we'll just need to make sure packagers are aware of this change.
Bryce

Have we verified that 2.0.11 + gcc-4.0.2 works?
On Tue, 16 May 2006 16:50:52 +0200, Ralf Stephan <ralf@...748...> wrote:
Hello, since we could not find a workaround for the compile problem with libsigc++-2.0.10 + gcc-4.0.2, and 2.0.11 is over a year old, I have bumped up the requirements for compiling inkscape in configure to libsigc++ >= 2.0.11 and will update documents on the Web accordingly.

On Wed, 2006-05-17 at 09:27 +0200, Ralf Stephan wrote:
You wrote
Have we verified that 2.0.11 + gcc-4.0.2 works?
Jon said so IIRC. I have verified 2.0.17 + 4.0.2.
Inkscape works with 2.0.17 and gcc-4.1.0 (FC5) with the following changes to get it to compile:
Index: src/removeoverlap/constraint.h =================================================================== --- src/removeoverlap/constraint.h (revision 11817) +++ src/removeoverlap/constraint.h (working copy) @@ -26,7 +26,7 @@ double lm; Constraint(Variable *left, Variable *right, double gap, bool equality=fa lse); ~Constraint(); - inline double Constraint::slack() const { return right->position() - gap - left->position(); } + inline double slack() const { return right->position() - gap - left->pos ition(); } long timeStamp; bool active; bool visited; Index: src/removeoverlap/variable.h =================================================================== --- src/removeoverlap/variable.h (revision 11817) +++ src/removeoverlap/variable.h (working copy) @@ -39,7 +39,7 @@ , visited(false) { } - inline double Variable::position() const { + inline double position() const { return block->posn+offset; } //double position() const;

On Wed, 17 May 2006, Ralf Stephan wrote:
You wrote
Have we verified that 2.0.11 + gcc-4.0.2 works?
Jon said so IIRC. I have verified 2.0.17 + 4.0.2.
I'm still having problems compiling this layer-manager stuff on the standard Apple gcc-4.0 (4.0.1). This is with libsigc++-2.0.11.
It fails with errors from line 33 of src/layer-manager.cpp: (The same line as the libsigc++-2.0.10 + gcc-4.0.2 problem I think)
/sw/include/sigc++-2.0/sigc++/functors/mem_fun.h:1857: error: no matching function for call to 'visit_each(const sigc::internal::limit_derived_target<sigc::trackable*, sigc::internal::slot_do_unbind>&, Inkscape::LayerManager&)'
Cheers, Michael

On May 17, 2006, at 12:27 AM, Ralf Stephan wrote:
Jon said so IIRC. I have verified 2.0.17 + 4.0.2.
If I'm the Jon in question, it was sigc++ 2.0.11 with gcc 3.3
I've not tested with gcc 4.0.x
Someone else got it to work with autopackage. His base attempt with gcc 4.0.2 and sigc++ 2.0.10 failed, but the autopackage build that used sigc++ 2.0.16 worked on that same box.

OK I verified 2.0.11 does not work and 2.0.14 does with gcc-4.0.2 on SuSE. Will check the others tomorrow.
ralf

Regarding libsigc++ versions, inkscape compiles with 2.0.12 and gcc-4.0.2. Together with Jon Cruz' result with 2.0.11 and gcc-3, version 2.0.12 and up should be safe in all combinations.
Since this is still a year old, requirement is now libsigc++ >= 2.0.12
ralf

On Thu, 18 May 2006, Ralf Stephan wrote:
Regarding libsigc++ versions, inkscape compiles with 2.0.12 and gcc-4.0.2. Together with Jon Cruz' result with 2.0.11 and gcc-3, version 2.0.12 and up should be safe in all combinations.
Since this is still a year old, requirement is now libsigc++ >= 2.0.12
Cool, I also corrected my problem with Apple's gcc-4.0.1 by update to a newer version of libsigc++2.
For the OS X people, since the latest version in fink is 2.0.11, I've just buzzed the maintainer of the libsigc++2 package to ask if it can please be updated.
Cheers, Michael

On May 18, 2006, at 2:06 AM, Ralf Stephan wrote:
Regarding libsigc++ versions, inkscape compiles with 2.0.12 and gcc-4.0.2. Together with Jon Cruz' result with 2.0.11 and gcc-3, version 2.0.12 and up should be safe in all combinations.
Since this is still a year old, requirement is now libsigc++ >= 2.0.12
Eek!
I didn't foresee the problem. Since sigc++ 2.0.12 works fine with me here with gcc 3.3, that change just made Inkscape stop building for me.
:-(
I can probably change that locally for myself here, but is there some way we can get that conditional based on the gcc version so that we'll not block other people from being able to build?

Jon A. Cruz wrote:
On May 18, 2006, at 2:06 AM, Ralf Stephan wrote:
Regarding libsigc++ versions, inkscape compiles with 2.0.12 and gcc-4.0.2. Together with Jon Cruz' result with 2.0.11 and gcc-3, version 2.0.12 and up should be safe in all combinations.
Since this is still a year old, requirement is now libsigc++ >= 2.0.12
Eek!
I didn't foresee the problem. Since sigc++ 2.0.12 works fine with me here with gcc 3.3, that change just made Inkscape stop building for me.
:-(
I can probably change that locally for myself here, but is there some way we can get that conditional based on the gcc version so that we'll not block other people from being able to build?
I have been worried about this, since Mingw is currently at 3.4. Not only this, but we haven't updated our C++ libs in general for many months now. And 3.4 is allowing warnings and errors into the tree that unfairly plague others who have 4.x.
Also, the Mingw project shows no indication of releasing a fresh compiler in the near future. They usually wait until a GCC version is stable, but 4.x seems very stable.
So I spent the past two days locked indoors until I got both a cross compiler and a native compiler for GCC 4.1.1 (released Wednesday) built and uploaded.
Native: http://inkscape.modevia.com/win32libs/mingw411-060525.zip (unpacks to c\mingw4 to avoid conflict with official mingw)
Cross: http://inkscape.modevia.com/win32libs/xmingw-4.1.1.tar.bz2 (unpacks to /usr/local/xmingw)
Both seem to compile Inkscape quite well, and I have seen no ABI problems with the gtk28 bundle's C++ stuff like sigc++ or gtkmm. In fact, they seem to be faster compilers than gcc3.4, so using them is quite pleasant. And, yes, they show a waterfall of warnings (a good thing).
I guess I can work on the C++ libs after the release. Besides, I've been watching builds for two days and I have a headache. :)
bob
participants (7)
-
Bob Jamison
-
Bryce Harrington
-
Jon A. Cruz
-
MenTaLguY
-
Michael Wybrow
-
Ralf Stephan
-
Tavmjong Bah