On 20.06.2016 15:56, Sebastian Faubel wrote:
Hello Everybody, in the upcoming Inkscape 0.92 release, the project has decided to switch from the current autotools build system to CMake. Because there is a large user base on the Windows platform, I am currently trying to get the program to compile and be ready for packaging. I am currently struggling with an issue that causes the program to raise a SIGSEGV as soon as it tries to load locale (.po/.mo) files - and I honestly ran out of ideas. May be someone with more experience with i18n and Gtk can help me with this issue. Here's the gdb output: Program received signal SIGSEGV, Segmentation fault. 0x00007ffa676ec530 in strcmp () from C:\WINDOWS\system32\msvcrt.dll (gdb) bt #0 0x00007ffa676ec530 in strcmp () from C:\WINDOWS\system32\msvcrt.dll #1 0x0000000068654fd9 in g_utf8_collate (str1=<optimized out>, str2=<optimized out>) at gunicollate.c:149 #2 0x0000000001136cc0 in Glib::operator== (lhs=..., rhs=...) at c:/devlibs64/include/glibmm-2.4/glibmm/ustring.h:1522
Does anything change if you change the .po/.mo files? Looking at the code, i see that glib calls g_utf8_normalize() on two arguments that g_utf8_collate() is given, and does not check the return values to not to be NULL. They could be NULL if input strings are not UTF-8. Therefore, fudging the input strings might affect the program's behaviour. Obviously, the best way is to have a version of glib compiled with debug symbols and maybe with -Og, and just debug the problem in gdb. -- O< ascii ribbon - stop html email! - www.asciiribbon.org
Attachment:
signature.asc
Description: OpenPGP digital signature