Re: [Inkscape-devel] inkscape release 0.91, packaging win32
Hi mathog, +all
If you check the TDM MINGW GCC download page for the used gcc compiler http://tdm-gcc.tdragon.net/download you will see that you have to choose between: - GCC base files & C support — SJLJ exceptions.and - GCC base files & C support — DW2 exceptions.
If you choose the later one your application depends on ligcc_s_dw2-1.dll as well (and not the libgcc_s_sjlj-1.dll) Inkscape should be compiled using SJLJ stack unwinding.
I checked the WIKI about that point if the wiki akes a clear statement which compiler to use. Unfortunatelly I do not see a clear <use this mingw version>.
If someone can help clarifying this point.?
Regards,
Adib. --
On Tue, Apr 15, 2014 at 12:11 AM, mathog <mathog@...1176...> wrote:
On 14-Apr-2014 15:14, the Adib wrote:
mathog,
you are probably using an unsupported compiler. You should use a compiler with sjlj exception handling.
Pls check build.xml. This prepares libgcc_s_sjlj-1.dll to be copied to the inkscape directory. <copy todir="${dist}" file="${devlibs}/bin/libgcc_s_sjlj-1.dll"/>
All needed dlls are present after btool build procedere.
Inkscape directory has libgcc_s_sjlj-l.dll, but not ligcc_s_dw2-1 or libstdc++6, and those are not mentioned in the build.xml. Those two dll's are picked up because they are in mingw itself and the PATH is set to find them.
Well, I guess I can always copy them into inkscape\inkscape before making the installer.
Besides placing the program in C:\Program Files\ on the target system, what else does the installer do? Desktop icon, start list?
Thanks,
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech
You can get some clarifications here: http://qt-project.org/wiki/MinGW-64-bit
For the record, I use the SEH implementation only. I am using the mingw gcc 4.8.1 and not the TDM version.
On Tue, Apr 15, 2014 at 4:06 AM, the Adib <theadib@...400...> wrote:
Hi mathog, +all
If you check the TDM MINGW GCC download page for the used gcc compiler http://tdm-gcc.tdragon.net/download you will see that you have to choose between:
- GCC base files & C support — SJLJ exceptions.and
- GCC base files & C support — DW2 exceptions.
If you choose the later one your application depends on ligcc_s_dw2-1.dll as well (and not the libgcc_s_sjlj-1.dll) Inkscape should be compiled using SJLJ stack unwinding.
I checked the WIKI about that point if the wiki akes a clear statement which compiler to use. Unfortunatelly I do not see a clear <use this mingw version>.
If someone can help clarifying this point.?
Regards,
Adib.
On Tue, Apr 15, 2014 at 12:11 AM, mathog <mathog@...1176...> wrote:
On 14-Apr-2014 15:14, the Adib wrote:
mathog,
you are probably using an unsupported compiler. You should use a compiler with sjlj exception handling.
Pls check build.xml. This prepares libgcc_s_sjlj-1.dll to be copied to the inkscape directory. <copy todir="${dist}" file="${devlibs}/bin/libgcc_s_sjlj-1.dll"/>
All needed dlls are present after btool build procedere.
Inkscape directory has libgcc_s_sjlj-l.dll, but not ligcc_s_dw2-1 or libstdc++6, and those are not mentioned in the build.xml. Those two dll's are picked up because they are in mingw itself and the PATH is set to find them.
Well, I guess I can always copy them into inkscape\inkscape before making the installer.
Besides placing the program in C:\Program Files\ on the target system, what else does the installer do? Desktop icon, start list?
Thanks,
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech
Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
2014-04-15 11:50 GMT+02:00 Partha Bagchi <partha1b@...400...>:
You can get some clarifications here: http://qt-project.org/wiki/MinGW-64-bit
For the record, I use the SEH implementation only. I am using the mingw gcc 4.8.1 and not the TDM version.
This was very informative.
It looks like we need to keep using the SJLJ version of TDM-GCC to compile the 32-bit devlibs, and the regular MinGW version of GCC 4.8+ with SEH exception handling can be used to compile the 64-bit devlibs.
Regards, Krzysztof
On 15-4-2014 18:58, Krzysztof Kosiński wrote:
2014-04-15 11:50 GMT+02:00 Partha Bagchi <partha1b@...400...>:
You can get some clarifications here: http://qt-project.org/wiki/MinGW-64-bit
For the record, I use the SEH implementation only. I am using the mingw gcc 4.8.1 and not the TDM version.
This was very informative.
It looks like we need to keep using the SJLJ version of TDM-GCC to compile the 32-bit devlibs, and the regular MinGW version of GCC 4.8+ with SEH exception handling can be used to compile the 64-bit devlibs.
Sounds good. I'd like us to use C++11's threading mechanism too (making it future proof), so that would mean the POSIX threads version. Unfortunately, Clang does not support SEH yet (patent issue), but who knows in the not so distant future.
cheers, Johan
On 15-Apr-2014 01:06, the Adib wrote:
Inkscape should be compiled using SJLJ stack unwinding.
Why? There does not seem to be a consensus that SJLJ is in general better than DW2. See for instance:
http://stackoverflow.com/questions/318383/exception-handling-models-of-gcc
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech
2014-04-15 21:09 GMT+02:00 mathog <mathog@...1176...>:
On 15-Apr-2014 01:06, the Adib wrote:
Inkscape should be compiled using SJLJ stack unwinding.
Why? There does not seem to be a consensus that SJLJ is in general better than DW2. See for instance:
http://stackoverflow.com/questions/318383/exception-handling-models-of-gcc
Because DW2 simply does not work (program crash) when you throw an exception through a foreign stack, and Inkscape has a few places where this can and does happen.
Regards, Krzysztof
participants (5)
-
Johan Engelen
-
Krzysztof Kosiński
-
mathog
-
Partha Bagchi
-
the Adib