- OS X is migrating from GCC to CLANG (latest Xcode versions >= 4.2 no longer include Apple's GCC at all). It might be desirable to support building Inkscape using the system compiler on latest OS X versions (compiling Inkscape with custom GCC versions can cause known compatibility issues because the C++ libraries are built with a different compiler version [1]).
Drawbacks:
- Missing OpenMP support (?)
Current status:
Even though most of the reported 'non-POD element type' issues have been fixed in current trunk (and backported to 0.48.x), Inkscape still fails to build with clang:
1) autotools - configure.ac: configure fails
The check for the compiler version has 'gcc version' hardcoded and fails with clang. [2]
2) unsolved 'variable length array of non-POD element type' errors
- src/2geom/basic-intersection.cpp
- src/2geom/solve-bezier-parametric.cpp
«I think the problem is that ColorProfileImpl should be defined in the
Inkscape namespace instead of in the global namespace, so that it
matches its declaration in color-profile.h. The code has an using
declaration that pulls ColorProfileImpl into the global namespace and
it looks like GCC then allows defining the type in the scope of the
using declaration, but I doubt whether this is standards conforming.» [3]
Test system:
OS X 10.7.2, MacPorts 2.0.4 (up-to-date)
Inkscape 0.48+devel r11297
Clang versions tested:
- Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
- clang version 3.0 (tags/RELEASE_30/final) (MacPorts)
- clang version 3.1 (branches/release_31 155781) (MacPorts)
Follow-up report to /bugs.launchpad .net/inkscape/ +bug/889172>
Bug #889172 “Compile failure (clang): "variable length array" errors in box3d.cpp”
<https:/
Rationale: thread. gmane.org/ gmane.comp. graphics. inkscape. devel/36760/ focus=36767>
- «clang support is a good thing»
<http://
- OS X is migrating from GCC to CLANG (latest Xcode versions >= 4.2 no longer include Apple's GCC at all). It might be desirable to support building Inkscape using the system compiler on latest OS X versions (compiling Inkscape with custom GCC versions can cause known compatibility issues because the C++ libraries are built with a different compiler version [1]).
Drawbacks:
- Missing OpenMP support (?)
Current status:
Even though most of the reported 'non-POD element type' issues have been fixed in current trunk (and backported to 0.48.x), Inkscape still fails to build with clang:
1) autotools - configure.ac: configure fails
The check for the compiler version has 'gcc version' hardcoded and fails with clang. [2]
2) unsolved 'variable length array of non-POD element type' errors basic-intersect ion.cpp solve-bezier- parametric. cpp
- src/2geom/
- src/2geom/
3) blocker: failure to compile 'src/color- profile. cpp' www.graphicall. org/ftp/ ideasman42/ inkscape_ clang.html>
<http://
«I think the problem is that ColorProfileImpl should be defined in the
Inkscape namespace instead of in the global namespace, so that it
matches its declaration in color-profile.h. The code has an using
declaration that pulls ColorProfileImpl into the global namespace and
it looks like GCC then allows defining the type in the scope of the
using declaration, but I doubt whether this is standards conforming.» [3]
Test system:
OS X 10.7.2, MacPorts 2.0.4 (up-to-date)
Inkscape 0.48+devel r11297
Clang versions tested: clang-211. 12) (based on LLVM 3.0svn) 30/final) (MacPorts) release_ 31 155781) (MacPorts)
- Apple clang version 3.0 (tags/Apple/
- clang version 3.0 (tags/RELEASE_
- clang version 3.1 (branches/
--- wiki.inkscape. org/wiki/ index.php/ FAQ#On_ Linux.2C_ Inkscape_ crashes_ with_.22invalid _pointer. 22_message> trac.macports. org/ticket/ 31492> fink.cvs. sourceforge. net/fink/ dists/10. 7/stable/ main/finkinfo/ graphics/ inkscape. info?view= markup# l104> thread. gmane.org/ gmane.comp. graphics. inkscape. devel/37024/ focus=37060>
[1] <http://
[2] <http://
<http://
[3] <http://