Hi all, To the devlibs gurus: what is the status of GTK3 devlibs and, can we try and make them compatible with the latest TDM-GCC? It'd be nice to be able to use the latest gcc so we can use more C++11 in the future. I'm not sure how much help can I can provide, but if supplied with sufficiently detailed instructions, I don't mind compiling a lot.
Cheers, Johan
Hi Johan,
Le Mercredi 23 octobre 2013 0h10, Johan Engelen <jbc.engelen@...2592...> a écrit :
To the devlibs gurus: what is the status of GTK3 devlibs and, can we try and make them compatible with the latest TDM-GCC? It'd be nice to be able to use the latest gcc so we can use more C++11 in the future.
The latest Opensuse 13.1 cross-compiled libs are compiled with gcc-4.8.1. I'm currently updating the GTK3 devlibs (note despite the name, you can also use it with GTK2) so that we can test the latest updates and compile with TDM-GCC 4.8.1. I'll let you know when it's done (it requires some extra steps such as creating a specific build.xml file, modifying some headers, compiling some libs not in Opensuse repo...).
Regards, -- Nicolas
On 15-11-2013 11:34, Nicolas Dufour wrote:
Hi Johan,
Le Mercredi 23 octobre 2013 0h10, Johan Engelen <jbc.engelen@...2592...> a écrit :
To the devlibs gurus: what is the status of GTK3 devlibs and, can we try and make them compatible with the latest TDM-GCC? It'd be nice to be able to use the latest gcc so we can use more C++11 in the future.
The latest Opensuse 13.1 cross-compiled libs are compiled with gcc-4.8.1. I'm currently updating the GTK3 devlibs (note despite the name, you can also use it with GTK2) so that we can test the latest updates and compile with TDM-GCC 4.8.1. I'll let you know when it's done (it requires some extra steps such as creating a specific build.xml file, modifying some headers, compiling some libs not in Opensuse repo...).
Great, thanks. Building Inkscape with 4.8.1 required some funny name clashes, but in the end I found that it was caused by devlibs/include/pthread.h taking priority over tdm-gcc's own pthread.h. This meant that the huge windows.h was included, completely fouling up the namespace. Removing pthread.h from the devlibs improved things a lot, but I have not yet reverted all name changes I did, to see if they no longer crash.
If you get a compile error in src/graphlayout.cpp on this line connectors.insert<GSListConstIterator<SPItem *>>(connectors.end(),nlist,NULL); you can try changing it to connectors.insert<GSListIterator<SPItem *>>(connectors.end(),nlist,NULL); which solved the internal-compiler-error for me. (seems like a bug in the stdlibc++?)
Advice: first update all to work with gcc 4.8.1, then afterwards we can try to use Dwarf2 instead of SJLJ exception handling.
Cheers, Johan
Hi,
A new report dedicated to the GCC-4.8 port of the devlibs-gtk3 is available: https://bugs.launchpad.net/inkscape-devlibs/+bug/1252152 All the devlibs have been updated but Inkscape doesn't compile correctly yet (errors list attached to the report). I'm going to work on it this week.
Regards, -- Nicolas
Le Vendredi 15 novembre 2013 12h16, Johan Engelen <jbc.engelen@...2592...> a écrit :
On 15-11-2013 11:34, Nicolas Dufour wrote:
Hi Johan, Le Mercredi 23 octobre 2013 0h10, Johan Engelen <jbc.engelen@...360...2592...> a écrit :
To the devlibs gurus: what is the status of GTK3 devlibs and, can we
try and make them compatible with the latest TDM-GCC? It'd be nice to be able to use the latest gcc so we can use more C++11 in the future.
The latest Opensuse 13.1 cross-compiled libs are compiled with gcc-4.8.1. I'm currently updating the GTK3 devlibs (note despite the name, you can also use it with GTK2) so that we can test the latest updates and compile with TDM-GCC 4.8.1. I'll let you know when it's done (it requires some extra steps such as creating a specific build.xml file, modifying some headers, compiling some libs not in Opensuse repo...).
Great, thanks. Building Inkscape with 4.8.1 required some funny name
clashes, but in the end I found that it was caused by devlibs/include/pthread.h taking priority over tdm-gcc's own pthread.h. This meant that the huge windows.h was included, completely fouling up the namespace. Removing pthread.h from the devlibs improved things a lot, but I have not yet reverted all name changes I did, to see if they no longer crash.
If you get a compile error in src/graphlayout.cpp on this line connectors.insert<GSListConstIterator<SPItem *>>(connectors.end(),nlist,NULL); you can try changing it to connectors.insert<GSListIterator<SPItem *>>(connectors.end(),nlist,NULL); which solved the internal-compiler-error for me. (seems like a bug
in the stdlibc++?)
Advice: first update all to work with gcc 4.8.1, then afterwards we
can try to use Dwarf2 instead of SJLJ exception handling.
Cheers,
Johan
Hi Nicolas, I got it to work. In the process we found an initialization bug in the ellipse code :-)
I've only tried to draw a rectangle, so not a lot of testing done ;) The menu text looks pretty ugly !
Cheers, Johan
On 18-11-2013 7:49, Nicolas Dufour wrote:
Hi,
A new report dedicated to the GCC-4.8 port of the devlibs-gtk3 is available: https://bugs.launchpad.net/inkscape-devlibs/+bug/1252152 All the devlibs have been updated but Inkscape doesn't compile correctly yet (errors list attached to the report). I'm going to work on it this week.
Regards,
Nicolas
Le Vendredi 15 novembre 2013 12h16, Johan Engelen <jbc.engelen@...2592...> a écrit :
On 15-11-2013 11:34, Nicolas Dufour wrote:
Hi Johan, Le Mercredi 23 octobre 2013 0h10, Johan Engelen<jbc.engelen@...2592...> <mailto:jbc.engelen@...2592...> a écrit :
To the devlibs gurus: what is the status of GTK3 devlibs and, can we try and make them compatible with the latest TDM-GCC? It'd be nice to be able to use the latest gcc so we can use more C++11 in the future.
The latest Opensuse 13.1 cross-compiled libs are compiled with gcc-4.8.1. I'm currently updating the GTK3 devlibs (note despite the name, you can also use it with GTK2) so that we can test the latest updates and compile with TDM-GCC 4.8.1. I'll let you know when it's done (it requires some extra steps such as creating a specific build.xml file, modifying some headers, compiling some libs not in Opensuse repo...).
Great, thanks. Building Inkscape with 4.8.1 required some funny name clashes, but in the end I found that it was caused by devlibs/include/pthread.h taking priority over tdm-gcc's own pthread.h. This meant that the huge windows.h was included, completely fouling up the namespace. Removing pthread.h from the devlibs improved things a lot, but I have not yet reverted all name changes I did, to see if they no longer crash. If you get a compile error in src/graphlayout.cpp on this line connectors.insert<GSListConstIterator<SPItem *>>(connectors.end(),nlist,NULL); you can try changing it to connectors.insert<GSListIterator<SPItem *>>(connectors.end(),nlist,NULL); which solved the internal-compiler-error for me. (seems like a bug in the stdlibc++?) Advice: first update all to work with gcc 4.8.1, then afterwards we can try to use Dwarf2 instead of SJLJ exception handling. Cheers, Johan
Hi Johan,
Le Lundi 18 novembre 2013 22h59, Johan Engelen <jbc.engelen@...2592...> a écrit :
I got it to work. In the process we found an initialization bug in
the ellipse code :-)
I've only tried to draw a rectangle, so not a lot of testing done ;)
Most things seem to work except the features that require ImageMagick. And we still need to compile Aspell... Not a surprise. It's exactly what I noticed with the older devlibs-gtk3 (from the win32-gtk3.txt file):
====== TODO ====== 1. Fix the ImageMagick issues (crash when using the raster extensions). Tested again with IM6.8.2.2-2.1; still crashes, but not in the same call (in image->read(blob); instead of _images[_imageCount] = new Magick::Image(); in extension/internal/bitmap/imagemagick.cpp). 2. Compile and install Aspell (apparently broken, relocation issues). Or better, replace it with Enchant or Hunspell.
The menu text looks pretty ugly !
Confirmed. The font size is significantly bigger. I'm going to take a look.
Thanks for your help, Johan! Regards, -- Nicolas
participants (2)
-
Johan Engelen
-
Nicolas Dufour