Static link issue on Windows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I'm beating my head on the wall trying to get a dynamic memory debugger working with Inkscape on Windows.
A first attempt at Dr.Memory didn't work (it would not even run "inkscape -V" to completion). The documentation for
Dr. Memory says that it wants the applications to be linked with static libgcc and libstdc++. The problem is, inkscape wouldn't build like that (in build.xml, change all strip="true" to strip="false", and add
-static-libgcc -static-libstdc++
to the linker flags.) For some obscure reason these two lines in
src/ui/
943: if (!first) throw std::invalid_
946: if (!second) throw std::invalid_
cause a link problem.
multiple definition of `std::invalid_
Other people have seen this in other projects using mingw, like:
http://
Oddly other similar constructs like "throw std::logic_error" did not cause the same problem. The std::invalid_
throw "message";
and that allowed the link to complete.
This could be a bug in gcc, which is 4.6.2. If it is, it probably would do the same thing on other platforms should a static link
be attempted there.
Windows XP SP3
trunk 11289.
mingw was (re)installed with all new parts from sourceforge earlier in the week.
As it turned out, Dr. Memory did no better with "inkscape -V" when inkscape was linked using the static libraries. A bug report has been filed on Dr. Memory for this issue: http://
<off-topic>
mathog wrote in bug #989201:
> At this point I am opening the floor for suggestions about how to go forward from here.
and in bug #989972:
> I'm beating my head on the wall trying to get a dynamic memory
> debugger working with Inkscape on Windows.
Neither of these reports belong into the bug tracker at this stage IMHO: please move such discussions about best practices to develop and debug inkscape on a specific platform (Windows) to the mailing list 'inkscape-devel'.
</off-topic>